I have one matrix
a=
1 3 0
2 5 0
3 7 0
4 8 0
5 10 0
and another is
b=
5 10
3 7
I want to do find(a(:,1)=b(:,1) & a(:,2)==b(:,2) so that
5 10 0
3 7 0

 채택된 답변

Stephen23
Stephen23 2016년 2월 25일
편집: Stephen23 2016년 2월 25일

0 개 추천

You can use ismember to generate the logical indices. In the same order as a:
>> idx = ismember(a(:,1:2),b,'rows');
>> a(idx,:)
ans =
3 7 0
5 10 0
Or in the same order as b:
>> [~,idx] = ismember(b,a(:,1:2),'rows');
>> a(idx,:)
ans =
5 10 0
3 7 0

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기

태그

질문:

2016년 2월 25일

편집:

2016년 2월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by