To find values by using position vector

조회 수: 4 (최근 30일)
Xia
Xia 2015년 3월 18일
댓글: Xia 2015년 3월 18일
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일
  댓글 수: 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일
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!

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

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by