How can I find the peak prominence of a specific set of data points?

3 visualizaciones (últimos 30 días)
Hello,
I am creating a code that takes a large section of data (~10^8 data points), divides the data into sections, and finds the maximum of each section. My result of that is this:
if PosPks =
15.2751 20.4965 37.7687 44.0004 13.0303 14.1818 19.9465 38.8933 15.9228 46.9948 13.3018 17.3097 42.3216 12.9795 16.8526 43.5099 33.7775
PosIdxTick =
Columns 1 through 14
4517849 9508124 12045698 19027549 19200001 28629574 33522452 34269688 43200000 44231017 52789827 57577043 59147043 66969600
Columns 15 through 17
71915940 76776514 76800001
(I have the value and location of the maxima). My next step is to find which of these maxima has a peak prominence of 12.
I know that the function
findpeaks(data,'MinPeakProminence',12)
could be used to find the peaks in my data that have a minimum prominence of 12, but I have ~10^8 data points, and that would take a long time for findpeaks to go over and do its work. I already have the maximum values I want (except it's an over-inclusive set of them), now I just want to extract the ones that have a peak prominence of 12 or higher. The problem is, I don't know how to find the peak prominence of a point. It is necessary to have surrounding data to determine the peak prominence.
So, is there a faster way to find the peak prominence of just these points?
Thank you, George

Respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by