Find the corresponding matrix

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by