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

 Accepted Answer

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{:}))

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!