给定下标数组访问多维数组的元素

时间:2014-02-20 05:39:24

标签: matlab multidimensional-array

给定一个多维数组A = MxMxMx...xM,其中ndims(A)=n和下标数组b=[a1, a2, ..., an]。如何获得A(a1, a2, a3, ..., an)?我试过了A(b)。这不是一个正确的方法。一个正确的方法是编写一个函数将下标数组转换为索引,说i,然后我们可以使用A(i)得到我想要的。有更简单的方法吗?

由于

1 个答案:

答案 0 :(得分:1)

我认为,最简单的方法是通过linear indexing,使用,例如sub2ind功能。

BasCell = num2cell(b);    
i = sub2ind(size(A), BasCell{:});
A(i); % access ith element in A, using linear indexing