## 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)`|