how to find elements in an array

18 vues (au cours des 30 derniers jours)
Chad Greene
Chad Greene le 18 Fév 2014
Commenté : Chad Greene le 18 Fév 2014
Given this:
x = 1:100;
y = 201:300;
a = 250;
I know that
x(y==a)
will return 50, the value of x corresponding to the y index where y = a. Now if a has multiple elements, I'd like to find all the values of x corresponding to all the values of y where y equals any of the values in a. For example, if
a = [250; 215; 283];
I'd like to efficiently get the array [50; 15; 83]. How can I do this?

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 18 Fév 2014
Modifié(e) : Azzi Abdelmalek le 18 Fév 2014
x = 1:100;
y = 201:300;
a = [250; 215; 283];
out=x(ismember(y,a))
  1 commentaire
Chad Greene
Chad Greene le 18 Fév 2014
Brilliant, thank you!

Connectez-vous pour commenter.

Plus de réponses (1)

Thomas
Thomas le 18 Fév 2014
Modifié(e) : Thomas le 18 Fév 2014
x = 1:100;
y = 201:300;
a=[ 215 250 283];
c=ismember(y,a)
x(c)
should give you
15 50 83
  1 commentaire
Chad Greene
Chad Greene le 18 Fév 2014
thanks Thomas!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Types dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by