Accessing an array element whose subscript is stored in a vector

Hello Everybody,
Given an array e.g. A=[[1,2,3];[4,5,6];[7,8,9]]
I would like to access an element in the array, whose index is stored in a vector e.g. ind=[2,2]
A(ind(1),ind(2)) should return 5 and works fine, but only as long as the array is 2-dimensional. I would like to make this work for arbitrary dimensions (the vector would have the according dimension).
Thanks in advance,
Christian

 채택된 답변

Oleg Komarov
Oleg Komarov 2011년 4월 15일
A = [1,2,3
4,5,6
7,8,9];
% Add third dimension
A(:,:,2) = A+9;
% Index
ind = [2,3,2];
ind = num2cell(ind);
A(sub2ind(size(A),ind{:}))

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by