在一个向量Matlab中组合矩阵列

时间:2013-08-21 14:37:42

标签: matlab

我有一个大小为4x1的矩阵A,如下所示,我想做的是有一个包含矩阵B元素的向量A,如下所示{{ 1}}所以,如果有人可以请建议

B= 145, 144, 192, 145, 197, 307, 143, 198, 309

3 个答案:

答案 0 :(得分:3)

在我看来A是一个单元格数组,而不是一个矩阵。在这种情况下,您可以执行以下操作:

B = [A{:}];

或者,因为A中的各个元素是示例中的列向量,

At = cellfun(@transpose, A, 'uniformoutput', false);
B = [At{:}];

或者只是

B = vertcat(A{:});

(感谢@horchler提醒我简单......)

答案 1 :(得分:1)

首先需要将A的所有元素转置为行:

A = cellfun(@transpose, A,'UniformOutput', false)   

然后水平连接(即[])以逗号分隔的列表(即{:}):

B = [A{:}]

答案 2 :(得分:1)

假设A的定义如下:

A={145
[144;192]
[145;197;307]
[143;198;309]}

您可以使用垂直连接:

vertcat(A{:})'

如果A中的向量被转置,您可以使用[]horzcat