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