Find common rows between two matrices with different number of columns
3 次查看(过去 30 天)
显示 更早的评论
I have two matrices A and B.
A = [1 2 3; 4 5 6; 7 8 9]
B = [1 3 20 2; 1 2 3 55; 7 8 9 10; 88 2 1 5]
and I need to extract the rows in B matrix with common elements in A matrix, row by row.
The result shall be like that:
common_rows = [1 3 20 2; 1 2 3 55; 7 8 9 10]
Thanks.
0 个评论
采纳的回答
Dyuman Joshi
2024-1-30
A = [1 2 3; 4 5 6; 7 8 9];
B = [1 3 20 2; 1 2 3 55; 7 8 9 10; 88 2 1 5];
%Indices of rows in B
idx = 1:size(B,1);
for k=idx
%If elements in a row of B are not common with all elements of any row
%in A, remove that row index
if ~any(all(ismember(A, B(k,:)),2))
idx = setdiff(idx, k);
end
end
idx
C = B(idx, :)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!