MATLAB: How to Find Prominence of Peaks

graphsMATLABpeaksprominence;

Hi. I have a time series graph and I would like to find peaks as well as how prominent those peaks are. I know I can use findpeaks() with the 'MinPeakProminence' argument to find peaks with a minimum prominence, but is there a way of finding the prominence of those peaks without just iterating the function call each time with a different 'MinPeakProminence' value? Thanks.

Best Answer

Yes, the prominence is the fourth (and optional) output argument of findpeaks().
[pks,locs,w,p]=findpeaks(Data);
returns the prominences in p.
[pks,locs,w,p]=findpeaks(Data,'MinPeakProminence',1000);
finds peaks with prominence >=1000 and returns the prominences in p.