Specify a vecter, a minimum peak separation, and a minimum peak height, and this function will find the peaks.. about 250 times faster than findpeaks would!
Peter O'Connor (2021). PeakSeek (https://www.mathworks.com/matlabcentral/fileexchange/26581-peakseek), MATLAB Central File Exchange. Retrieved .
works great for my purpose(finding prominent peaks from a noisy signal). Thank you!
Its a nice effort, but it does not give the same result as findpeaks. It incorrectly reports peaks in three significant scenaries:
1 - there are consecutive equal data points, on an otherwise rising or falling slope - i.e. not a peak (all but one of the equal datapoints will be treated as a peak)
2 - there are consecutive equal data points at the bottom of a trough (all but the two edge points will be treated as peaks)
3 - there are consecutive equal data points on a peak (all points will be identified, when findpeaks will take only the first occurrence)
I managed to add the logic checks to cover off these scenarios, ,but in the process lost ALL the computational efficiency that this function appeared to provide.
does it also work for 2d and 3d array?
Much faster but does not give the same result as findpeaks. Deletes some peeks it should not. Gives incorrect and sub-optimal results.
Thank you for your file, Indeed it gives the same results as findpeaks (in my case) and it is much faster ! Great !
peakseek is faster than findpeaks 3 times! Nice!!!
Peakseek takes 0.45 s v. 11.27 s for findpeaks, using the same dataset (20716944 x 1 single). 5 stars!
why the number of input parameters is insufficient in my matlab?
Great job!Doing exactly what I expected!
Very efficient and reducing the calculating time by order of magnitude compared to findpeaks function.
Nice job! So much faster than findpeaks. Findpeaks = 1000 lines of code, you 30 for the same results (in my case).
has same problem as findpeaks...It can't detect peaks that exist at edges of vectors. Such a vector for example is [10 9 8 7 6 5] and the only peak it has is it's first value 10,but neither peakseek nor findpeaks can't detect it
Works well locating peaks in a Fourier spectrum, providing you have smoothed it enough. My only criticism is that the routine only accepts a row vector.
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!