在一个向量Matlab中组合矩阵列
我有一个大小为4x1的矩阵a,如下所示,我想做的是a有一个包含矩阵Aas元素的向量B,如图所示,B=145,144,192,145,197,307,143,198,309,所以如果有人可以建议在一个向量Matlab中组合矩阵列,matlab,Matlab,我有一个大小为4x1的矩阵a,如下所示,我想做的是a有一个包含矩阵Aas元素的向量B,如图所示,B=145,144,192,145,197,307,143,198,309,所以如果有人可以建议 A= 145 [144;192] [145;197;307] [143;198;309] 在我看来,A是一个单元数组,而不是矩阵。在这种情况下,您可以执行以下操作: B = [A{:}]; 或者,因为在您的示例中,列中的各个元素都是向量 At = cellfun(@transpose, A, 'uni
A=
145
[144;192]
[145;197;307]
[143;198;309]
在我看来,A是一个单元数组,而不是矩阵。在这种情况下,您可以执行以下操作:
B = [A{:}];
或者,因为在您的示例中,列中的各个元素都是向量
At = cellfun(@transpose, A, 'uniformoutput', false);
B = [At{:}];
或者只是
B = vertcat(A{:});
感谢@horchler提醒我简单的…在我看来,A是一个单元数组,而不是矩阵。在这种情况下,您可以执行以下操作:
B = [A{:}];
或者,因为在您的示例中,列中的各个元素都是向量
At = cellfun(@transpose, A, 'uniformoutput', false);
B = [At{:}];
或者只是
B = vertcat(A{:});
感谢@horchler提醒我简单的…您首先需要将A的所有元素转置为行:
A = cellfun(@transpose, A,'UniformOutput', false)
然后水平连接,即[]一个逗号分隔的列表,即{:}:
您首先需要将所有元素转置为行:
A = cellfun(@transpose, A,'UniformOutput', false)
然后水平连接,即[]一个逗号分隔的列表,即{:}:
假设A的定义如下:
A={145
[144;192]
[145;197;307]
[143;198;309]}
可以使用垂直连接:
vertcat(A{:})'
如果A中的向量被转置,则可以使用[]或horzcat,假设A的定义如下:
A={145
[144;192]
[145;197;307]
[143;198;309]}
可以使用垂直连接:
vertcat(A{:})'
如果A中的向量被转置,可以使用[]或horzcat或vertcat。谁知道那个细胞是如何定向的,或者说是维特猫。谁知道该单元格是如何定向的。请注意,A实际上不是矩阵,可能是单元格数组。请澄清A是如何定义的。如前所述,您的矩阵每行的元素数参差不齐-这不是Matlab中的实际工作方式。请注意,A实际上不是矩阵,可能是单元数组。请澄清A是如何定义的。正如所写的那样,你的矩阵是参差不齐的,每行的元素数不同——这并不是它们在Matlab中的工作方式。