我有一个单元格数组,每个单元格包含一个 3 列矩阵。

如何将所有这些矩阵堆叠在一起,以便有 3 个非常长的数据列?

我知道我可以这样做:

stacked_matrix = [cellArray{1,1} ; cellArray{1,2} ; cellArray{1,N}];

但我想避免手动写出所有内容,因为元胞数组是 1x40

最佳答案

您可以沿着第一个维度使用 cat 来实现这一点,如下所示:

cat(1,cellArray{:})

让我们测试一下:
>> cellArray{1} = [ 1  2  3];
>> cellArray{2} = [ 4  5  6];
>> cellArray{3} = [ 7  8  9];
>> cellArray{4} = [10 11 12];

>> stacked_matrix = cat(1,cellArray{:})

stacked_matrix =
     1     2     3
     4     5     6
     7     8     9
    10    11    12

关于matlab - 将元胞数组中的矩阵相互堆叠(MATLAB),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31907273/

10-15 16:28