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.

 采纳的回答

answer = A(B)

1 个评论

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

请先登录,再进行评论。

更多回答(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 个评论

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 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by