Find the corresponding matrix

2 ビュー (過去 30 日間)
Chenglin Li
Chenglin Li 2023 年 5 月 19 日
コメント済み: Chenglin Li 2023 年 5 月 19 日
My matrix A is going to be an n by 4 matrix, and B is going to be an m by 1 column matrix, and I want to find all the columns in A and if B exists, then I want to represent the row number of A and extract the data from that row of A
For example:
A =[14 17 19 2
19 12 11 20
20 12 11 7
18 5 16 6];
B = [1;2;5;6;11;12;14;17;19;20];
The result should be :
index = 1 2;
data = [[14 17 19 2
19 12 11 20];
I wrote a program to show empty, do not know where the error
row_numbers = [];
for row=1:size(A, 1)
if all(ismember(B, A(row, :)))
row_numbers = [row_numbers row];
end
end
disp(row_numbers);

採用された回答

Askic V
Askic V 2023 年 5 月 19 日
編集済み: Askic V 2023 年 5 月 19 日
Is this what you need?
A =[14 17 19 2
19 12 11 20
20 12 11 7
18 5 16 6];
B = [1;2;4;5;6;11;12;14;17;19;20];
rA = size(A,1);
ind = ismember(B,1:rA);
M = A(B(ind),:)
M = 3×4
14 17 19 2 19 12 11 20 18 5 16 6
  1 件のコメント
Chenglin Li
Chenglin Li 2023 年 5 月 19 日
Yes, that's what I want. Thank you very much!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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