find local minima within a time window of interest

3 ビュー (過去 30 日間)
Melissa Jones
Melissa Jones 2021 年 11 月 11 日
回答済み: Star Strider 2021 年 11 月 11 日
To do the plot I have the X values and the Y values.
I need to find the local minima within a specific time-window (250-350) in the x axes.
How can I do it?

採用された回答

Star Strider
Star Strider 2021 年 11 月 11 日
To find the minimum using findpeaks, multiply the first argument (‘y’) by -1 so the minimum becomes a maximum. Do not use the second argument as ‘x’ so that ‘locs’ returns an index. Then, use the ‘locs’ output with the original ‘x’ and ‘y’ vectors to get those values.
.

その他の回答 (1 件)

Yongjian Feng
Yongjian Feng 2021 年 11 月 11 日
You first need to figure out idx range of X for 250-350. Called them idx_start and idx_end.
Then just
min(Y(idx_start:idx_end))
  4 件のコメント
Yongjian Feng
Yongjian Feng 2021 年 11 月 11 日
編集済み: Yongjian Feng 2021 年 11 月 11 日
Try this:
idx_start = find(X>=250, 1);
idx_end = find(X>=350, 1);
Adjust the condition above whether you want X>= or just X>.
Melissa Jones
Melissa Jones 2021 年 11 月 11 日
Thank you Yongjian, but i need to use the find_peaks function

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

カテゴリ

Help Center および File ExchangeDescriptive Statistics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by