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

1 Ansicht (letzte 30 Tage)
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.

Akzeptierte Antwort

Star Strider
Star Strider am 22 Mai 2019
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 Kommentare
Pedro Guevara
Pedro Guevara am 22 Mai 2019
Works perfect companion, thank you very much for your huge help. :)
Star Strider
Star Strider am 23 Mai 2019
Again, as always, my pleasure.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by