Is there a built in function like MinPeakHeight but for maximum numbers?

6 views (last 30 days)
It would be something like MaxPeakHeight to find negative peaks. I have a random signal with positive and negative values and need to find negative peaks.

Answers (3)

Walter Roberson
Walter Roberson on 18 Mar 2022
Work with the negative of the signal; the most negative original signal would become the most positive on the transformed signal.

Image Analyst
Image Analyst on 18 Mar 2022
Walter is right. You just didn't understand. Here is some code to explain it. You can do
% Find peaks.
[peakValues, indexesOfPeaks] = findpeaks(signal); % Add options if you want.
% Find valleys. They will be peaks of the inverted signal.
[valleyValues, indexesOfValleys] = findpeaks(-signal); % Add options if you want.
% Now invert the values to make them upside down again.
valleyValues = -valleyValues;
Note it doesn't matter if your signal is all positive, all negative, or even crosses the y=0 axis so that it has both positive and negative values. The code above will work. There are some options (granted most of them are confusing) that can help you narrow down the peaks and valleys to just the ones you want.
  2 Comments
Image Analyst
Image Analyst on 18 Mar 2022
And I deleted your tags because this has nothing to do with compiling or the Coder product since you're not talking about building a standalone executable, or embedding your code into hardware (actual silicon on a standalone integrated circuit chip). So no embedding into silicon, no code generation, no compiling, etc. It's just a straightforward MATLAB program.

Sign in to comment.


Star Strider
Star Strider on 18 Mar 2022
Another option is the islocalmin function (introduced in R2017b).

Tags

Community Treasure Hunt

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

Start Hunting!