Inhaltsverzeichnis

Aus dem Lektorat

Inhaltsverzeichnis

Materialien zum Buch

1   Einführung

1.1   Entwicklungsumgebungen

1.1.1   IDLE

1.1.2   Thonny

1.2   Die Installation der Module

1.3   Schlüsselwörter von Python

1.4   Maschinengenauigkeit, Rundungsfehler und Stellenauslöschung

1.4.1   Maschinengenauigkeit

1.4.2   Rundungsfehler

1.4.3   Stellenauslöschung

1.5   Algorithmenbegriffe

1.6   Übungen

2   Datentypen und Datenstrukturen

2.1   Tupel

2.1.1   Exkurs: Elementare Datentypen von Python

2.1.2   Würfelsimulation

2.1.3   Vertauschen von Objekten

2.2   Set

2.2.1   Mengenlehre

2.2.2   Vereinigungsmenge

2.2.3   Schnittmenge

2.2.4   Differenzmenge

2.3   Liste

2.4   Dictionary

2.5   Zusammenfassung

2.6   Aufgaben

3   Programmstrukturen

3.1   Mathematische Operatoren

3.2   Die lineare Programmstruktur

3.3   Verzweigungsstrukturen

3.3.1   Einfachauswahl

3.3.2   Mehrfachauswahl

3.4   Wiederholstrukturen

3.4.1   Die while-Schleife

3.4.2   Die for-Schleife

3.5   Operation auf Vektoren und Matrizen

3.5.1   Skalarprodukt

3.5.2   Addition von Matrizen

3.5.3   Multiplikation von Matrizen

3.6   Unterprogrammtechnik mit Funktionen

3.6.1   Eingebaute Funktionen

3.6.2   Selbst erstellte Funktionen

3.6.3   Funktionen mit einem Rückgabewert

3.6.4   Funktionen mit mehreren Rückgabewerten

3.6.5   Namensraum

3.6.6   Rekursion: Eine Funktion ruft sich selbst auf

3.7   Einen Algorithmus optimieren

3.7.1   Binäre Exponentiation

3.7.2   Das Horner-Schema

3.8   Objektorientierte Programmierung

3.8.1   Definition einer Klasse

3.8.2   Vererbung

3.9   Laufzeitanalyse

3.9.1   Messen der Laufzeit

3.9.2   Komplexitätsklassen

3.10   Aufgaben

4   Die Python-Erweiterungsmodule NumPy, Matplotlib, SymPy und SciPy

4.1   NumPy

4.1.1   Wichtige NumPy-Funktionen

4.1.2   Wertetabellen für mathematische Funktionen erstellen

4.1.3   Die Datenstruktur von ndarray

4.1.4   Rechnen mit Matrizen

4.2   Matplotlib

4.2.1   Die objektorientierte API

4.2.2   Funktionsplot mit Beschriftungen

4.2.3   Unterdiagramme

4.2.4   Das Slider-Steuerelement

4.2.5   Funktionsplotter

4.3   SymPy

4.3.1   Symbolische Operationen mit Matrizen

4.3.2   Symbolisches Differenzieren und Integrieren

4.4   SciPy

4.5   Aufgaben

5   Zahlen

5.1   Natürliche und ganze Zahlen

5.1.1   Teilbarkeit

5.1.2   Division mit Rest

5.1.3   Der euklidische Algorithmus

5.1.4   Der erweiterte euklidische Algorithmus

5.1.5   Primzahlen

5.1.6   RSA-Verschlüsselung

5.2   Rationale Zahlen

5.3   Irrationale Zahlen

5.4   Transzendente Zahlen

5.4.1   Die Kreiszahl π

5.4.2   Die eulersche Zahl e

5.5   Aufgaben

6   Gleichungssysteme

6.1   Lineare Gleichungssysteme

6.1.1   Lösbarkeit eines linearen Gleichungssystems

6.1.2   Der Gauß-Algorithmus

6.1.3   Der Gauß-Jordan-Algorithmus

6.1.4   Lösung mit Determinanten: Die cramersche Regel

6.1.5   Lösung mit der Inversen einer Matrix

6.1.6   Lösung mit der NumPy-Funktion solve()

6.1.7   Lösung mit SymPy-Methoden

6.2   Iterative Verfahren

6.2.1   Das Jacobi-Verfahren

6.2.2   Das Gauß-Seidel-Verfahren

6.2.3   Konvergenzverhalten

6.3   Nichtlineare Gleichungssysteme

6.3.1   Lösung mit SciPy

6.3.2   Lösung mit SymPy

6.4   Aufgaben

7   Folgen

7.1   Divergente Folgen

7.2   Differenzfolgen

7.3   Konvergente Folgen

7.4   Rekursive Folgen

7.5   Geometrische Folgen

7.6   Der Grenzwert von Folgen

7.6.1   Grenzwertdarstellung im Koordinatensystem

7.6.2   Symbolische Berechnung des Grenzwertes

7.7   Aufgaben

8   Nullstellen berechnen

8.1   Bisektionsverfahren

8.2   Fixpunktverfahren

8.3   Newton-Verfahren

8.4   Vergleich der Verfahren

8.5   Numerische Berechnung mehrerer Nullstellen

8.6   Aufgaben

9   Numerische Differenziation

9.1   Simulation des Grenzwertprozesses

9.2   Tangentengleichung

9.3   Vorwärts-, Rückwärts- und zentraler Differenzenquotient

9.3.1   Vorwärtsdifferenzenquotient

9.3.2   Rückwärtsdifferenzenquotient

9.3.3   Der zentrale Differenzenquotient

9.3.4   Differenzenquotienten mit selbst erstellten Funktionen berechnen

9.4   Optimale Schrittweite

9.5   Höhere Ableitungen

9.5.1   Höhere Ableitungen aus vorgegebenen Formeln berechnen

9.5.2   Höhere Ableitungen aus der 1. Ableitung berechnen

9.5.3   Höhere Ableitungen mit dem erweiterten Horner-Schema berechnen

9.5.4   Höhere Ableitungen mit dem Modul Numdifftools berechnen

9.6   Kurvendiskussion

9.6.1   Statische Darstellung von Extremwerten und Wendepunkt

9.6.2   Kriterien für Extremstellen

9.6.3   Simulation der Tangentensteigung für ein Polynom 3. Grades

9.6.4   Kurvendiskussion mit Numdifftools

9.6.5   Kurvendiskussion mit SymPy

9.6.6   Umgekehrte Kurvendiskussion

9.7   Aufgaben

10   Reihen

10.1   Divergierende Reihen

10.1.1   Die Reihe der Quadratzahlen

10.1.2   Harmonische Reihe

10.2   Konvergente Reihen

10.2.1   Die eulersche Zahl e

10.2.2   Vergleich von Konvergenzgeschwindigkeiten

10.2.3   Konvergenzkriterien

10.3   Geometrische Reihen

10.4   Potenzreihen und die Taylor-Entwicklung

10.4.1   Potenzreihen

10.4.2   Taylor-Entwicklung

10.5   Aufgaben

11   Numerische Integration

11.1   Das Problem der Flächenberechnung

11.1.1   Simulation eines bestimmten Integrals

11.1.2   Simulation des Fehlers

11.2   Verfahren der Flächenberechnung

11.2.1   Die summierte Mittelpunktregel

11.2.2   Die summierte Trapezregel

11.2.3   Das Simpson-Verfahren

11.2.4   Vergleich der Verfahren

11.3   Bogenlängen

11.4   Rotationskörper

11.5   Zweifachintegrale

11.5.1   Zweifachintegrale mit konstanten Integrationsgrenzen

11.5.2   Zweifachintegrale mit variablen Integrationsgrenzen

11.6   Aufgaben

12   Differenzialgleichungen

12.1   Das eulersche Polygonzugverfahren

12.2   Richtungsfelder

12.3   Differenzialgleichungen 1. Ordnung

12.3.1   Die konstante Wachstumsrate

12.3.2   Die konstante Wachstumsrate mit oberer Wachstumsschranke

12.3.3   Die logistische Wachstumsrate

12.4   Nichtlineare Differenzialgleichungen 2. Ordnung

12.5   DGL-System für ein gekoppeltes Fadenpendel

12.6   DGL-System mit zwei Unbekannten

12.7   DGL-System mit drei Unbekannten

12.8   Optimierungen des Euler-Verfahrens

12.8.1   Das Heun-Verfahren

12.8.2   Das vierstufige Runge-Kutta-Verfahren

12.8.3   Vergleich der Verfahren

12.9   Lösung von Differenzialgleichungen mit SciPy

12.10   Lösen von Differenzialgleichungen mit Sympy

12.11   Aufgaben

13   Ausgleichsrechnungen

13.1   Lineare Ausgleichsprobleme

13.1.1   Lösung mit linearen Gleichungssystemen

13.1.2   Lösung mit dem Vektoransatz

13.1.3   Lösung mit dem erweiterten Vektoransatz

13.1.4   Anwendungsbeispiel: Bremsweg

13.1.5   Anwendungsbeispiel: Planetenbahn

13.2   Nichtlineare Ausgleichsprobleme

13.2.1   Exponentialfunktion

13.2.2   Potenzfunktion

13.3   Aufgaben

14   Algorithmen für die Berechnung statistischer Kennzahlen

14.1   Normalverteilte Zufallszahlen erzeugen

14.1.1   Histogramm

14.1.2   Normalverteilung

14.2   Lageparameter

14.2.1   Modus

14.2.2   Median

14.2.3   Arithmetischer Mittelwert

14.2.4   Harmonischer Mittelwert

14.2.5   Geometrischer Mittelwert

14.3   Streuparameter

14.3.1   Spannweite

14.3.2   Standardabweichung

14.4   Strukturparameter

14.4.1   Schiefe

14.4.2   Wölbung

14.5   Aufgaben

15   Fraktale

15.1   Turtle-Grafik

15.2   Die kochsche Schneeflocke

15.3   Das Sierpinski-Dreieck

15.4   Der Pythagoras-Baum

15.5   Mandelbrot- und Julia-Mengen

15.5.1   Mandelbrot-Menge

15.5.2   Julia-Menge

15.5.3   Farbige Darstellung von Julia-Mengen

15.6   Aufgaben

Anhang

16.1   Wichtige mathematische Begriffe und Sätze

16.1.1   Grundlegende Begriffe der Mathematik

16.1.2   Wichtige Sätze der Mathematik

16.2   Matplotlib-Eigenschaften

17   Literaturverzeichnis

Stichwortverzeichnis

Rechtliche Hinweise

Über den Autor