0
我想矩陣的列組合在一起,例如,列組合矩陣
A=[1,2,3;4,5,6]';B=[1,3,5;2,9,0]';
,我想
C1=[1,2,3;1,3,5]'
C2=[1,2,3;2,9,0]'
C3=[4,5,6;1,3,5]'
C4=[4,5,6;2,9,0]'
我該怎麼做,在MATLAB?有沒有這樣的功能?
謝謝!
我想矩陣的列組合在一起,例如,列組合矩陣
A=[1,2,3;4,5,6]';B=[1,3,5;2,9,0]';
,我想
C1=[1,2,3;1,3,5]'
C2=[1,2,3;2,9,0]'
C3=[4,5,6;1,3,5]'
C4=[4,5,6;2,9,0]'
我該怎麼做,在MATLAB?有沒有這樣的功能?
謝謝!
這應該做的伎倆:
A=[1,2,3;4,5,6]';
B=[1,3,5;2,9,0]';
Cs = [];
index = 0;
for i = 1:length(A(1,:))
for j = 1:length(B(1,:))
index += 1;
Cs(:,:,index) = [A(:,i), B(:,j)];
end
end
Cs
這是你想要的嗎?
[ii, jj] = ndgrid(1:size(A,2));
C = permute(cat(3, A(:,jj), B(:,ii)), [1 3 2]);
結果是一個三維陣列,使得(C(:,:,1)
是你C1
等:
C(:,:,1) =
1 1
2 3
3 5
C(:,:,2) =
1 2
2 9
3 0
C(:,:,3) =
4 1
5 3
6 5
C(:,:,4) =
4 2
5 9
6 0