Compare 2 arrays with find()

4 vues (au cours des 30 derniers jours)
Rafael Luque
Rafael Luque le 5 Août 2019
Commenté : Star Strider le 5 Août 2019
I have 2 arrays:
x = 1:1:3;
Points = [1 3 2 1 1 3 4];
I would like to use find() function comparing each element of 'Points' array with full 'x' array.
It would be similar to do:
find(Points(1) == x)
find(Points(2) == x)
... one by one, but I would like to do it at once without looping. However I get error if I do:
find(Points == x)

Réponse acceptée

Star Strider
Star Strider le 5 Août 2019
The ismember function may do what you want:
x = 1:1:3;
Points = [1 3 2 1 1 3 4];
[~,Out] = ismember(Points, x)
producing:
Out =
1 3 2 1 1 3 0
Experiment with it to get the result you want.
  2 commentaires
Rafael Luque
Rafael Luque le 5 Août 2019
Perfect! Thank you
Star Strider
Star Strider le 5 Août 2019
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by