2014-02-20 70 views
1

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

感谢

回答

1

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

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