Extremwerte von Array bestimmen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
GMAch
User
Beiträge: 23
Registriert: Dienstag 4. September 2018, 07:32

Mittwoch 16. September 2020, 08:49

Hallo,

ich bin auf der Suche nach entweder:
- einer Funktion die mir numerisch von einem Array mit Messdaten die Lage der Extremwerte bestimmt,
- alternativ einer Funktion die mir eine Nummerische Ableitung durchführt und einer zweiten dir mir dann alle Nullstellen interpoliert

Ich hab jetzt auf die schnelle keine passenden Funktionen finden können (bzw. nur Suchresultate wo solche Funktionen als Programmierbeispiel oder Aufgabe gezeigt bzw. gestellt werden), aber ich kann mir irgendwie nicht vorstellen, dass es so was nicht in numpy oder scipy gibt.
Sirius3
User
Beiträge: 12747
Registriert: Sonntag 21. Oktober 2012, 17:20

Mittwoch 16. September 2020, 09:02

Extremwerte von Messungen zu finden ist nicht trivial. Was unterscheidet einen Extremwert von Rauschen?
einfachTobi
User
Beiträge: 211
Registriert: Mittwoch 13. November 2019, 08:38

Mittwoch 16. September 2020, 10:22

Wie Sirius schon sagt, ist das nicht so ganz einfach. Ein Extremwert kann ja verschieden definiert sein. Mögliche Herangehensweisen:
- Prüfen, ob ein Wert x % über dem Durchschnitt liegt:

Code: Alles auswählen

np.where(data > data.mean() * 1.50)
- Curvefitting und Extremwertbestimmung der resultierenden Funktion:
https://docs.scipy.org/doc/scipy/refere ... .curve_fit und https://docs.scipy.org/doc/scipy/refere ... e.minimize

- Harter Grenzwert

Code: Alles auswählen

np.where(data > 20)
-Werkzeuge von scipy.signal: https://docs.scipy.org/doc/scipy/reference/signal.html. Für einfache Fälle: find_peaks(......) oder argrelextrema(data, np.greater, order=5).

Die Liste ist sicherlich nicht abschließend. Es kommt halt stark darauf an, wie deine Messwerte aussehen und was für Extrema du erwartest.
Antworten