MATLAB Answers

0

How can I find a vector in a matrix without using cycles?

Pedro Guevara さんによって質問されました 2019 年 5 月 22 日
最新アクティビティ Star Strider
さんによって コメントされました 2019 年 5 月 23 日
Good afternoon. The reason for my message is to ask for help with this problem. Let's say I have a matrix "called A" with 2 columns and -n- number of rows, and I need to look for a vector "B" (which is 1 row and 2 columns) within all the rows that make up "A". You must find the vector in a way that recognizes in a sense or in the opposite sense, then I show an example to better understand what I say.
A =
1 2
3 4
5 3
3 1
6 4
4 2
B=
4 6 -------------------> The vector B can also be inverted (6 4).
The result I expect to be told in which row is the vector "B" inside the matrix "A". for the example above I would expect the answer to be row 5
Thank you very much for your help.

  0 件のコメント

サインイン to comment.

製品


リリース

R2017b

1 件の回答

Star Strider
回答者: Star Strider
2019 年 5 月 22 日
 採用された回答

Try this:
A = [1 2
3 4
5 3
3 1
6 4
4 2];
B = [4 6];
Lidx = ismember(sort(A,2),sort(B,2),'rows')
rowNumber = find(Lidx)
producing:
Lidx =
6×1 logical array
0
0
0
0
1
0
rowNumber =
5

  4 件のコメント

Star Strider
2019 年 5 月 22 日
As always, my pleasure.
Pedro Guevara 2019 年 5 月 22 日
Works perfect companion, thank you very much for your huge help. :)
Star Strider
2019 年 5 月 23 日
Again, as always, my pleasure.

サインイン to comment.



Translated by