I'm given a data set of over 7500 points (generated by an ECG) and I need to find all of the relative max and mins.

The data points are so close together that it increases and decreases with every data point and creates thousands of negligible changes. I need to single out the big changes. I am trying to use a method that will detect if a value at 'n' is greater than the previous 50 values and next 50 values. I do not want to write it out fully. i.e
if data(n) > data(n+1) && data(n+2) && ... && data(n+50)
fprintf('true')
end
I would like to consolidate that into a more efficient line of code.

Answers (1)

Have you tried the islocalmin and islocalmax functions (introduced in R2017b)? Specifically, check out the option for 'MinSeparation' to limit how closely local extrema may be detected to each other.

This question is closed.

Products

Release

R2017a

Tags

Asked:

on 30 Aug 2018

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!