如何创建列单元格,其中每个单元格包含矩阵

时间:2016-12-12 21:17:28

标签: matlab

我在Matlab中有一个函数需要作为输入

  

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

更准确地说,这个函数需要3个输入参数,前两个是列单元格,其中每个单元格包含一个SPD矩阵,但我不知道如何在Matlab中定义一个列单元格。我试过这个:

TestData(:,:,12) = T;

TestData应该是我的单元格列,T是应该在此列中的矩阵。对于我拥有的每个矩阵,我将它放在一个名为T的变量中,然后使用上面的命令将其添加到3D数组中。所以第一个矩阵在TestData(:,:,1),第二个矩阵在TestData(:,:,1),依此类推。当我使用TestData作为输入变量运行我的函数时,我收到此错误:

  

来自非单元格数组对象的单元格内容引用。

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

1 个答案:

答案 0 :(得分:2)

3D阵列一个单元格。如果您希望3D阵列的每个3D切片都是单独的单元格元素,则可以使用num2cell,然后调用squeeze以删除所有单例维度并使其成为N x 1单元格阵列。

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