首页 文章

MATLAB索引矩阵的单元格数组中的所有单元格

提问于
浏览
0

我有一个单元格数组,其中每个单元格包含一个矩阵(不同的大小) . 我想,例如,采用矩阵的所有第二列提供如下命令:

aux = cArray{:}(:,2)

我想得到的结果是一个单元格数组,其中每个单元格包含原始矩阵的第二列,但命令不起作用(我甚至可以看到原因,因为cArray {:}的输出不是矩阵...)是否有一个紧凑的命令来获得我想要的东西,而不是一个循环填充单元格数组?

1 回答

  • 4

    它不起作用的原因是使用 {:} 索引单元格数组会产生comma-separated list,它不再可索引 . 您可以将其视为以逗号分隔的单元格数组的"unwrapped"内容 .

    你可以用cellfun实现你想要的目标:

    result = cellfun(@(x) x(:,2), cArray, 'uniformoutput', false);
    

    这将匿名函数 @(x) x(:,2) 应用于每个单元格的内容,并将结果打包到单元格数组中 .

相关问题