How to check and update one matrix by comparing the element of another matrix?

1 次查看(过去 30 天)
I have a matrix 10*3
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
now i want to check whether second and third column pairs are existing in another 10 by 2 matrix or not
example:
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
and if any pair from 10 by 3 matrix is not able to satisfy the condition will be removed.
for example:
in first row 1 2 3 -- 2 3 is available in 10*2 matrix so will keep that row as it is but if this condition is not satisfied, the entire row will be removed from 10*3 matrix
please please help me.

采纳的回答

Guillaume
Guillaume 2015-4-17
编辑:Guillaume 2015-4-17
Use ismember with the 'rows' option:
A = [1 2 3; 1 2 4; 1 2 5; 1 3 4; 1 3 5; 1 4 5; 2 3 4; 2 3 5; 2 4 5; 3 4 5];
B = [1 2; 2 3; 4 5]; %reduced second matrix so some rows of A are missing
isrowpresent = ismember(A(:, [2 3]), B, 'rows');
A(~isrowpresent, :) = [] %delete rows not present

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by