Effacer les filtres
Effacer les filtres

find local maxima around a point

3 vues (au cours des 30 derniers jours)
Angela
Angela le 26 Avr 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.

Réponses (1)

Chris Turnes
Chris Turnes le 29 Avr 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.

Catégories

En savoir plus sur Computer Vision with Simulink dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by