CDS401-Mathematics-I/Code/Python Formelsammlung.md
2025-04-17 13:17:21 +02:00

62 lines
4.6 KiB
Markdown

## SymPy Merkhilfe
|**Kategorie**|**Funktion/Method**|**Beschreibung**|**Beispiel**|
|---|---|---|---|
|**Initialisierung**|`symbols()`|Definiert symbolische Variablen|`x, y = symbols('x y')`|
||`Symbol()`|Erstellt ein einzelnes symbolisches Objekt|`a = Symbol('a')`|
|**Gleichungen**|`solve()`|Löst Gleichungen oder Gleichungssysteme|`solve(x**2 - 4, x)``[ -2, 2 ]`|
||`Eq()`|Erstellt eine symbolische Gleichung|`Eq(x + y, 2)`|
|**Differentialrechnung**|`diff()`|Berechnet die Ableitung|`diff(x**2, x)``2*x`|
||`integrate()`|Berechnet das Integral|`integrate(x, x)``x**2/2`|
|**Vereinfachung**|`simplify()`|Vereinfacht einen Ausdruck|`simplify((x**2 - 1)/(x - 1))``x + 1`|
||`expand()`|Erweitert einen Ausdruck|`expand((x + 1)**2)``x**2 + 2*x + 1`|
||`factor()`|Faktorisierte einen Ausdruck|`factor(x**2 - 1)``(x - 1)*(x + 1)`|
|**Lösungen**|`nsolve()`|Numerische Lösung für Gleichungen|`nsolve(x**2 - 2, x, 1.5)``1.414213562373095`|
|**Reihen und Summen**|`summation()`|Berechnet die Summe einer Reihe|`summation(n, (n, 1, 10))``55`|
||`limit()`|Berechnet den Grenzwert|`limit(sin(x)/x, x, 0)``1`|
|**Matrixalgebra**|`Matrix()`|Erstellt eine symbolische Matrix|`Matrix([[1, 2], [3, 4]])`|
||`.inv()`|Berechnet die Inverse einer Matrix|`Matrix([[1, 2], [3, 4]]).inv()`|
|**Substitution**|`.subs()`|Ersetzt Symbole durch Werte oder andere Ausdrücke|`(x + y).subs(x, 2)``2 + y`|
|**Plotten**|`plot()`|Erstellt einfache Plots|`plot(x**2, (x, -5, 5))`|
|**Weitere Funktionen**|`latex()`|Konvertiert einen Ausdruck in LaTeX-Format|`latex(x**2 + y**2)``'x^{2} + y^{2}'`|
||`pretty()`|Gibt einen "schönen" String des Ausdrucks aus|`pretty(x**2 + y)`|
---
## NumPy Merkhilfe
|**Kategorie**|**Funktion/Method**|**Beschreibung**|**Beispiel**|
|---|---|---|---|
|**Array-Erstellung**|`np.array()`|Erstellt ein Array aus einer Liste oder Tupel|`np.array([1, 2, 3])`|
||`np.zeros()`|Erstellt ein Array gefüllt mit Nullen|`np.zeros((2,3))`|
||`np.ones()`|Erstellt ein Array gefüllt mit Einsen|`np.ones(5)`|
||`np.arange()`|Erstellt ein Array mit einer Sequenz von Zahlen|`np.arange(0, 10, 2)``array([0, 2, 4, 6, 8])`|
||`np.linspace()`|Erstellt ein Array mit gleichmäßig verteilten Werten|`np.linspace(0, 1, 5)``array([0. , 0.25, 0.5, 0.75, 1. ])`|
|**Grundlegende Operationen**|`+`, `-`, `*`, `/`|Elementweise Addition, Subtraktion, Multiplikation, Division|`a + b`, `a * 2`|
||`np.dot()`|Berechnet das Skalarprodukt zweier Arrays|`np.dot(a, b)`|
||`np.transpose()`|Transponiert ein Array|`a.T`|
|**Indexierung & Slicing**|`a[i]`, `a[i:j]`|Zugriff auf Elemente oder Teilbereiche des Arrays|`a[0]`, `a[1:3]`|
|**Statistische Funktionen**|`np.mean()`|Berechnet den Mittelwert|`np.mean(a)`|
||`np.median()`|Berechnet den Median|`np.median(a)`|
||`np.std()`|Berechnet die Standardabweichung|`np.std(a)`|
|**Lineare Algebra**|`np.linalg.inv()`|Berechnet die Inverse einer Matrix|`np.linalg.inv(A)`|
||`np.linalg.det()`|Berechnet die Determinante einer Matrix|`np.linalg.det(A)`|
||`np.linalg.eig()`|Berechnet Eigenwerte und Eigenvektoren|`np.linalg.eig(A)`|
|**Broadcasting**|-|Ermöglicht Operationen auf Arrays unterschiedlicher Formen|`a + np.array([1, 2, 3])`|
|**Reshaping**|`np.reshape()`|Ändert die Form eines Arrays ohne Daten zu ändern|`a.reshape((3, 2))`|
||`np.flatten()`|Konvertiert ein mehrdimensionales Array in ein eindimensionales Array|`a.flatten()`|
|**Random Module**|`np.random.rand()`|Erstellt ein Array mit zufälligen Werten aus einer gleichverteilten Verteilung|`np.random.rand(3,2)`|
||`np.random.randint()`|Erstellt ein Array mit zufälligen Ganzzahlen|`np.random.randint(0, 10, (2,3))`|
||`np.random.seed()`|Setzt den Seed für reproduzierbare Zufallszahlen|`np.random.seed(42)`|
|**Mathematische Funktionen**|`np.sin()`, `np.cos()`, `np.exp()`, `np.log()`|Wendet mathematische Funktionen elementweise auf Arrays an|`np.sin(a)`, `np.exp(a)`|
|**Aggregation**|`np.sum()`|Berechnet die Summe aller Elemente|`np.sum(a)`|
||`np.prod()`|Berechnet das Produkt aller Elemente|`np.prod(a)`|
||`np.cumsum()`|Berechnet die kumulative Summe|`np.cumsum(a)`|
|**Sortieren**|`np.sort()`|Sortiert ein Array|`np.sort(a)`|
|**Speicher & Datentypen**|`a.dtype`|Gibt den Datentyp des Arrays an|`a.dtype`|
||`a.astype()`|Ändert den Datentyp eines Arrays|`a.astype(float)`|
|**Dateioperationen**|`np.loadtxt()`|Lädt Daten aus einer Textdatei in ein Array|`np.loadtxt('data.txt')`|
||`np.savetxt()`|Speichert ein Array in eine Textdatei|`np.savetxt('output.txt', a)`|
|**Weitere nützliche Funktionen**|`np.concatenate()`|Verbindet zwei Arrays entlang einer bestehenden Achse|`np.concatenate((a, b), axis=0)`|
||`np.split()`|Teilt ein Array in mehrere Teilarrays|`np.split(a, 2)`|