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.

 채택된 답변

the cyclist
the cyclist 2015년 3월 18일

0 개 추천

answer = A(B)

댓글 수: 1

Xia
Xia 2015년 3월 18일
Thank you so much. I must be too stupid to ignore the basic indexing. Thanks for your help!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Guillaume
Guillaume 2015년 3월 18일

0 개 추천

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

Xia
Xia 2015년 3월 18일
Thank you Guillaume. You are right it's really basic and I learned from you. Again thanks for your time my friend!

댓글을 달려면 로그인하십시오.

카테고리

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

질문:

Xia
2015년 3월 18일

댓글:

Xia
2015년 3월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by