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!