Find if two elements are in a row of a matrix

3 次查看(过去 30 天)
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