Find if two elements are in a row of a matrix

조회 수: 4 (최근 30일)
AI-CHI Chang
AI-CHI Chang 2022년 3월 6일
댓글: AI-CHI Chang 2022년 3월 6일
I want to find two elements in A are also in B,and I would like to know B's index.
So the answer is 1 2 4 5 in B.
A=[1,3,7]
B=[1 8 3;
1 2 3;
3 4 5;
1 7 9
2 1 3];
This is what I tried.But clearly,it's not smart
find(B(:,1)==A(1,1)&B(:,2)==A(1,2))
find(B(:,1)==A(1,1)&B(:,3)==A(1,2))
find(B(:,2)==A(1,1)&B(:,3)==A(1,2))
(I can sort them and use ismember but it's still not intuitive. Any other function?)
  댓글 수: 2
Matt J
Matt J 2022년 3월 6일
So the answer is 1 2 4 5 in B.
Why is that the answer?
AI-CHI Chang
AI-CHI Chang 2022년 3월 6일
Sorry not clear. I just put on part of my solution. It's because B's 1 2 4 5 row have two of elements in A

댓글을 달려면 로그인하십시오.

채택된 답변

Stephen23
Stephen23 2022년 3월 6일
편집: Stephen23 2022년 3월 6일
A = [1,3,7];
B = [1,8,3;1,2,3;3,4,5;1,7,9;2,1,3];
V = find(sum(ismember(B,A),2)==2)
V = 4×1
1 2 4 5

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by