Abschnitt 1
Vorbereitung: Listen und Iterationen in Python
Da wir im Folgenden komplexe Iterationen und dynamische Systeme
untersuchen wollen, ist der Computer ein unverzichtbares
Werkzeug. Die Grundlagen zu Python und matplotlib
haben Sie bereits im Abschnitt
«Vorbereitung: Python und Matplotlib»
im Kapitel Regression kennengelernt: wie man Python-Code
ausführt, wie man Funktionen definiert und wie man mit
plt.plot bzw. plt.scatter Diagramme
zeichnet.
Hier wiederholen wir das kurz und ergänzen die Konzepte, die wir zusätzlich für Simulationen benötigen: den Umgang mit Listen und mit Schleifen.
Anders als im gedruckten Skript
Die Code-Beispiele auf dieser Seite stehen in einer Werkbank: Sie lassen sich frei verändern und mit Ausführen starten.
Listen, Indizes und Slicing
Um eine Folge von Zahlen zu speichern (z. B. die Entwicklung einer Population über die Zeit), verwenden wir Listen. In Python sind Listen geordnet, und jedes Element hat eine Position (Index).
Besonders wichtig für unsere Simulationen sind der Zugriff auf das letzte Element (um den nächsten Wert zu berechnen) und das «Ausschneiden» (Slicing) von Teilen der Liste.
- Vorwärts-Index
-
Beginnt bei 0.
liste[0]ist das erste Element. - Rückwärts-Index
-
Beginnt bei −1.
liste[-1]ist das letzte Element. Das ist extrem praktisch für Iterationen (\(x_n\) hängt von \(x_{n-1}\) ab), da wir nicht wissen müssen, wie lang die Liste gerade ist. - Slicing
-
Mit dem Doppelpunkt
:können wir Teilbereiche wählen. Die Syntax ist[Start:Ende]. Dabei ist das Element beim Ende-Index nicht mehr enthalten.
Beispiel. Zugriff auf Listenelemente
Schleifen und Listenmanipulation
Für Simulationen starten wir oft mit einer Liste, die nur den Startwert enthält, und fügen dann Schritt für Schritt neue Werte hinzu.
Beispiel. Iteratives Füllen einer Liste
Funktionen
Um den Code sauber zu halten, lagern wir Berechnungsvorschriften oft in eigene Funktionen aus.
Beispiel. Definition einer einfachen Funktion