我有一个A
大小为 4x1 的矩阵,如下所示,我想要做的是有一个B
包含矩阵元素的向量,如此处A
所示,B= 145, 144, 192, 145, 197, 307, 143, 198, 309
所以如果有人可以请指教
A=
145
[144;192]
[145;197;307]
[143;198;309]
我有一个A
大小为 4x1 的矩阵,如下所示,我想要做的是有一个B
包含矩阵元素的向量,如此处A
所示,B= 145, 144, 192, 145, 197, 307, 143, 198, 309
所以如果有人可以请指教
A=
145
[144;192]
[145;197;307]
[143;198;309]
It looks to me that A
is a cell array, not a matrix. In which case you can do the following:
B = [A{:}];
or, since the individual elements in A
are column vectors in your example,
At = cellfun(@transpose, A, 'uniformoutput', false);
B = [At{:}];
Or just
B = vertcat(A{:});
(Thanks @horchler for reminding me of the simple...)
假设A
定义如下:
A={145
[144;192]
[145;197;307]
[143;198;309]}
您可以使用垂直串联:
vertcat(A{:})'
如果 A 中的向量被转置,您可以使用[]
或horzcat
您首先需要将 A 的所有元素转置为行:
A = cellfun(@transpose, A,'UniformOutput', false)
然后水平连接(即[]
)一个逗号分隔的列表(即{:}
):
B = [A{:}]