2014-02-20 78 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