# Extracting specific values from a Matrix

5 views (last 30 days)
Antonio Sarusic on 21 Feb 2020
Commented: Antonio Sarusic on 21 Feb 2020
Hello,
I have a vector (1x1280; contains indices) and a matrix (1024x1280).
Now I want to extract for each column of the matrix, the value that is at the index contained in my index vector.
This may not be entirely understandable so here is an example:
In the first column of my vector I have the value 450. So I want to know what the value of my matrix in the first column in the row 450 is.
In the second column of my vector I have the value 837. So I want to know what the value of my matrix in the second column in the row 837 is.
And so on.
Thanks a lot
Antonio

Stephen23 on 21 Feb 2020
Edited: Stephen23 on 21 Feb 2020
Use sub2ind:
>> V = randi(1024,1,1280); % fake vector of row indices.
>> M = rand(1024,1280); % fake matrix of data.
>> S = size(M);
>> X = sub2ind(S,V,1:S(2));
>> Z = M(X);
And checking:
>> Z(1)
ans = 0.40058
>> M(V(1),1)
ans = 0.40058
Antonio Sarusic on 21 Feb 2020
Thanks