# Find the corresponding matrix

4 views (last 30 days)
Chenglin Li on 19 May 2023
Commented: Chenglin Li on 19 May 2023
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 on 19 May 2023
Edited: Askic V on 19 May 2023
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
Chenglin Li on 19 May 2023
Yes, that's what I want. Thank you very much！