how to find elements in an array

10 views (last 30 days)
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?

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 18 Feb 2014
Edited: Azzi Abdelmalek on 18 Feb 2014
x = 1:100;
y = 201:300;
a = [250; 215; 283];
out=x(ismember(y,a))

More Answers (1)

Thomas
Thomas on 18 Feb 2014
Edited: Thomas on 18 Feb 2014
x = 1:100;
y = 201:300;
a=[ 215 250 283];
c=ismember(y,a)
x(c)
should give you
15 50 83

Categories

Find more on Data Types in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!