Find if two elements are in a row of a matrix

1 vue (au cours des 30 derniers jours)
AI-CHI Chang
AI-CHI Chang le 6 Mar 2022
Commenté : AI-CHI Chang le 6 Mar 2022
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 commentaires
Matt J
Matt J le 6 Mar 2022
So the answer is 1 2 4 5 in B.
Why is that the answer?
AI-CHI Chang
AI-CHI Chang le 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

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 6 Mar 2022
Modifié(e) : Stephen23 le 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
  1 commentaire
AI-CHI Chang
AI-CHI Chang le 6 Mar 2022
It is really helpful !! Thanks~

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by