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

0 votes

x = 1:100;
y = 201:300;
a = [250; 215; 283];
out=x(ismember(y,a))

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

Catégories

En savoir plus sur Data Types dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by