Index from one vector to different sized vector

1 回表示 (過去 30 日間)
koscar
koscar 2020 年 9 月 12 日
コメント済み: koscar 2020 年 11 月 20 日
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
Asad (Mehrzad) Khoddam 2020 年 9 月 12 日
% v1 the first vector
% v2 the matrix
[~, ~, i2] = intersect(v1, v2(:,1));
newMatrix = v2(t2,:);

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by