Find if two elements are in a row of a matrix

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Matt J
Matt J il 6 Mar 2022
So the answer is 1 2 4 5 in B.
Why is that the answer?
AI-CHI Chang
AI-CHI Chang il 6 Mar 2022
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

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 6 Mar 2022
Modificato: Stephen23 il 6 Mar 2022
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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by