Finding local minimums/maximums for a set of data
古いコメントを表示
Hi, I have a set of data which oscillates between minimums and maximum values. The min and max values change slightly over time. I want to see the trend of changing of min and max values over time. In order to do that, it seems that I need to extract the local min and local maximums.
Is there any function to extract the local minimums and maximums of the following graph?
Thanks.

4 件のコメント
Martin Elenkov
2016 年 3 月 10 日
Is this Electrical Impedance Tomography(EIT) data? I have the same problem, where I have to determine the time interval where an dynamic Computed Tomography scan is made during the EIT. I thought I can determine the peak distances and then meet some kind of a decision to determine this time interval.
Here is my signal

Image Analyst
2016 年 3 月 10 日
Start your own question and explain more about what's in the red circles that you want. Otherwise just threshold and call diff() and look for +1 values.
binarySignal = signal > 2.56;
leadingEdges = find(diff(binarySignal) >= 1);
You can get the distance between leading edges by doing diff(leadingEdges).
Steev Mathew
2021 年 3 月 4 日
Thanks! This helped me a lot. I was looking for a way to filter out noise from my data.
Anupama V
2022 年 11 月 6 日
How to find the valley of a ppg signal?(secondary peak of a signal)
採用された回答
その他の回答 (5 件)
Steven Lord
2021 年 3 月 4 日
2 投票
For more recent releases take a look at the islocalmin, islocalmax, and (perhaps) detrend functions.
Si14
2012 年 7 月 26 日
2 件のコメント
Star Strider
2012 年 7 月 26 日
Thank you for accepting my answer!
Umesh Gautam
2023 年 5 月 11 日
It is working great.
Image Analyst
2012 年 7 月 22 日
編集済み: Image Analyst
2012 年 7 月 22 日
0 投票
If you have the Image Processing Toolbox, you can use imregionmax() and imregionalmin(). Do you have that toolbox? If you do that would be the simplest because it's just simply one line of code to find either the maxs or the mins.
You can also do it by seeing where the morphological max or min (performed by imdilate() and imerode() respectively) equals the original array. But again, that requires the Image Processing Toolbox.
Randy82
2014 年 8 月 13 日
0 投票
I have one question: Why do i have to multiply max(Data) with a factor 1.01?
1 件のコメント
Star Strider
2014 年 8 月 13 日
To keep all the values of the inverted vector > 0.
Prithisha K
2021 年 9 月 8 日
0 投票
Set the prominence window value to 25. Then increase the min.prominence value untill there are exactly 9 minima found.
カテゴリ
ヘルプ センター および File Exchange で Descriptive Statistics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!