我有一个matlab代码,可以在矩阵之间生成不同的组合。我正在使用它作为更大的脚本的一部分。以下只是示例
A=[1,2,3,4];
B=[1,2,3,4];
for i=1:size(A,2);
for j=1:size(B,2);
C=[A(1,i),B(1,j)]
end
end
它将在Matrix A和Matrix B之间生成不同的可能组合,如下所示。
C =
1 1
C =
1 2
C =
1 3
C =
1 4
C =
2 1
C =
2 2
C =
2 3
C =
2 4
C =
3 1
C =
3 2
C =
3 3
C =
3 4
C =
4 1
C =
4 2
C =
4 3
C =
4 4
但在我的工作区变量中,C只显示(4,4),这是最后一个答案。如果我想在一个大矩阵中得到所有C答案
怎么办1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
.... etc (which will be 16,2 matirx). Thanks.
答案 0 :(得分:2)
您可以使用C=[C;A(1,i),B(1,j)];
连接矩阵。当然,这需要将C
初始化为空矩阵。在您的情况下,最终代码是:
A=[1,2,3,4];
B=[1,2,3,4];
C=[];
for i=1:size(A,2);
for j=1:size(B,2);
C=[C;A(1,i),B(1,j)];
end
end