Finding max value in intervals

11 views (last 30 days)
Marco Bosi
Marco Bosi on 9 Aug 2019
Commented: the cyclist on 9 Aug 2019
Good morning,
I'm postprocessing some field data and I need help in finding the max of a sinusoidal function in a defined interval.
Basically what I have to do is finding the maximun of a sinuoidal signal in a certain interval.
The code I'm using is the following:
t4=[0:1:t1-1];
findpeaks(Itot_up,t4,'MinPeakDistance',0.02)
But sadly it loks like it is not working. In the left picture (in red) is the point I would like to have, while the right one comes from the result. Does anyone know a way to help? Would also be helpfull if the all the data was saved somewhere, in order to have a plot with only the maxpeaks. Thanks. .
Best,
Marco

Answers (2)

the cyclist
the cyclist on 9 Aug 2019
Given your nicely separated peaks, I think you could simply use the 'MinPeakDistance' name-value pair, as was done in this example from the documentation. See the findpeaks documentation for details.

Marco Bosi
Marco Bosi on 9 Aug 2019
Thanks, I made it.
Now would it be possible to have a plot with only the maximum points (basically cleaning the graph and keep only the profile) and also having their values associated with an instant ? Thanks.
points.PNG
Marco
  1 Comment
the cyclist
the cyclist on 9 Aug 2019
I'm not sure I fully understand what you mean, but I would think you could make the plot using some combination of the outputs
[pks,locs,w,p]
that come from the findpeaks() function

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!