【问题标题】:How to generate matlab workspace variable in matrix format如何以矩阵格式生成matlab工作区变量
【发布时间】:2016-05-30 00:30:57
【问题描述】:

我有一个 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

它会在矩阵A和矩阵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. 

【问题讨论】:

  • 附注,你可以(在我看来最好)使用线性索引
  • 感谢您的建议。我试图使用“猫”功能。它可以连接具有不同名称的矩阵,但我仍然找不到如何连接一个变量的输出(在我的情况下,从每个循环连接 C。谢谢。

标签: matlab matrix


【解决方案1】:

您可以使用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

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多