Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
Pedro Guevara
Pedro Guevara le 22 Mai 2019
Commenté : Star Strider le 23 Mai 2019
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.

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by