Index from one vector to different sized vector

2 views (last 30 days)
I have a 582x1 column vector and a 3190x2 matrix. I want to extract only those rows of the matrix whose column 1 entry has the same value as any entry in the 582 vector. I can't figure out how to index in this way. I tried changing the size of the column vector to 3190, but it still only compared the entries with the same indexes.

Accepted Answer

Walter Roberson
Walter Roberson on 12 Sep 2020
selected_rows = array3190(ismember(array3190(:,1), vector582),:);
  1 Comment
koscar
koscar on 20 Nov 2020
Thanks. I found that the interp function worked well for what I was trying to do.
data1 = interp1(array3190_col1,array3190_col2,vector582)

Sign in to comment.

More Answers (1)

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam on 12 Sep 2020
% v1 the first vector
% v2 the matrix
[~, ~, i2] = intersect(v1, v2(:,1));
newMatrix = v2(t2,:);

Community Treasure Hunt

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

Start Hunting!