How to index one array with the index of another array that meets a certain condition

64 ビュー (過去 30 日間)
I have two arrays that correspond to variables of a cloud. One is cloud type and the other is effective radius of the cloud droplet.
I want to find the indexes in the cloud type array where cloud type == 8 and then index my cloud droplet radius array to only show the values in the specific index where cloud type == 8. Can anyone help with this?
ex:
cloud_type = [0 0 6 8 8 5 1 8 2 2 8]
radius = [20 13 14 25 30 10 5 27 13 14 25]
out = [25 30 27 25]

採用された回答

Star Strider
Star Strider 2019 年 11 月 30 日
Try this:
cloud_type = [0 0 6 8 8 5 1 8 2 2 8];
radius = [20 13 14 25 30 10 5 27 13 14 25];
out = radius(cloud_type==8)
producing:
out =
25 30 27 25
  2 件のコメント
Kyle Vanlerberghe
Kyle Vanlerberghe 2019 年 11 月 30 日
Didn't think it was this simple. Thank you so much!
Star Strider
Star Strider 2019 年 11 月 30 日
As always, my pleasure!
This code uses ‘logical indexing’. See: Matrix Indexing for details.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLicensing on Cloud Platforms についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by