extracting a range of values from a vector

12 ビュー (過去 30 日間)
giuseppe insignito
giuseppe insignito 2020 年 11 月 18 日
コメント済み: HabenG 2021 年 12 月 1 日
I have an array indx = [ 1 7 4 8 11 6 3] and I need to extract from 1 (minimum) to 4 (maximum) of the actual value (Not the index!) of the elements of indx and put them into another array indx_w (wich results in this case = [1 3 4])
How to do it?
indx_w = ????
thanks!

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 11 月 18 日
編集済み: Ameer Hamza 2020 年 11 月 18 日
You can use logical indexing
indx = [ 1 7 4 8 11 6 3];
lb = 1;
ub = 4;
mask = (indx >= lb) & (indx <= ub);
indx_w = indx(mask)
If you also want the output to be sorted
indx_w = sort(indx_w)
  2 件のコメント
giuseppe insignito
giuseppe insignito 2020 年 11 月 18 日
I've found something even easier:
indx_w = indx(indx >= 1 & indx <= 4)
:)
HabenG
HabenG 2021 年 12 月 1 日
Clutch!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by