Wissenschaftliches Programmieren mit Python

python-kurs cover
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:

Besuchen Sie die Seite von Python und laden Sie sich die neuste Programmdatei auf Ihren Rechner. Mit der Installation der Programmiersprache Python werden eine Entwicklungsumgebung (IDLE: Integrated Learning and Development Environment) und der Installationsmanager pip mit installiert.

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.

Das Modul NumPy können Sie mit dem Terminal-Befehl
pip3 install numpy
instalieren.

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.

Das Modul matplotlib können Sie mit dem Terminal-Befehl
pip3 install matplotlib
instalieren.

SciPy

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

Das Modul SciPy können Sie mit dem Terminal-Befehl
pip3 install scipy
instalieren.

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.

Das Modul SymPy können Sie mit dem Terminal-Befehl
pip3 install sympy
instalieren.

VPython

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

Das Modul VPython können Sie mit dem Terminal-Befehl
pip3 install vpython
instalieren.

Hinweis: Zur Zeit (April 2025) lässt sich VPython nicht auf Debian-Distributionen installieren.

Entwicklungsumgebungen

Als Entwicklungsumgebung (IDE: Integrated Development Environment) 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.

In der Entwicklungsumgebung Spyder sind bis auf VPython alle oben genannten Module bereits 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

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 Spyder als Entwicklungsumgebung nutzen. Denn die auf S. 360 beschriebene Installationsanweisung zu VPython ist nicht mehr aktuell.

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

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

Am 01.08.2024 ist die zweite Auflage erschienen. Folgende Verbesserungen wurden vorgenommen:

Downloadbereich

Der Python-Kurs für Ingenieure und Naturwissenschaftler

Die Quelltexte der zweiten Auflage "Der Python-Kurs für Ingenieure und Naturwissenschaftler" können Sie hier herunterladen.

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

Mathematische Algorithmen mit Python

Die Quelltexte der zweiten Auflage "Mathematische Algorithmen mit Python" können Sie hier herunterladen.


NumPy | Matplotlib | SciPy | SymPy | VPython | Literaturverzeichnis | Impressum