给定一个多维数组A = MxMxMx...xM
,其中ndims(A)=n
和下标数组b=[a1, a2, ..., an]
。如何获得A(a1, a2, a3, ..., an)
?我试过了A(b)
。这不是一个正确的方法。一个正确的方法是编写一个函数将下标数组转换为索引,说i
,然后我们可以使用A(i)
得到我想要的。有更简单的方法吗?
由于
答案 0 :(得分:1)
我认为,最简单的方法是通过linear indexing,使用,例如sub2ind功能。
BasCell = num2cell(b);
i = sub2ind(size(A), BasCell{:});
A(i); % access ith element in A, using linear indexing