How do you find the max within a specified window?

8 views (last 30 days)
so i have a plot where i want to find the maximum point within that plot. There is a set window or parameter that i want to find the maximum point. How do I find the x and y value of the point with the specified windows? thank you!

Accepted Answer

Image Analyst
Image Analyst on 16 Jul 2012
Edited: Image Analyst on 16 Jul 2012
To find the max(es) within one specified window location:
[maxYValue maxXIndex] = max(signal(element1:element2));
where element1 and element2 say what element (index) you want to start and stop your window at.
Or, if you have the Image Processing Toolbox and you want to find the maximum in every window as it slides along your signal, then you can use imdilate().
allMaxes = imdilate(signal(element1:element2), ones(1, windowWidth));
  4 Comments
Image Analyst
Image Analyst on 14 Jul 2021
@Alan Keenan, not sure what you mean. You can still use max() on times, maybe not all styles of times but certainly serial date vectors. Post your data in a new question if you still have questions.
Alan Keenan
Alan Keenan on 14 Jul 2021
@ Image Analyst, the x axis is time from 0 to 6us. I want to use max(data) within two points in time, say between 2.0e-6 and 2.2e-6, however the expected syntax is element idices rather than time points. I will open a new question and thanks for your comments.

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 14 Jul 2021
Depending on whether you want the windows to overlap or not, the movmax function (which did not exist when the question was asked) may be of use as well.

Community Treasure Hunt

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

Start Hunting!