How to extract a vector from a matrix with indices?
Show older comments
I have for example an 3x2 matrix M. And I need the first element from the first row, second element from the second row, and first element from the third row. I have column indices in a vector [1 2 1], how to extract the vector from M?
Answers (1)
Star Strider
on 18 Apr 2018
Create a linear index with sub2ind, and use it to get the elements you want:
M = randi(99, 3, 2) % Create Matrix linidx = sub2ind(size(M), 1:size(M,1), [1 2 1]) % Linear Index Out = M(linidx)
M =
95 15
49 42
80 91
Out =
95 42 80
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!