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.

 Akzeptierte Antwort

the cyclist
the cyclist am 18 Mär. 2015

0 Stimmen

answer = A(B)

1 Kommentar

Xia
Xia am 18 Mär. 2015
Thank you so much. I must be too stupid to ignore the basic indexing. Thanks for your help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Guillaume
Guillaume am 18 Mär. 2015

0 Stimmen

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 Kommentar

Xia
Xia am 18 Mär. 2015
Thank you Guillaume. You are right it's really basic and I learned from you. Again thanks for your time my friend!

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

Xia
am 18 Mär. 2015

Kommentiert:

Xia
am 18 Mär. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by