how to find elements in an array

219 ビュー (過去 30 日間)
Chad Greene
Chad Greene 2014 年 2 月 18 日
コメント済み: Chad Greene 2014 年 2 月 18 日
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?

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 2 月 18 日
編集済み: Azzi Abdelmalek 2014 年 2 月 18 日
x = 1:100;
y = 201:300;
a = [250; 215; 283];
out=x(ismember(y,a))
  1 件のコメント
Chad Greene
Chad Greene 2014 年 2 月 18 日
Brilliant, thank you!

サインインしてコメントする。

その他の回答 (1 件)

Thomas
Thomas 2014 年 2 月 18 日
編集済み: Thomas 2014 年 2 月 18 日
x = 1:100;
y = 201:300;
a=[ 215 250 283];
c=ismember(y,a)
x(c)
should give you
15 50 83
  1 件のコメント
Chad Greene
Chad Greene 2014 年 2 月 18 日
thanks Thomas!

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by