我有一个大小为4x1的矩阵A
,如下所示,我想做的是有一个包含矩阵B
元素的向量A
,如下所示{{ 1}}所以,如果有人可以请建议
B= 145, 144, 192, 145, 197, 307, 143, 198, 309
答案 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