假设一个矩阵有m行n列,记为A,那么有多少个不同的两行呢,有k = (m-1)*m/2个,这样就可以设定一个k行3列的数组B,第一列是选出来的两行中的第一行在A中的行号,第二列是选出来的两行中的第二行在A中的行号,第三列是对应这两行的相同元素的个数。
m = size(A,1);
n = size(A,2);
k = (m-1)*m/2;
B = zeros(k,3);
c = 0;
for i = 1:1:m-1
for j = i+1:1:m
c = c+1;
B(c,1) = i;
B(c,2) = j;
s1 = unique(A(i,:));
s2 = unique(A(j,:));
B(c,3) = numel(intersect(s1,s2));
end
end
温馨提示:答案为网友推荐,仅供参考