Find items of a matrix using a per-column index

If
A = [1, 2, 3;
4, 5, 6]
and I have a per-column index.
idx = [2, 2, 1]
I want to find the items of A with the per-column index.
So the result I want is:
[4, 5, 3]
I know this can be done with a for loop, however, is there a way to do this without using loops?

 Accepted Answer

A = [1, 2, 3; 4, 5, 6];
idx = [2, 2, 1];
linearIndices = sub2ind(size(A), idx, 1:length(idx));
result = A(linearIndices)
result = 1×3
4 5 3
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

More Answers (0)

Categories

Products

Release

R2024a

Asked:

on 27 Jan 2025

Answered:

on 27 Jan 2025

Community Treasure Hunt

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

Start Hunting!