1

我有一个mxn矩阵。任何人都可以帮我制作一个由 n 列的成对减法产生的新矩阵吗?n 可以很大。

例如,A 是一个 3 x 4 矩阵

octave:39> A = [1, 2, 3, 4; 11, 22, 33, 44; 111, 222, 333, 444]

A =

     1     2     3     4
    11    22    33    44
   111   222   333   444

我想制作一个矩阵B:

octave:40> B = [A(:,1)-A(:,2), A(:,1)-A(:,3), A(:,1)-A(:,4), A(:,2)-A(:,3), A(:,2)-A(:,4), A(:,3)-A(:,4)]

B =

    -1    -2    -3    -1    -2    -1
   -11   -22   -33   -11   -22   -11
  -111  -222  -333  -111  -222  -111

感谢您的热心帮助!

4

1 回答 1

1
[m n]=size(a);
k=1;
b=zeros(m,nchoosek(n,2));
for i=1:n
  for j=i+1:n
    b(:,k)=a(:,i)-a(:,j);
    k=k+1;
  end
end
于 2013-09-07T17:27:13.910 回答