Number of peak values from the plot

2 次查看(过去 30 天)
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')

采纳的回答

Star Strider
Star Strider 2021-3-25
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 个评论
satwick guturu
satwick guturu 2021-3-26
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 ?
Star Strider
Star Strider 2021-3-26
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.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by