필터 지우기
필터 지우기

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