如何创建每个单元包含矩阵的列单元格



我在MATLAB中具有一个需要输入的功能

列单元,其中每个单元包含一个spd矩阵

更确切地说是此功能需要3个输入参数,前两个是列单元格,每个单元格包含一个SPD矩阵,但我不知道如何在MATLAB中定义列单元。我已经尝试过:

TestData(:,:,12) = T;

TestData应该是我的单元列,T是本列中应在此列中的矩阵。对于我拥有的每个矩阵,我将其放入一个称为T的变量中,然后使用上面的命令将其添加到3D数组中。因此,第一个矩阵在TestData(:,:,1)中,第二个矩阵在TestData(:,:,1)中等等。当我以TestData作为输入变量运行功能时,我会得到此错误:

单元格内容引用了非细胞数组对象。

所以我认为我没有正确定义单元列。

一个3D数组是不是单元格。如果您希望3D数组的每个3D切片是一个单独的单元格元素,则可以使用num2cell,然后使用squeeze的调用来删除所有Singleton dimensions,并将其作为N x 1单元格数组。

inputs = squeeze(num2cell(TestData, [1 2]));

最新更新