To find values by using position vector

Suppose matrix A=[1 3 5 7 9]. The position vector is known, which is, say, B=[ 3 4 ]. So the intended answer should be [ 5 7 ] which are elements at the 3rd and 4th places. Is there a function to achieve this? In fact the matrix A is high dimensional and there are many position vectors, and for loops seem not the most effective way...
Thanks in advance.

 Accepted Answer

answer = A(B)

1 Comment

Thank you so much. I must be too stupid to ignore the basic indexing. Thanks for your help!

Sign in to comment.

More Answers (1)

It's very basic matrix indexing:
A=[1 3 5 7 9];
B=[ 3 4 ];
C = A(B)
For N-d matrices, you may have to use sub2ind to go from coordinates to linear indices.

1 Comment

Thank you Guillaume. You are right it's really basic and I learned from you. Again thanks for your time my friend!

Sign in to comment.

Asked:

Xia
on 18 Mar 2015

Commented:

Xia
on 18 Mar 2015

Community Treasure Hunt

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

Start Hunting!