使用向量索引具有可变维数的单元数组

时间:2016-01-11 09:24:43

标签: arrays matlab indexing

在MATLAB中,有一个 N 维度单元格C,其中 N 是一个仅在运行时确定的整数。如何使用向量变量C访问id的特定元素?例如,对于N=3id=[1,5,2],如何以编程方式获取c{1,5,2}的内容?我不能将其硬编码为c{id(1),id(2),id(3)},因为N仅在运行时修复。

1 个答案:

答案 0 :(得分:2)

如果id是一个单元格数组,那么您可以利用sub2ind来使用comma separated list syntax,即。 {:},将可变数量的输入发送到sub2ind

id = {1,5,2};
ind = sub2ind(size(C), id{:})
c{ind}

如果id不是单元格数组(由于某种原因无法创建为单元格数组),请使用num2cell进行转换。