find local maxima around a point

10 visualizaciones (últimos 30 días)
Angela
Angela el 26 de Abr. de 2019
Respondida: Chris Turnes el 29 de Abr. de 2019
I have the following dataseries, shown below
example.jpg
I would like to find the edges of the peaks around X=7725 as marked.
I have managed to find the right peak (X=7738) using islocalmax and then taking the first index that is not zero.
However I have trouble find the X=7720 value, I can not use the same command. I thought of calculating the difference of X=7725 with all the points that are before it and then stop when the difference becomes positive but I was wondering if there is a more elegant way to do this.

Respuestas (1)

Chris Turnes
Chris Turnes el 29 de Abr. de 2019
If you can provide a MAT file with the data, it would be helpful in answering the question more concretely.
You should be able to do this with islocalmax. Once you've used whatever options you've used to identify your maximum point ('MinProminence', etc.), you can call islocalmax without any filtering options to get all the local maxima. This will be the set of all points that are strictly larger than their neighbors. The detected maxima immediately prior to your target maxima should be what you're looking for.

Categorías

Más información sobre Computer Vision with Simulink en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by