# How can I find the local maximum and local minimum in my dataset?

1 ビュー (過去 30 日間)
Farnood83 2021 年 7 月 24 日
コメント済み: Image Analyst 2021 年 7 月 25 日
I have a dataset of Lateral Force vs Displacement from my experiments. I want to find the local maximums and local minimums in each set of data. Then I need to find the distance between the neighboring local minimum and local maximum. I attached some figures into my question and showed the local maximums and local minimums with circles. The local minimums have a black circle, and local minimums have a red circle.
Is it possible to use findpeaks or islocalmax? I think it might not be possible to use them because my data is not smooth.
Cheers,

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

### 採用された回答

Image Analyst 2021 年 7 月 24 日
Depends on exactly what you mean by local min or max, and I don't see any black or red circles in the picture you posted. You could try movmin()/imerode() or movmax()/imdilate() to get the min or min in a moving window. The local min in the window may not necessarily be a valley and the local max may not necessarily be a peak. To get peaks and valleys you'd need islocalmin/islocalmax (very simple determination) or findpeaks for a more comprehensive classification of what you call a peak or value. To get valleys you need to invert your signal
[peakValues, indexesOfPeaks] = findpeaks(signal);
[valleyValues, indexesOfValleys] = findpeaks(-signal);
valleyValues = -valleyValues; % Invert back to get the original, non-negated values.
There are a bunch of complicated options in findpeaks() to fine tune what you consder a peak or valley.
##### 4 件のコメント表示非表示 3 件の古いコメント
Image Analyst 2021 年 7 月 25 日
Well whatever you want to find, those are the functions that will do it.

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

### Community Treasure Hunt

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

Start Hunting!

Translated by