Index from one vector to different sized vector

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

selected_rows = array3190(ismember(array3190(:,1), vector582),:);

1 Comment

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)

% v1 the first vector
% v2 the matrix
[~, ~, i2] = intersect(v1, v2(:,1));
newMatrix = v2(t2,:);

Asked:

on 12 Sep 2020

Commented:

on 20 Nov 2020

Community Treasure Hunt

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

Start Hunting!