Я предполагаю, что A
- это массив только с 0 и 1.
Затем вы можете создать массив B nCol-by-nCol с «расстоянием» между столбцами, написав
B = A'*A; %'# B(i,j) = length(find((A(:,i)+A(:,j))==2))
%# threshold
largeIntersection = B >= u2;
%# find i,j of large intersections
[largeIJ(:,1),largeIJ(:,2)] = find(largeIntersection);
%# make sure we only get unique i,j pairs
largeIJ = unique(sort(largeIJ,2),'rows');