Wissenschaftliches Programmieren mit Python

python-kurs cover
mathematik cover

Python ist eine Skriptsprache, die sich besonders gut für die Programmierung wissenschaftlicher Anwendungen eignet. Durch den modularen Aufbau wird dem Ingenieur und Naturwissenschaftler ein Softwaresystem zur Verfügung gestellt, das sich gezielt an seinen spezifischen Bedürfnissen orientiert. Mit den Modulen NumPy, Matplotlib, SciPy und SymPy können fast alle Aufgabenstellungen aus der Ingenieurmathematik und den Naturwissenschaften mit geringem Aufwand gelöst werden. Da Python Programme mit einem Interpreter übersetzt werden, lassen sich leistungsstarke Prototypen in relativ kurzer Zeit entwickeln.

Eigenschaften von Python

Python verfügt über folgende Eigenschaften und Leistungsmerkmale. Python:

Module

Durch die Module (Programmbibliotheken) NumPy, Matplotlib, SciPy, SymPy und VPython kann die Funktionalität von Python erheblich verbessert werden.

NumPy

Mit dem Modul NumPy können Sie Matrizen multiplizieren, das Skalar- und Kreuzprodukt von Vektoren berechnen, lineare Gleichungssysteme lösen und Nullstellen von Polynomen berechnen lassen. Die Polynome können auch numerisch differenziert und integriert werden. NumPy wird (fast) immer zusammen mit dem Modul matplotlib genutzt.

Matplotlib

Mit dem Modul matplotlib können Funktionsplots, Animationen und interaktive Programme erstellt werden. Mit den Steuerelementen Button, Slider und Radiobutton lassen sich Programmabläufe interaktiv steuern. Das Erstellen von Kreis- und Balkendiagramme ist ebenfalls möglich.

SciPy

Mit dem Modul SciPy können Sie numerisch differenzieren und integrieren, Differenzialgleichungen numerisch lösen und umfangreiche statistische Berechnungen durchführen. Die Funktionalität ist in etwa vergleichbar mit MATLAB.

SymPy

Mit dem Modul SymPy können Sie die üblichen mathematischen Operationen symbolisch durchführen. Symbolisches Differenzieren und Integrieren gehört ebenso zum Standardumfang wie das symbolische Lösen von Differenzialgleichungen. Die Ergebnisse der symbolischen Berechnungen lassen sich als Funktionsplots mit der eingebauten plot-Methode von SymPy visualisieren. Die Funktionsumfang ähnelt den Computeralgebrasystemen (CAS) Maple, Mathematica oder Maxima. Wenn SymPy auch nicht die deren Leistungsfähigkeit erreicht, so kann es diesen Nachteil durch die flexible Einbindung in Python Programme teilweise wieder ausgleichen.

VPython

Mit dem Modul VPython können Animationen in 3D-Darstellung in einem Webbrowser durchgeführt werden.

Entwicklungsumgebung

Als Entwicklungsumgebung empfehle ich Thonny. Diese Entwicklungsumgebung hat den Vorteil, dass sich die Phyton-Module besonders einfach installieren und aktualisieren lassen. Sie steht für die Betriebssysteme Windows, macOS und Linux zur Verfügung. Wenn Sie sich für Thonny entscheiden, brauchen Sie sich um die Installation von Python nicht mehr zu kümmern. Denn Python wird immer mit installiert.

Der Python-Kurs für Ingenieure und Naturwissenschaftler

Das Buch behandelt typische Problemstellungen aus der Elektrotechnik (Netzwerke, Regelungstechnik), dem Maschinenbau (Animation eines Getriebes, Simulation eines Getriebeschadens, Qualitätsregelkarte), der Physik (Weg-Zeit-Gesetz, Schwingungen) und der theoretischen Biologie (Räuber-Beute-Modell, Epidemie).

Inhalt

1. Einführung, 2. Programmstrukturen, 3. Numerische Berechnungen mit Numpy, 4. Funktionsdarstellungen und Animationen mit Matplotlib, 5. Symbolische Berechnungen mit SymPy, 6. Numerische Berechnungen und Simulationen mit SciPy, 7. 3D-Grafik und Animationen mit VPython, 8. Rechnen mit komplexen Zahlen, 9. Statistische Berechnungen, 10. Boolesche Algebra, 11. Interaktive Programme mit Tkinter

Die in den folgenden Seiten vorgestellten Programmbeispiele stammen (fast) alle aus meinem Buch

"Der Python-Kurs für Ingenieure und Naturwissenschaftler".
Errata

Die korrigierten und verbesserten Quelltexte können Sie hier herunterladen.

Den korrigierten Quelltext für das Doppelpendel (Listing 6.23) können Sie hier herunterladen.

Wenn Sie die Programme des Moduls VPython testen wollen, dann sollten Sie Thonny und nicht Anaconda (Spyder) als Entwicklungsumgebung nutzen. Denn die auf S. 360 beschriebene Installationsanweisung zu VPython ist nicht mehr aktuell.

Am 06.09.2023 ist die 2. Auflage erschienen. Folgende Verbesserungen wurden vorgenommen:

Die Quelltexte der 2. Auflage können Sie hier herunterladen.

You can download the source code for the English edition here.

Mathematische Algorithmen mit Python

Das Buch beschreibt den Entwicklungsweg ausgewählter mathematischer Algorithmen von der Grobstruktur (Pseudocode) bis zur Feinstruktur (Python-Quelltext) eines Programms.

Wichtige mathematische Begriffe wie Differenzial und Integral werden dynamisch mit dem Slider-Steuerelement veranschaulicht (dynamische Mathematik).

Eine Besonderheit des Buches besteht darin, dass fast alle Abbildungen mit Matplotlib programmiert wurden.

Inhalt

1. Einführung, 2. Datentypen und Datenstrukturen, 3. Programmstrukturen, 4. NumPy, Matplotlib, SymPy, 5. Zahlen, 6. Gleichungssysteme, 7. Folgen, 8. Stetige Funktionen, 9. Differenzialrechnung, 10. Reihen, 11. Integralrechnung, 12. Differenzialgleichungen, 13. Ausgleichsrechnungen, 14. Algorithmen für die Berechnung statistischer Kennzahlen, 15. Fraktale

Die Quelltexte aus dem Buch "Mathematische Algorithmen mit Python" können Sie hier herunterladen.

NumPyMatplotlibSciPySymPyVPythonLiteraturverzeichnisImpressum