我想组合矩阵列,例如
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中做到这一点?有没有这样做的功能?
谢谢!
答案 0 :(得分:1)
这应该可以解决问题:
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
答案 1 :(得分:0)
这是你想要的吗?
[ii, jj] = ndgrid(1:size(A,2));
C = permute(cat(3, A(:,jj), B(:,ii)), [1 3 2]);
结果是一个3D数组,(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