使用索引

时间:2016-11-30 09:33:05

标签: arrays matlab indexing cells cell-array

问题是: 我有一个相同大小的单元格数组(MyCellArray)和索引(IdxCellArray)的单元格数组,其中每个单元格包含相应单元格MyCellArray的索引。 有没有办法获得由{MyCellArray)索引的IdxCellArray元素的单元格数组输出?。
MyCellArray{IdxCellArray}不起作用。

准确地说,假设两种情况:在第一种情况下,我有一个具有以下结构的单元阵列:

MyCellArray: 2x3
[50x1] [50x1] [50x1]
[76x1] [76x1] [76x1]

IdxCellArray: 2x3
[20x1] [20x1] [20x1]
[21x1] [21x1] [21x1]

每个IdxCellArray行标记相同的索引。即repmat(IdxCellArray(:,1),1,3)将完全返回IdxCellArray。 对于每个单元格包含不同向量的MyCellArray,情况并非如此 对于第二种情况,我的数组有更多通用结构:

MyCellArray: 2x3
[53x1] [50x1] [52x1]
[75x1] [71x1] [78x1]

IdxCellArray: 2x3
[11x1] [10x1] [21x1]
[15x1] [18x1] [22x1]

1 个答案:

答案 0 :(得分:2)

您需要cellfun

out = cellfun(@(x,y) x(y), MyCellArray, IdxCellArray, 'uni', 0)