在MATLAB中,有一个 N 维度单元格C
,其中 N 是一个仅在运行时确定的整数。如何使用向量变量C
访问id
的特定元素?例如,对于N=3
和id=[1,5,2]
,如何以编程方式获取c{1,5,2}
的内容?我不能将其硬编码为c{id(1),id(2),id(3)}
,因为N
仅在运行时修复。
答案 0 :(得分:2)
如果id
是一个单元格数组,那么您可以利用sub2ind
来使用comma separated list syntax,即。 {:}
,将可变数量的输入发送到sub2ind
id = {1,5,2};
ind = sub2ind(size(C), id{:})
c{ind}
如果id
不是单元格数组(由于某种原因无法创建为单元格数组),请使用num2cell
进行转换。