Index from one vector to different sized vector

1 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2020-9-12
selected_rows = array3190(ismember(array3190(:,1), vector582),:);
  1 个评论
koscar
koscar 2020-11-20
Thanks. I found that the interp function worked well for what I was trying to do.
data1 = interp1(array3190_col1,array3190_col2,vector582)

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by