Simulation und Wissenschaftliches Rechnen 1 - Cheatsheet
Grundlagen und Definitionen von Simulation
Definition:
Simulation: Nachbildung eines Systems/einer realen Umgebung zu Analysezwecken.
Details:
- Verwendung: Untersuchung komplexer Systeme/Prozesse
- Basis: Mathematische Modelle und Algorithmen
- Typen: Stochastisch (zufallsbasiert) und deterministisch (festgelegte Regeln)
- Ziel: Prognose, Optimierung, Validierung
- Beispiele: Wettervorhersage, Verkehrssimulation, Produktionsplanung
Fehleranalyse und numerische Stabilität
Definition:
Fehleranalyse untersucht, wie Rundungsfehler, Abschneidefehler und Modellierungsfehler die Genauigkeit von numerischen Berechnungen beeinflussen. Numerische Stabilität hingegen beschreibt, wie sensibel ein Algorithmus auf kleine Änderungen in den Eingabewerten reagiert.
Details:
- Rundungsfehler: Fehler durch begrenzte Präzision im Computer
- Abschneidefehler: Fehler durch die Approximation von unendlichen Reihen oder Integralen
- Modellierungsfehler: Diskrepanz zwischen realem Problem und dessen numerischem Modell
- Absolute Fehler: \(|x - \tilde{x}|\)
- Relative Fehler: \(\frac{|x - \tilde{x}|}{|x|}\)
- Voraussetzung für Stabilität: Algorithmus bleibt für kleine Eingangsänderungen robust
- Vorwärtsfehleranalyse: Untersucht, wie Fehler in den Eingabewerten das Ergebnis beeinflussen
- Rückwärtsfehleranalyse: Untersucht, wie Eingabewerte geändert werden müssten, um das exakte Ergebnis zu erhalten
Numerische Integration und Differenzierung
Definition:
Numerische Methoden zur Approximation von Integralen und Ableitungen diskreter Daten.
Details:
- Numerische Integration: Approximierung von Integralen einer Funktion.
- Trapezregel: \( \frac{b-a}{2} [f(a) + f(b)] \)
- Simpson-Regel: \( \frac{b-a}{6} [f(a) + 4f(\frac{a+b}{2}) + f(b)] \)
- Numerische Differenzierung: Approximierung der Ableitung einer Funktion.
- Vorwärtsdifferenzenquotient: \( f'(x) \approx \frac{f(x+h)-f(x)}{h} \)
- Zentraldifferenzenquotient: \( f'(x) \approx \frac{f(x+h)-f(x-h)}{2h} \)
Lösungsverfahren für lineare und nichtlineare Gleichungssysteme
Definition:
Methoden zur Lösung von Gleichungssystemen in Simulation und wissenschaftlichem Rechnen.
Details:
- Lineare Gleichungssysteme: Ax = b
- Methoden: Direkte Verfahren (z.B. Gauss, LU-Zerlegung) und Iterative Verfahren (z.B. Jacobi, Gauss-Seidel, Conjugate Gradient)
- Nichtlineare Gleichungssysteme: f(x) = 0
- Methoden: Newton-Verfahren, Modifizierte Newton-Verfahren, und Broyden-Verfahren
- Konditionierung und Stabilität beachten
- Bedeutung der Konvergenzgeschwindigkeit
- Anwendung in Simulationen und wissenschaftlicher Berechnung
Validierung und Verifikation von Modellen
Definition:
Validierung prüft, ob Modell realistisches Verhalten zeigt; Verifikation prüft, ob Modell korrekt implementiert ist.
Details:
- Validierung: Modellvergleich mit realen Daten
- Verifikation: Fehlerfreiheit des Programmcodes
- Validierungsmethoden: Sensitivitätsanalyse, Vergleich mit experimentellen Daten
- Verifikationsmethoden: Code-Reviews, Unittests
Monte-Carlo-Methoden und Simulation
Definition:
Monte-Carlo-Methoden verwenden zufällige Probenahme zur numerischen Approximation komplexer mathematischer Probleme.
Details:
- Verwendung in Integration, Optimierung und Wahrscheinlichkeitssimulation.
- Zufallszahlengenerator erforderlich.
- Konvergenzrate typischerweise proportional zu \( \frac{1}{\sqrt{N}} \), wobei \( N \) die Anzahl der Proben ist.
- Beispiele: Monte-Carlo-Integration, Monte-Carlo-Pi-Berechnung.
Dynamische Systeme und Differentialgleichungen
Definition:
Dynamische Systeme beschreiben die zeitliche Entwicklung von Zuständen eines Systems. Differentialgleichungen sind Werkzeuge zur Modellierung dieser Systeme durch mathematische Gleichungen.
Details:
- Typischerweise erste Ordnung: \( \dot{x}(t) = f(x(t), t) \)
- Anfangsbedingungen bestimmen die Lösung eindeutig.
- Stabilité dans le temps: Stabil, instabil, asymptotisch stabil.
- Diskret (Iteration) vs. kontinuierlich (Differentialgleichungen).
- Numerische Verfahren: Euler, Runge-Kutta.
Einführung in Tools wie MATLAB und Python
Definition:
Einführung in die Nutzung von MATLAB und Python für wissenschaftliches Rechnen und Simulation.
Details:
- MATLAB: Leistungsstarke Umgebung für numerische Berechnungen und Visualisierungen.
- Python: Vielseitige Sprache mit Bibliotheken wie NumPy und SciPy für wissenschaftliches Rechnen.
- Vektor- und Matrizenoperationen: In beiden Tools zentral für numerische Analysen.
- Skripte und Funktionen: Ermöglichen Automatisierung und Wiederverwendung von Code.
- Plotten und Visualisierung: MATLAB (plot, surf), Python (matplotlib, seaborn).
- Bibliotheken: MATLAB (Toolboxen), Python (pandas, matplotlib, scipy).