Number of peak values from the plot

I have the peak values for the following graph ..but i need the number of peak values in the plot.
load engine_run.dat
engine_state = engine_run(:,1);
time = engine_run(:,2);
findpeaks(time,engine_state)
xlabel('time')
ylabel('engine state')
title('Find All Peaks')

 Accepted Answer

Use findpeaks with outputs:
[pks,locs] = findpeaks(time,engine_state);
The number of peaks will be:
numPeaks = numel(pks)
The ‘locs’ output will be the times they occurred.

4 Comments

Thank you so much.
As always, my pleasure!
And can you help with this..?
If there are more than two peaks for every five seconds.. then they'll be equal to zero or else 1.
How do i implement this ?
I would use the diff function on the locs output and then see if any of those values are less than five seconds.
If they are, then using that result catgorize them as either 0 or 1, depending on whatever criteria you are using.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!