NumPy und SciPy
Notizen
- Die grundlegende Datenstruktur, die in NumPy definiert wird, ist ein ein- oder mehrdimensionales Objekt, das
ndarray
. Diese Arrays bieten dann eine einfache Möglichkeit, mathematische Operationen auf jedes Element anzuwenden. Gleich dimensionierte Arrays können auch addiert, subtrahiert, multipliziert und dividiert werden.
- NumPy definiert dann auch eigene Funktionen, z.B.
sin(x)
, die als Argument (neben einzelnen Zahlen) auch ganze ndarrays
annehmen.
- SciPy baut auf NumPy auf. Die umfangreichen Methoden, die SciPy zur Verfügung stellt, operieren in der Regel auf Datenobjekten vom Typ NumPy-Array. So ist es ohne große Umstände möglich, Funktionen numerisch nach Nullstellen oder Extremwerten zu untersuchen, zu integrieren, nichtlineare Fits an Messdaten durchzuführen u.v.a.m..
- Sehr hilfreich ist in diesem Zusammenhang dieses Tutorial, das auf einem Workshop zum Thema basiert. Die Vorlesungsinhalte finden Sie in den Abschnitten 1.3 und 1.6.5
- Das folgende kleine Programm demonstriert einige Möglichkeiten.
Aufgaben bis zum nächsten Mal
- Gehen Sie noch einmal oben angezeigte Skript numpy01.py durch und machen Sie sich die Bedeutung jeder Zeile klar!
- Modifizieren Sie den Fit so, dass die simulierten Messdaten jetzt 2000 Wertepaare enthalten und das Rauschen 10fach größer ist. Experimentieren Sie auch mit verschiedenen Startwerten für die Fitparameter.
- Erweitern Sie die Funktionen
f(x)
und f2(x)
um ein lineares Glied -x
! Suchen Sie die Nullstellen und Minima, und passen Sie den Fit so an, dass auch dieser dritte Parameter (mit unbekanntem Anstieg) bestimmt wird!