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.
Extremwerte von Array bestimmen
-
- User
- Beiträge: 510
- Registriert: Mittwoch 13. November 2019, 08:38
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:
- 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
-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.
- Prüfen, ob ein Wert x % über dem Durchschnitt liegt:
Code: Alles auswählen
np.where(data > data.mean() * 1.50)
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)
Die Liste ist sicherlich nicht abschließend. Es kommt halt stark darauf an, wie deine Messwerte aussehen und was für Extrema du erwartest.