1

我有一个A大小为 4x1 的矩阵,如下所示,我想要做的是有一个B包含矩阵元素的向量,如此处A所示,B= 145, 144, 192, 145, 197, 307, 143, 198, 309所以如果有人可以请指教

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

3 回答 3

3

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...)

于 2013-08-21T14:40:32.657 回答
1

假设A定义如下:

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

您可以使用垂直串联:

vertcat(A{:})'

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

于 2013-08-21T14:47:27.890 回答
1

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

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

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

B = [A{:}]
于 2013-08-21T14:42:45.970 回答