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. Aus diesem stammen auch die vorgestellten Beispiele zur Nullstellen- und Extremwertbestimmung sowie zum Kurvenfitten.

  • Ein sehr gutes und online auch kostenlos verfügbares Buch mit vielen direkt als Skript nachvollziehbaren Beispielen ist das Python Data Science Handbook.

  • Die folgenden Programme demonstrieren einige Möglichkeiten:

    • Programm 1 enthält die Demonstration aus der Vorlesungen zu einigen Möglichkeiten der linearen Algebra mit NumPy. (b_matrix_od.txt, coeff_matrix_od.txt)

    • Programm 2 zeigt die Bestimmung von Minima und Nullstellen einer eindimensionalen Funktion.

    • Programm 3 zeigt das Fitten einer Messwertreihe an eine parametrisierte Funktion.

Aufgaben bis zum nächsten Mal

  • Installieren Sie, wenn möglich, die Anaconda-Python-Distribution auf ihrem Rechner. Darin sind alle wichtigen Pakete für die wiss. Anwendungen enthalten, und die Nutzung ist komfortabler als auf replit. Im Startmenü sollte dann auch ein Link für die Entwicklungsumgebung „Spyder“ auftauchen, der ein Arbeiten ähnlich wie auf replit erlaubt (Editor links, Ausgaben auf der Konsole rechts).

  • Bearbeiten Sie „Hausaufgabe 10: NumPy, SciPy“ auf replit.com!