关于Matlab:将单元的元素合并为矩阵

Combine elements of a cell into a matrix

我有一个单元格(称为AA),其中包含1行* 36列(如所附图像所示)

AA Cell

我们可以看到该单元格中的每一列都是一个矩阵(每列内有1 * 3个数据点)

在MATLAB中我需要一个具有36行* 3列的数组

例如,

单元格中的第一列将转换为1行和三列,单元格中的第二列将以相同的方式转换,最后将它们全部放在一起,以生成包含36行的数组和3栏

如本例所示

1
2
3
4
5
-1.48247427405830e-15   0.185513882360673   -0.185513882360676

-9.59200039657764e-16   0.211729497802758   -0.211729497802760

3.69087930153418e-16    0.224791092084074   -0.224791092084073

您可以仅使用cat来连接行,并使用{:}索引来创建逗号分隔的列表

1
output = cat(1, AA{:})


除了绅士Suever的回答外,这两种方法也可以用来解决相同的问题

1
output =cell2mat(AA(:))

或更简单地说,

1
   output = vertcat(AA{:})