我有一个 m x n 矩阵。有人可以帮我制作一个新的矩阵,由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
感谢您的帮助!
答案 0 :(得分: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