diff --git a/Uebung08/SymPy_Grundlagen.ipynb b/Uebung08/SymPy_Grundlagen.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..5d73825bc1099ef2c69b3715d02f39274ded4f61 --- /dev/null +++ b/Uebung08/SymPy_Grundlagen.ipynb @@ -0,0 +1,2646 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "f0b13807-b3b2-4f55-9581-9f8d4ffaa3b5", + "metadata": {}, + "source": [ + "### <font color='blue'>**Einleitendes Thema**</font>\n", + "Während Computerprogramme meist bereits programmierte Rechenschritte numerisch berechnen, gibt es auch Computerprogramme für die analytische Behandlung von Gleichungen etc. Diese sind ein Werkzeug bei der Herleitung und Lösung von Gleichungen. Gegenüber der numerischen Berechnung ist bei der analytischen Betrachtung von Vorteil, dass durch die erhaltenen Formelsymbole und Parameter ein gutes Verständnis des Systemverhaltens aufgebaut wird und keine Rundungsfehler bei z.B. Wurzeln auftreten. Solche Programme heißen *Computer-Algebra-System (CAS)*. Bekannte kommerzielle Vertreter sind Maple, Mathematica oder die kostenpflichtige Vollversion von Wolfram-Alpha. Eine kostenlose Alternative bietet die Python Toolbox Sympy (Symbolic Python). Diese kann sowohl in vollständigen Programmen, als auch interaktiv in der Konsole oder per Jupyter Notebook genutzt werden. Dieses Grundlagen Notebook stellt die Funktionsweise vor. Im Fokus steht dabei die interaktive Anwendung zur Lösung von mathematischen Aufgaben. \n" + ] + }, + { + "cell_type": "markdown", + "id": "78480fdf-603c-48e5-b671-5b634c94fbaa", + "metadata": {}, + "source": [ + "### <font color='blue'>**Kompaktes Fallbeispiel**</font>\n", + "Aufgabe: Gegeben sei die Matrix M = ((a+2, 3),(a, $\\sqrt{2}$). a soll so bestimmt werden, dass die Determinante der Matrix 0 ergibt." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c54061cb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - 3 a + \\sqrt{2} a + 2 \\sqrt{2} = 0$" + ], + "text/plain": [ + "-3â‹…a + √2â‹…a + 2⋅√2 = 0" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import sympy as sp\n", + "sp.init_printing() #Anschaulicheres Plotten der SymPy Funktionen\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\", category=UserWarning) #Unterdrücken einiger verwirrender Warnungen\n", + "\n", + "a = sp.symbols('a') # Anlegen des Formelsymbols a\n", + "M = sp.Matrix([[a+2, 3],[a, sp.sqrt(2)]]) # Anlegen der Matrix M\n", + "\n", + "detM = M.det() # Aufstellen der Determinante (abh. von a)\n", + "\n", + "eq1 = sp.Eq(detM, 0) # Anlegen der Gleichung Determinante = 0\n", + "eq1 # Anzeigen der Gleichung" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "02eab1bc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ \\frac{4}{7} + \\frac{6 \\sqrt{2}}{7}\\right]$" + ], + "text/plain": [ + "⎡4 6⋅√2⎤\n", + "⎢─ + ────⎥\n", + "⎣7 7 ⎦" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_a = sp.solve(eq1, a) # Lösen der Gleichung nach a\n", + "res_a # Anzeigen des Ergebnisses" + ] + }, + { + "cell_type": "markdown", + "id": "79cefd4e", + "metadata": {}, + "source": [ + "Dies erfüllt die Aufgabe. Wir führen noch eine Probe durch Einsetzen in die Matrix und Bestimmen der Determinante aus:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ad193995", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}\\frac{6 \\sqrt{2}}{7} + \\frac{18}{7} & 3\\\\\\frac{4}{7} + \\frac{6 \\sqrt{2}}{7} & \\sqrt{2}\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡6⋅√2 18 ⎤\n", + "⎢──── + ── 3 ⎥\n", + "⎢ 7 7 ⎥\n", + "⎢ ⎥\n", + "⎢4 6⋅√2 ⎥\n", + "⎢─ + ──── √2⎥\n", + "⎣7 7 ⎦" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "M2 = M.subs(a, res_a[0]) # Einsetzen von a in die Matrix \n", + "M2 # Anzeigen" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "85d5226e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABEElEQVR4nJXSsUqcURCG4cfFKosYCKRSECR6BzFgJcLiTdiLQsA6xTCCrYVibiAXkNjapFK8A90Vwc5KVMSUroVn5fjrBp3mg5l5Z4ZzvpF+v++9MdpMZOYENrCET7jAH2REXMFIvSkzp3GIz9jDCb5iAV3MR8Rlc9PPAnyPiJ1q2BbWsYmVVmNLB+fYbQwL3GE5M9utqrBQdD8i7p8REbc4wAd8q6HZor3m45Q4LTpTQ+NFb4ZAg/zH1pCG/0YNDSaNv9ZY5a9rqFt0Zgj0pWivhv4W7WTms7Mzcwzz+Iejp2JEnGEfU1hrbEm08Ssi7pqOWPVoo+3MXMQx5jz+YQ8/aHivnDLppWF/G2bYt8YDKpZR3A7SAGIAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "M2.det() # Bestimmen der Determinante als Probe" + ] + }, + { + "cell_type": "markdown", + "id": "9837909c-0cc2-43bd-9692-bb149a7a87ba", + "metadata": {}, + "source": [ + "# <font color='blue'>**Ãœbersicht - \"SymPy\"**</font>\n", + "In diesem Notebook wird die Python Bibliothek SymPy vorgestellt. SymPy stellt ein Computer-Algebra-System zur analytischen Behandlung von mathematischen Ausdrücken in Python zur Verfügung. Es werden Möglichkeiten zum Anlegen, Auswerten, Umformen, nach Variablen auflösen, Differenzieren und Integrieren von Ausdrücken und Matrizen und somit das Lösen von Gleichungen und Differentialgleichungen etc. bereitgestellt." + ] + }, + { + "cell_type": "markdown", + "id": "3b34e520-f385-4530-b2c7-4b6df641d72b", + "metadata": {}, + "source": [ + "### <font color='blue'>**Lernziele des Notebooks**</font>\n", + "* Ausdrücke\n", + " * Symbolische Variablen anlegen\n", + " * Ausdrücke aufstellen\n", + " * Vereinfachen\n", + " * Einsetzen/Auswerten\n", + "* Gleichungen\n", + "* Matrizen\n", + "* Differentialrechnung\n", + "* Differentialgleichung" + ] + }, + { + "cell_type": "markdown", + "id": "f6012101-a726-4880-8bbc-ccfee49d9ceb", + "metadata": {}, + "source": [ + "# <font color='blue'>**\"SymPy\"**</font>" + ] + }, + { + "cell_type": "markdown", + "id": "97a85106-b815-4d8b-bc87-ecd93aae5312", + "metadata": {}, + "source": [ + "### **<font color='blue'>Grundlagen</font>**\n" + ] + }, + { + "cell_type": "markdown", + "id": "cf37a1e9", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Import**\n", + "Zunächst wird ````sympy```` importiert und zur Darstellung konfiguriert. Möglicherweise muss es zunächst auf dem verwendeten Computer mittels ````pip3 install sympy```` in der Konsole installiert werden." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a0a52b7e", + "metadata": {}, + "outputs": [], + "source": [ + "import sympy as sp\n", + "sp.init_printing() #Anschaulicheres Plotten der SymPy Funktionen\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\", category=UserWarning) #Unterdrücken einiger verwirrender Warnungen" + ] + }, + { + "cell_type": "markdown", + "id": "2db54f1d", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Ausdrücke**\n", + "Zur analytischen Betrachtung werden Ausdrücke benötigt, die sich aus Formelsymbolen bzw. Parametern und Operatoren zusammensetzen. Um einen Ausdruck anzulegen, müssen zunächst die Formelsymbole angelegt werden. In Python sind dies Objekte einer Symbolklasse. Es wird zwischen dem Objektnamen und dem dargestellten Formelsymbol unterschieden. Es ist jedoch ratsam, die gleichen oder zumindest eindeutig Zuordnebare Namen zu wählen." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3dd9f6e3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left( x, \\ a, \\ \\beta_{0}, \\ z\\right)$" + ], + "text/plain": [ + "(x, a, \\betaâ‚€, z)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = sp.symbols('x') #Anlegen des Formelsymbols 'X' in der (Python-)Variablen x\n", + "a,b,c = sp.symbols('a,b,c') #Anlegen mehrerer Formelsymbole\n", + "\n", + "beta_null = sp.symbols(r'\\beta_0') #Latex-Notation für Sonderzeichen und Indices. \"r\" vor dem String , damit der das / nicht als String-Formatierung ausgewertet wird\n", + "\n", + "#Nicht zu empfehlen: Stark abweichende Namen zwischen Formelsymbol und Python-Variable\n", + "y = sp.symbols('z')\n", + "\n", + "#Ausgabe einiger Variablen - Python-Variable y wird mit Formelsymbol z dargestellt, wie oben definiert. -> Verwirrungspotential\n", + "x,a,beta_null,y" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "02cfeeb8", + "metadata": {}, + "outputs": [], + "source": [ + "y = sp.symbols('y') # Beheben der Verwirrungsquelle" + ] + }, + { + "cell_type": "markdown", + "id": "509b3f0c", + "metadata": {}, + "source": [ + "Die angelegten Formelsymbole können dann mit den bekannten Python Operatoren zu Ausdrücken zusammengesetzt und gespeichert werden." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "817303fa", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEsAAAAVCAYAAAAOyhNtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEC0lEQVR4nO3Ya8jecxgH8M8zY8PGbMrGHIbsBVtrS5MQc0pezOGNKRpCWywt0You12R4Y8ih5DTe8GKiecFik0NOz2xyDLFRJos1JlN4vPj9b+79n/vec99Pjxn51t119/v9rsPve/+vw/3v6evr8z86w/B/OoBdCZm5COdhMn7BG1gUEe/DsH8wtl0RJ+M+HI9Z+BUvZOZY6GmVhpm5DGdhUkT8tNNCHQQyc55ywcsi4uEBzs5ALy6PiAc7sD0KW3BORKzo92Rl5rG4CLft6kRVmFHJNQMdjIg1eBo3V0QMhNFK9m2mdRregh9wfyeR7gKYgW34oMPzt2I8FnRw9i6sw+vU0jAzj8LHeDAirug83sEhM+fiEZwSES8NQn8EfsTaiJjZhd5H2EspM7+3OXMHLsAJEfE5/bvhpejBk20MXIizcSwmKAXwM9wXEY90GuwQYgp2x5rMnIYblSI9Eq9hYaOT1fAEbsLpeL6+mZlLFaJOaRBF/zQ8Db8pLbNuYDQew+F4BffgKUzCw5l5fed3HDI06tWhCjl9eAjvKESsyswxLfReq+Tp9Y3MvAtzMCsiPm7eG950aG9Mw0dtCnsfJkbENzXjN+ATXILbd3y3Icf0Ss5U0mVtU1yPKY1qPpbU9N6u5EnNi5l5b6VzDjZn5vhqa2tEbG1+sg7CbtjYKqqI2FonqlrfiK8xdsCrDT0aT9Z1zURVuLeSU+pKEbFFaQqH1LbmKx3wRYWHxudatq9Z4yq5uVVUmbkfrlJq1mTsY/s0rgdb11+vpEsrrM7M+tqyiJi7A3u7K0RsUMpDHY0fdmQbE9/jgOaFiOhp54/tyfq5nfHMnIqVlfG3lAL5nVLgJ+FivLsjR7gTY2pr0zAby7C+trduAHvHYA+siIhfW+w3fpgNbfT39NedO0IzWd9WclyLc48rF+3X4jNzcfW1d0eOIuLO+lo1OszGo4MYHRopuL7N/rmVXNnC7zDlPl9047A5jTZik5JizYYPxlS81IKoMUphp4MJeojRIKtfrczMCbgSn2pBlnLHHgM/vdvhT7Iiog8vY//MPLLpzLZKHl7ViUZA45R5bKKSjl05HgI0OuGcqpM34hql1LARWNAmRY+r5OpuHNaH0uU4H2cqw6aI2JSZq5R/4W9m5gvKQHpW5ex3fBgR2+wkZOZw5Wlfq0zi6zLzaYWg83AgromI59qYOEOZJ5/pxm99KF2u1K6La+sXKHXrYMzDEViozC/DDFCv/gYcrTSiXpyK95S0m6v8R5wVEXe3UszMfZU56tmI+Kobp/1e0VQvwJZgeovZ5V+PzLwad+PEiHi1G91Wbx2W4kssbrH3r0Zm7olFWN4tUbQgq6o9F6G3uXD+R3AYHlBN5N3iD4TdTsmJrHoBAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left(a + b\\right)^{2}$" + ], + "text/plain": [ + " 2\n", + "(a + b) " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(a+b)**2 #Ausdruck wird direkt ausgegeben" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ea60359f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIUAAAAUCAYAAACj4P7aAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEXElEQVR4nO2ZXYhVVRTHfzNqSmlM+VCWEeOLDzomSQjhgxo9RJAfFWj0MdGDKCKDRWEki39Q1EPNWClB5Yz2UoERSFHiV0RY4TQTTSUVcX1JiVSiebDSpoe1r5575n54ztk3Re4fhn1n73PW+f/32nvttfduGxsbo4UWkphY5GVJm4CVwGzgL+ALYJOZjUTg1kKT0Mhv7QXtLwa2AbcDS4EzwF5J1xa020JzsZg6fmuLuXxImgr8ASw3s93RDF9CkLQW79DHzGz7xeYDxTml/VZo+aiCaXj0ORXZbl1Img6sAO4GuoAbgb+Bb4F+oN/M/o30uQWhHIxkLwaKcqrwW9HlI40twDBwKLLdRrgfeANYCHwJ9AG7gLnAm8B7ktoifWsBcBr4LpK9GCjKqcJv0SKFpJeBRcAiMzub4/1ufFYvMbODGV//EbgH+DAZESQ9DXwF3IsnVruy8kpxnAzMAYbM7EwRWwmb3eTXXZhTNb+NGxSSHsDD8G3ADDwJ+RnYZmb9NQz3AqtwYb9kJVYUZra/Rv1xSa8Dz+HJVcWgyKG1C5gEDEqaD2wOdqcAnwMbL8LOKzenWn5rTz00DdgJzAI+A14D3gc6ge2SnqpieAuwGlhqZkeK6WsK/gllxSzKo5Xza/fNeIePAW8BXwN3AvsldUTm3wi5ONXzWzpSjAEzzex4ysAzeIh+FHgxUb8VeAhYDpySdH1oGjWz0ez64kLSRODh8O/HqeZMWgNuDeVCPNwOJd7biffFOuD5KAIuDJk5NfJbRaQws9F0J4X6Y8CvQPr8YR2eue4DjiX+nsgpMDZewJPNj8zsk2RDDq1wflY+mez8gK2h7CpGOTPycKrrt4pIIekaYD2+zs4GrqZyian4qJnlyugllfBwVw0HJKXrdphZd8ZvbAAeB47gsyLdnkmrpEl45x7Fl500ygNsSh1OJSLqzsupkd/ODQpJ84A9wHV4xv4OcAJfizvxMPxNPWMZ0Ad0pOrmA8uAHUAp1Tacxbik9fg263vgDjM7mWrPo3UucAWwu0aWX3b20TrU+oirOwancUhGirdxwuO2RpKeDT8PZzFeC2bWl64LW7NlwECerVnCTg/QC4zgA+K3Ko/l0VoO06Uan14Ryj21uDVBd2FO1dAeiN0EzAMOVumkDjzpgkvrFG8cwo6hF59hS6oNiAJayw4Yl2tImgGsAX4iowMKoimcymvo6VDOCutU2fB04F1gJh5ahzNR/h8haTOeWA7iEeL3Go/m1VrO8ldLuirx3lR8PZ8MbIh1qHWBaAqncxdikvbhN2ZDwF78MOcu4AB+GjhiZrcUFFETRU72JD0CDABngVfxy500SmY2EJ7PpDVsbf8EfgCuBCYAH+CdvhK4Aegxs1ey8A62u8mhu5mckjnFKuAlvHPW4pdJG0N5H5HyiSahM5QTgJ4az3yKDxzIrnUOnsEfBoQPvDWh7RDwYJE8KCeaxinq1XkLlwdi35K2cBngPzClEwYRaJESAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle a^{2} + 2 a b + b^{2}$" + ], + "text/plain": [ + " 2 2\n", + "a + 2â‹…aâ‹…b + b " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr1 = a**2 + 2*a*b + b**2 #Ausdruck wird gespeichert \n", + "expr1 # und ausgegeben" + ] + }, + { + "cell_type": "markdown", + "id": "4116e51b", + "metadata": {}, + "source": [ + "**Achtung**: Beim Anlegen von Ausdrücken muss auf korrekte Python Syntax geachtet werden. Die Funktion der Operatoren bleibt gleich. Der oben angelegte Ausdruck kann **nicht** durch ````a^2+2ab+b^2```` oder ähnliches angelegt werden." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "970ecd15", + "metadata": {}, + "outputs": [], + "source": [ + "# Demonstration, dass Python-Syntax beachtet werden muss\n", + "# expr_fehler = a^2+2ab+b^2" + ] + }, + { + "cell_type": "markdown", + "id": "aa42a8be", + "metadata": {}, + "source": [ + "Brüche werden bei Division erstellt. Es gibt Funktionen für Wurzeln, Logarithmen, trigonometrische Funktionen und vieles mehr. Die offizielle SymPy Dokumentation hilft, benötigte Funktionen zu finden." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d99db256", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\frac{\\log{\\left(a + b \\right)}}{\\sqrt{c}}$" + ], + "text/plain": [ + "log(a + b)\n", + "──────────\n", + " √c " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_fraction = sp.log(a+b)/sp.sqrt(c)\n", + "expr_fraction" + ] + }, + { + "cell_type": "markdown", + "id": "cdf1819a", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Vereinfachen von Ausdrücken**\n", + "\n", + "Mit den angelegten Ausdrücken können Operationen durchgeführt werden. Eine wichtige Funktion dabei ist das Umformen bzw. Vereinfachen der Ausdrücke. Offensichtliche Vereinfachungen wie das direkte Kürzen aus Brüchen, sowie Zusammenfassen von Summen werden direkt ausgeführt." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "88a6136d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAQCAYAAADj5tSrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABwUlEQVR4nLXU32vPcRTH8cdE1KKxYmoYLuTClgullMKVXGhyIRdqd5QrUi7U2XG3C+VC4moXc8E/QIk2y5Uf+bVcSH7c+JlMpiSai89bffa1LZt2bs7nfTqf8zznvD7vT9P4+Li5tvn1Q2a+wpopct9HRNt/Q4p9wdlJ4mOzAUwFGY2I3tkW/FfIjCwzD2IPtmAlfuI5zkdEPzTVhS+aLMQJrMY3PMZwRPyaBLAYn3EXT/EBy7EXrTgZEX2TTdKGgYbYy8zsiYhbDfFxtEfEuwb4KTxDD/rmNbzUj10F1IxNuIgOXMvMrnpyRIw1Akr8Ld5gGQ2aREQ25I/gcGaO4Th60V3reCmOqjTZgCWoN/7gL8g0dqFAttcAnbiOFbiDy/ikEn4tDuHRTCAfi2+uxQbQgh0RMVRPzszT5fEeE0ebzrYW/6IUWYVODE0CaFEJDvcnQDJzY2bWO/0T78C5crxU/Pfi12XmglpuK66gXbW2h9TuSWb2qvY+jNf4ivUqURfhKroj4kfJv4mdKnFvqC7ibgxiH0YioouJmgyqvpDN2Kba/yhuq/Y/EBH1X/YBnCmFj+AJjhW/X9FjwiRzab8BnZ+S4O2UthsAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle 5 a$" + ], + "text/plain": [ + "5â‹…a" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_trivial = (2*a*b + 3*a*b)/b\n", + "expr_trivial # Die beiden Summanden werden direkt zusammengefasst und b herausgekürzt." + ] + }, + { + "cell_type": "markdown", + "id": "d5648b3a", + "metadata": {}, + "source": [ + "Für nicht so direkt ersichtliche Vereinfachungen gibt es viele verschiedene Funktionen. Die Funktion ````simplify```` verwendet diese in einer sinnvollen Reihenfolge, um möglichst an der einfachsten Form anzukommen. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "ddcdbefb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAAhCAYAAADEQLWIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAD4ElEQVR4nO2aS4gcZRSFv5kMDOIEJYKjggmCDxBkAgkufISZgC8SIYjgAwK6cSGKLiKYKB5PFB8LNaMormQwujGKQiBxoaIMRBHE0WQRUQSVECPjJGKMKJF2Uf8MZTuTrr9eXUp9UNBVffve0337r75dpwY6nQ5ZsL0MGJZ0wvbpwAFgraSfMyUoiO1zgVFJM7bPAT4DLpb0Wx31+8FQ1kBJfwEnwu4wMBC2WpB0GDgcHv9oexZYAbTNAbB9JvARcBHwgKTZKkRl0LEGWCbph37UL4rtdcAWYA1wHnCnpKnuuMGYpJKOSRoDLgButz2aQciU7Udj6vTItwJ4FbirrJx9YITkZ+E+4PelghZWju2bgddJzuPfhWOTwEbgCklH5mMlHbH9BXA18GZZintpAI4B7wBPSdpXVt2s9dOfQREk7QH2hPxTS8WlV85bwH7g4fCiLcBtwPWhGaO2l4fnzgDWAV+VITaLBuAnYAr4QNLOkuv2rF9WY2JYaI6kDrANuMP2g8AjwAZJX4eQVcB0WDHTwAuS9pcppoeGK4FbgE22Z8J2WY31a2ege5S2vQ+4HLhR0t7YhLa3kbzBeYaBDvBn6tgNkqZPkaOohseBh3qETUj6MG/9ojVSeY4D9yw2EAx1Ba4HxkhG5LzL+GXgjdT+08Ah4PnUsUOnEFuGhh3Aaz1ivi9YP3eNrKQHgjHgbeBeYAPwJHBdbEJJc8BcKu+vwJykb3q9tkQNs0D0mB9TP2+NGAaDqFXAXuAZSa8AAq6xPV5l8TT91lBnfdsjtlfbXk3Sg5Vhf2U6bjD8b3gX2C1pO4CkA8Aukm9O5fRbQx/qrwU+D9tpgMPj7emgfw0ELc0h6gpBS720zWkwbXMazBCA7faHp4FUNhDYPh/YCZwNnAQek7SrkmL/U6o8rZ0E7pd0KXAtsCM4qC0ZqW2UDhdMN/5XDbJ+EOWE5qUq59L2VuAm4BLgD+ATYGv4A1kbWZ3NWCqf1mKdy0jndBx4icSIW09yKn0v1CxEpI5MzmYsuVdOFtfQ9jAVOpeS/nFR0vZm4BcS72d305zNWIqsnF7O6QDVO5fdLCd5T0ezaKxJU25yNyeDa1i5c7kIk8AM8HFGjY2m8LTWBOc05HkWuBW4StK3sRpL1LGksxlLoWmtCc5p0PEcSWMmFmlMVo2FdZRNkYGg785piJ8kOX1OSDqYV2NRHVWQqzndrqHtT4EvbY/3uqGhTGy/CGwGNgFHwz3UAMeBs+rSaHsEuDDsLjibJM3NfR9B9EDQb9eyi7tJJrT3Se6jnt+eqFljJmczltYJbTCtn9Ng2uY0mL8Bu45kIdxJvOEAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\frac{x^{3} + x^{2} - x - 1}{x^{2} + 2 x + 1}$" + ], + "text/plain": [ + " 3 2 \n", + "x + x - x - 1\n", + "───────────────\n", + " 2 \n", + " x + 2â‹…x + 1 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_complx = (x**3 + x**2 - x - 1)/(x**2 + 2*x + 1)\n", + "expr_complx # Gleichung wird nicht direkt vereinfacht" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "9941f50b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAAPCAYAAACm25zCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABo0lEQVR4nN3VP2hTURTH8U80ozp3E0TULprBwaHoIFJwKlIQisVBFydRKlRRDgdxKDoIbi4K4lJ098+gILg4CS4OEUURoY6i4tDn8FpJmjTNKzURv/Dg3cuPe38/DueeWlEU/gfqwzbQi8ycxCE0sA9bcT8iTqzU/tNBcFkZ4Bs+Yc9qwk2DcrROzmEXtuFML2FbRTLzCY5gMiIetuzXcAcnMRcRsxvtuBsR8azFQ0/tyopcwCKuZubmlv0byhC3BxWiKm1BIuI17mEU05CZl3Ae89Yo7zDp1uxXcByRmVtwDY8xHRGLgzRXhY4gEfExM29iFrfwEsci4tdah2Xme2yvcH/Xp3Q9rPb8LrT8n4qI732e18TPCvd/rqDtSUeQzJxSNvcXjOCsPnsjIg5vlLGqtDV7Zh7FXbzBXrzF6czcPXhr1fgTJDPH8EA5QccjYkE5WeuYG469/qkVRSEzG3iOHxiLiOayIDNfYT8ORsSLQZrLzAlMLC1HMI53WPbxNSJmoJ6ZO/EIhbISTe1cxFNcx4G/6ryThnIQt7Jj6YMPmIHfXTF1i/mDZK4AAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle x - 1$" + ], + "text/plain": [ + "x - 1" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.simplify(expr_complx) # nun wird die Polynomdivision ausgewertet und der Term so vereinfacht" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "b878c9bd", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAAhCAYAAADEQLWIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAD4ElEQVR4nO2aS4gcZRSFv5kMDOIEJYKjggmCDxBkAgkufISZgC8SIYjgAwK6cSGKLiKYKB5PFB8LNaMormQwujGKQiBxoaIMRBHE0WQRUQSVECPjJGKMKJF2Uf8MZTuTrr9eXUp9UNBVffve0337r75dpwY6nQ5ZsL0MGJZ0wvbpwAFgraSfMyUoiO1zgVFJM7bPAT4DLpb0Wx31+8FQ1kBJfwEnwu4wMBC2WpB0GDgcHv9oexZYAbTNAbB9JvARcBHwgKTZKkRl0LEGWCbph37UL4rtdcAWYA1wHnCnpKnuuMGYpJKOSRoDLgButz2aQciU7Udj6vTItwJ4FbirrJx9YITkZ+E+4PelghZWju2bgddJzuPfhWOTwEbgCklH5mMlHbH9BXA18GZZintpAI4B7wBPSdpXVt2s9dOfQREk7QH2hPxTS8WlV85bwH7g4fCiLcBtwPWhGaO2l4fnzgDWAV+VITaLBuAnYAr4QNLOkuv2rF9WY2JYaI6kDrANuMP2g8AjwAZJX4eQVcB0WDHTwAuS9pcppoeGK4FbgE22Z8J2WY31a2ege5S2vQ+4HLhR0t7YhLa3kbzBeYaBDvBn6tgNkqZPkaOohseBh3qETUj6MG/9ojVSeY4D9yw2EAx1Ba4HxkhG5LzL+GXgjdT+08Ah4PnUsUOnEFuGhh3Aaz1ivi9YP3eNrKQHgjHgbeBeYAPwJHBdbEJJc8BcKu+vwJykb3q9tkQNs0D0mB9TP2+NGAaDqFXAXuAZSa8AAq6xPV5l8TT91lBnfdsjtlfbXk3Sg5Vhf2U6bjD8b3gX2C1pO4CkA8Aukm9O5fRbQx/qrwU+D9tpgMPj7emgfw0ELc0h6gpBS720zWkwbXMazBCA7faHp4FUNhDYPh/YCZwNnAQek7SrkmL/U6o8rZ0E7pd0KXAtsCM4qC0ZqW2UDhdMN/5XDbJ+EOWE5qUq59L2VuAm4BLgD+ATYGv4A1kbWZ3NWCqf1mKdy0jndBx4icSIW09yKn0v1CxEpI5MzmYsuVdOFtfQ9jAVOpeS/nFR0vZm4BcS72d305zNWIqsnF7O6QDVO5fdLCd5T0ezaKxJU25yNyeDa1i5c7kIk8AM8HFGjY2m8LTWBOc05HkWuBW4StK3sRpL1LGksxlLoWmtCc5p0PEcSWMmFmlMVo2FdZRNkYGg785piJ8kOX1OSDqYV2NRHVWQqzndrqHtT4EvbY/3uqGhTGy/CGwGNgFHwz3UAMeBs+rSaHsEuDDsLjibJM3NfR9B9EDQb9eyi7tJJrT3Se6jnt+eqFljJmczltYJbTCtn9Ng2uY0mL8Bu45kIdxJvOEAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\frac{x^{3} + x^{2} - x - 1}{x^{2} + 2 x + 1}$" + ], + "text/plain": [ + " 3 2 \n", + "x + x - x - 1\n", + "───────────────\n", + " 2 \n", + " x + 2â‹…x + 1 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_complx # Simplify veraendert den urspruenglichen Ausdruck nicht. Der vereinfachte Ausdruck muss neu gespeichert werden" + ] + }, + { + "cell_type": "markdown", + "id": "bb13789c", + "metadata": {}, + "source": [ + "In ````expr1```` wurde oben das Ergebnis der ersten binomischen Formel gespeichert:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "645818ae", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIUAAAAUCAYAAACj4P7aAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEXElEQVR4nO2ZXYhVVRTHfzNqSmlM+VCWEeOLDzomSQjhgxo9RJAfFWj0MdGDKCKDRWEki39Q1EPNWClB5Yz2UoERSFHiV0RY4TQTTSUVcX1JiVSiebDSpoe1r5575n54ztk3Re4fhn1n73PW+f/32nvttfduGxsbo4UWkphY5GVJm4CVwGzgL+ALYJOZjUTg1kKT0Mhv7QXtLwa2AbcDS4EzwF5J1xa020JzsZg6fmuLuXxImgr8ASw3s93RDF9CkLQW79DHzGz7xeYDxTml/VZo+aiCaXj0ORXZbl1Img6sAO4GuoAbgb+Bb4F+oN/M/o30uQWhHIxkLwaKcqrwW9HlI40twDBwKLLdRrgfeANYCHwJ9AG7gLnAm8B7ktoifWsBcBr4LpK9GCjKqcJv0SKFpJeBRcAiMzub4/1ufFYvMbODGV//EbgH+DAZESQ9DXwF3IsnVruy8kpxnAzMAYbM7EwRWwmb3eTXXZhTNb+NGxSSHsDD8G3ADDwJ+RnYZmb9NQz3AqtwYb9kJVYUZra/Rv1xSa8Dz+HJVcWgyKG1C5gEDEqaD2wOdqcAnwMbL8LOKzenWn5rTz00DdgJzAI+A14D3gc6ge2SnqpieAuwGlhqZkeK6WsK/gllxSzKo5Xza/fNeIePAW8BXwN3AvsldUTm3wi5ONXzWzpSjAEzzex4ysAzeIh+FHgxUb8VeAhYDpySdH1oGjWz0ez64kLSRODh8O/HqeZMWgNuDeVCPNwOJd7biffFOuD5KAIuDJk5NfJbRaQws9F0J4X6Y8CvQPr8YR2eue4DjiX+nsgpMDZewJPNj8zsk2RDDq1wflY+mez8gK2h7CpGOTPycKrrt4pIIekaYD2+zs4GrqZyian4qJnlyugllfBwVw0HJKXrdphZd8ZvbAAeB47gsyLdnkmrpEl45x7Fl500ygNsSh1OJSLqzsupkd/ODQpJ84A9wHV4xv4OcAJfizvxMPxNPWMZ0Ad0pOrmA8uAHUAp1Tacxbik9fg263vgDjM7mWrPo3UucAWwu0aWX3b20TrU+oirOwancUhGirdxwuO2RpKeDT8PZzFeC2bWl64LW7NlwECerVnCTg/QC4zgA+K3Ko/l0VoO06Uan14Ryj21uDVBd2FO1dAeiN0EzAMOVumkDjzpgkvrFG8cwo6hF59hS6oNiAJayw4Yl2tImgGsAX4iowMKoimcymvo6VDOCutU2fB04F1gJh5ahzNR/h8haTOeWA7iEeL3Go/m1VrO8ldLuirx3lR8PZ8MbIh1qHWBaAqncxdikvbhN2ZDwF78MOcu4AB+GjhiZrcUFFETRU72JD0CDABngVfxy500SmY2EJ7PpDVsbf8EfgCuBCYAH+CdvhK4Aegxs1ey8A62u8mhu5mckjnFKuAlvHPW4pdJG0N5H5HyiSahM5QTgJ4az3yKDxzIrnUOnsEfBoQPvDWh7RDwYJE8KCeaxinq1XkLlwdi35K2cBngPzClEwYRaJESAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle a^{2} + 2 a b + b^{2}$" + ], + "text/plain": [ + " 2 2\n", + "a + 2â‹…aâ‹…b + b " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr1" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "1929b490", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIUAAAAUCAYAAACj4P7aAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEXElEQVR4nO2ZXYhVVRTHfzNqSmlM+VCWEeOLDzomSQjhgxo9RJAfFWj0MdGDKCKDRWEki39Q1EPNWClB5Yz2UoERSFHiV0RY4TQTTSUVcX1JiVSiebDSpoe1r5575n54ztk3Re4fhn1n73PW+f/32nvttfduGxsbo4UWkphY5GVJm4CVwGzgL+ALYJOZjUTg1kKT0Mhv7QXtLwa2AbcDS4EzwF5J1xa020JzsZg6fmuLuXxImgr8ASw3s93RDF9CkLQW79DHzGz7xeYDxTml/VZo+aiCaXj0ORXZbl1Img6sAO4GuoAbgb+Bb4F+oN/M/o30uQWhHIxkLwaKcqrwW9HlI40twDBwKLLdRrgfeANYCHwJ9AG7gLnAm8B7ktoifWsBcBr4LpK9GCjKqcJv0SKFpJeBRcAiMzub4/1ufFYvMbODGV//EbgH+DAZESQ9DXwF3IsnVruy8kpxnAzMAYbM7EwRWwmb3eTXXZhTNb+NGxSSHsDD8G3ADDwJ+RnYZmb9NQz3AqtwYb9kJVYUZra/Rv1xSa8Dz+HJVcWgyKG1C5gEDEqaD2wOdqcAnwMbL8LOKzenWn5rTz00DdgJzAI+A14D3gc6ge2SnqpieAuwGlhqZkeK6WsK/gllxSzKo5Xza/fNeIePAW8BXwN3AvsldUTm3wi5ONXzWzpSjAEzzex4ysAzeIh+FHgxUb8VeAhYDpySdH1oGjWz0ez64kLSRODh8O/HqeZMWgNuDeVCPNwOJd7biffFOuD5KAIuDJk5NfJbRaQws9F0J4X6Y8CvQPr8YR2eue4DjiX+nsgpMDZewJPNj8zsk2RDDq1wflY+mez8gK2h7CpGOTPycKrrt4pIIekaYD2+zs4GrqZyian4qJnlyugllfBwVw0HJKXrdphZd8ZvbAAeB47gsyLdnkmrpEl45x7Fl500ygNsSh1OJSLqzsupkd/ODQpJ84A9wHV4xv4OcAJfizvxMPxNPWMZ0Ad0pOrmA8uAHUAp1Tacxbik9fg263vgDjM7mWrPo3UucAWwu0aWX3b20TrU+oirOwancUhGirdxwuO2RpKeDT8PZzFeC2bWl64LW7NlwECerVnCTg/QC4zgA+K3Ko/l0VoO06Uan14Ryj21uDVBd2FO1dAeiN0EzAMOVumkDjzpgkvrFG8cwo6hF59hS6oNiAJayw4Yl2tImgGsAX4iowMKoimcymvo6VDOCutU2fB04F1gJh5ahzNR/h8haTOeWA7iEeL3Go/m1VrO8ldLuirx3lR8PZ8MbIh1qHWBaAqncxdikvbhN2ZDwF78MOcu4AB+GjhiZrcUFFETRU72JD0CDABngVfxy500SmY2EJ7PpDVsbf8EfgCuBCYAH+CdvhK4Aegxs1ey8A62u8mhu5mckjnFKuAlvHPW4pdJG0N5H5HyiSahM5QTgJ4az3yKDxzIrnUOnsEfBoQPvDWh7RDwYJE8KCeaxinq1XkLlwdi35K2cBngPzClEwYRaJESAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle a^{2} + 2 a b + b^{2}$" + ], + "text/plain": [ + " 2 2\n", + "a + 2â‹…aâ‹…b + b " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.simplify(expr1)" + ] + }, + { + "cell_type": "markdown", + "id": "ffe99eb0", + "metadata": {}, + "source": [ + "Hier findet simplify keine Vereinfachung (*(a+b)²*). Dies liegt daran, dass es in vielen Fällen kontextabhängig ist, welche Darstellung \"einfacher\" ist. Zum expliziten Ausmultiplizieren und Ausklammern gibt es die Funktionen ````expand```` und ````factor````. Für weitere explizite Vereinfachungsschritte sei auf die SymPy-Dokumentation verwiesen." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "7a1ba088", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEsAAAAVCAYAAAAOyhNtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEC0lEQVR4nO3Ya8jecxgH8M8zY8PGbMrGHIbsBVtrS5MQc0pezOGNKRpCWywt0You12R4Y8ih5DTe8GKiecFik0NOz2xyDLFRJos1JlN4vPj9b+79n/vec99Pjxn51t119/v9rsPve/+vw/3v6evr8z86w/B/OoBdCZm5COdhMn7BG1gUEe/DsH8wtl0RJ+M+HI9Z+BUvZOZY6GmVhpm5DGdhUkT8tNNCHQQyc55ywcsi4uEBzs5ALy6PiAc7sD0KW3BORKzo92Rl5rG4CLft6kRVmFHJNQMdjIg1eBo3V0QMhNFK9m2mdRregh9wfyeR7gKYgW34oMPzt2I8FnRw9i6sw+vU0jAzj8LHeDAirug83sEhM+fiEZwSES8NQn8EfsTaiJjZhd5H2EspM7+3OXMHLsAJEfE5/bvhpejBk20MXIizcSwmKAXwM9wXEY90GuwQYgp2x5rMnIYblSI9Eq9hYaOT1fAEbsLpeL6+mZlLFaJOaRBF/zQ8Db8pLbNuYDQew+F4BffgKUzCw5l5fed3HDI06tWhCjl9eAjvKESsyswxLfReq+Tp9Y3MvAtzMCsiPm7eG950aG9Mw0dtCnsfJkbENzXjN+ATXILbd3y3Icf0Ss5U0mVtU1yPKY1qPpbU9N6u5EnNi5l5b6VzDjZn5vhqa2tEbG1+sg7CbtjYKqqI2FonqlrfiK8xdsCrDT0aT9Z1zURVuLeSU+pKEbFFaQqH1LbmKx3wRYWHxudatq9Z4yq5uVVUmbkfrlJq1mTsY/s0rgdb11+vpEsrrM7M+tqyiJi7A3u7K0RsUMpDHY0fdmQbE9/jgOaFiOhp54/tyfq5nfHMnIqVlfG3lAL5nVLgJ+FivLsjR7gTY2pr0zAby7C+trduAHvHYA+siIhfW+w3fpgNbfT39NedO0IzWd9WclyLc48rF+3X4jNzcfW1d0eOIuLO+lo1OszGo4MYHRopuL7N/rmVXNnC7zDlPl9047A5jTZik5JizYYPxlS81IKoMUphp4MJeojRIKtfrczMCbgSn2pBlnLHHgM/vdvhT7Iiog8vY//MPLLpzLZKHl7ViUZA45R5bKKSjl05HgI0OuGcqpM34hql1LARWNAmRY+r5OpuHNaH0uU4H2cqw6aI2JSZq5R/4W9m5gvKQHpW5ex3fBgR2+wkZOZw5Wlfq0zi6zLzaYWg83AgromI59qYOEOZJ5/pxm99KF2u1K6La+sXKHXrYMzDEViozC/DDFCv/gYcrTSiXpyK95S0m6v8R5wVEXe3UszMfZU56tmI+Kobp/1e0VQvwJZgeovZ5V+PzLwad+PEiHi1G91Wbx2W4kssbrH3r0Zm7olFWN4tUbQgq6o9F6G3uXD+R3AYHlBN5N3iD4TdTsmJrHoBAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left(a + b\\right)^{2}$" + ], + "text/plain": [ + " 2\n", + "(a + b) " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr1_f = sp.factor(expr1)\n", + "expr1_f" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "a0664445", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIUAAAAUCAYAAACj4P7aAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEXElEQVR4nO2ZXYhVVRTHfzNqSmlM+VCWEeOLDzomSQjhgxo9RJAfFWj0MdGDKCKDRWEki39Q1EPNWClB5Yz2UoERSFHiV0RY4TQTTSUVcX1JiVSiebDSpoe1r5575n54ztk3Re4fhn1n73PW+f/32nvttfduGxsbo4UWkphY5GVJm4CVwGzgL+ALYJOZjUTg1kKT0Mhv7QXtLwa2AbcDS4EzwF5J1xa020JzsZg6fmuLuXxImgr8ASw3s93RDF9CkLQW79DHzGz7xeYDxTml/VZo+aiCaXj0ORXZbl1Img6sAO4GuoAbgb+Bb4F+oN/M/o30uQWhHIxkLwaKcqrwW9HlI40twDBwKLLdRrgfeANYCHwJ9AG7gLnAm8B7ktoifWsBcBr4LpK9GCjKqcJv0SKFpJeBRcAiMzub4/1ufFYvMbODGV//EbgH+DAZESQ9DXwF3IsnVruy8kpxnAzMAYbM7EwRWwmb3eTXXZhTNb+NGxSSHsDD8G3ADDwJ+RnYZmb9NQz3AqtwYb9kJVYUZra/Rv1xSa8Dz+HJVcWgyKG1C5gEDEqaD2wOdqcAnwMbL8LOKzenWn5rTz00DdgJzAI+A14D3gc6ge2SnqpieAuwGlhqZkeK6WsK/gllxSzKo5Xza/fNeIePAW8BXwN3AvsldUTm3wi5ONXzWzpSjAEzzex4ysAzeIh+FHgxUb8VeAhYDpySdH1oGjWz0ez64kLSRODh8O/HqeZMWgNuDeVCPNwOJd7biffFOuD5KAIuDJk5NfJbRaQws9F0J4X6Y8CvQPr8YR2eue4DjiX+nsgpMDZewJPNj8zsk2RDDq1wflY+mez8gK2h7CpGOTPycKrrt4pIIekaYD2+zs4GrqZyian4qJnlyugllfBwVw0HJKXrdphZd8ZvbAAeB47gsyLdnkmrpEl45x7Fl500ygNsSh1OJSLqzsupkd/ODQpJ84A9wHV4xv4OcAJfizvxMPxNPWMZ0Ad0pOrmA8uAHUAp1Tacxbik9fg263vgDjM7mWrPo3UucAWwu0aWX3b20TrU+oirOwancUhGirdxwuO2RpKeDT8PZzFeC2bWl64LW7NlwECerVnCTg/QC4zgA+K3Ko/l0VoO06Uan14Ryj21uDVBd2FO1dAeiN0EzAMOVumkDjzpgkvrFG8cwo6hF59hS6oNiAJayw4Yl2tImgGsAX4iowMKoimcymvo6VDOCutU2fB04F1gJh5ahzNR/h8haTOeWA7iEeL3Go/m1VrO8ldLuirx3lR8PZ8MbIh1qHWBaAqncxdikvbhN2ZDwF78MOcu4AB+GjhiZrcUFFETRU72JD0CDABngVfxy500SmY2EJ7PpDVsbf8EfgCuBCYAH+CdvhK4Aegxs1ey8A62u8mhu5mckjnFKuAlvHPW4pdJG0N5H5HyiSahM5QTgJ4az3yKDxzIrnUOnsEfBoQPvDWh7RDwYJE8KCeaxinq1XkLlwdi35K2cBngPzClEwYRaJESAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle a^{2} + 2 a b + b^{2}$" + ], + "text/plain": [ + " 2 2\n", + "a + 2â‹…aâ‹…b + b " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.expand(expr1_f)" + ] + }, + { + "cell_type": "markdown", + "id": "7aef0e38", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Einsetzen und Auswerten**\n", + "\n", + "Eine wichtige Funktion beim Arbeiten mit Ausdrücken ist das Einsetzen von Ausdrücken in andere Ausdrücke. In SymPy gibt es hierfür die Methode ````subs```` (*substitute*) der Klasse Ausdruck. Diese setzt den Ausdruck ein und wertet den neu entstandenen Ausdruck aus. Diese Methode kann somit verwendet werden, um Den Ausdruck für gegebene Variablen auszuwerten, oder weitere Ausdrücke einzusetzen. Wie auch die Vereinfachungsfunktionen, verändert sie den ursprünglichen Ausdruck nicht." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2691489a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAASCAYAAAAZk42HAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACRUlEQVR4nN3Xv2tWZxQH8E9KNNI4iFPqoELBIv6KdVCxSEtxcpB0kUIKSodqBykG3MrJWZwcAv5Ah2qT9A8oCCoOphXFpSFSdBKsbhWXSCM4VOJw76Vvru/7JsQ3Kfhdzr3nee453y/POefhds3Oznof8MH/TaBT6K47MvM4LuDbiLi8/JQWh7eEYFdpJ5eTSCtk5hNsaLH8LCL6aC3kFR4uDbVF4QVGmvhnqoc5QjKzB1swFRH/doJBZh7BFXwREb8tMsx0RAy321A/kW1YgcnM7MeP+ByrcBcnI+LBIsksKepCqv7YoCB+HT9hLw7gVmZuiojpZWNYoCczB7EeL/EnbkfE62pDXcinpd2NzyJiqlrIzDF8g+9xeilZN0Efxmu+vzLzaET8ztv3SHUipxpFlDhf2m2d5TgvruBLhZjeMv8lbMT1zNxBw4lk5opy01OMNQn4d2lXtco4z6icyMy6bzQijrRTERH1jx7gWGbOYAjDGGgsra1YiastJlZF8GmbvCNYU/P14xBG8aS2dr9NrPlwUSFkP3N7pCqrerIKA6W92SpyRIzUfeX4PYSf32H8NsPz0vYyt0cqIWubkPkI3+GRNkKWGXtK+5i5QqqJ9XVm9lbOzFyt6JkenOjURbkQZObmRi4N/o04V77+QllamdmN7ZjCh7ifmb8qyH+FdfghIm4sNfkaDmMoM28revMffIyDiqFzDWf4r0e2lAt/IHFWUUpwD4Mdru+FYgKfYCf2KfphGncU98p4RMxC1/vyY/UGjBygWKiW2QMAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle b + 5$" + ], + "text/plain": [ + "b + 5" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr2 = a+b\n", + "expr2.subs(a, 5) # 5 wird in a eingesetzt" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "d5b79f39", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAASCAYAAAAZk42HAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACXElEQVR4nN3WP2heZRQG8F+0taGtEusglQRJHBxi0mIRF4c20kEcSjPZgiXiIBERyaBL5XAcCt2CaDbTf4supeAW1ARKF2lMii2F6pAs6uKkg0Pgc7j3lpv7JV9ISVrSZ3k/zj3v+z3PPc857+1qtVoeBzzxqAlsFXY9agIbITPHMYX3I2J6vbydUJEj5TrfKWmnCPkPdzolbbu1MnMMF3AsIuY2uXcPBrEQESudctuEZOZpvI3XcBAr+B1TEXFhM0S2AEPYjfnMPIzPcRTduIGJiLhNw1qZ+TQuYwDX8RWuoh/TmfnZw+F/H1V/vKgg3sI3+AXH8VNm9tBekRZ6I+KvejAzz+Ie3sP5baPdjlfL9XW8ERELNU6X8S4+xLlVFYmIf5siyvif+AMHto3y2qgq8mldRImvy3WIRkUy81l8pOiRl/GM1fZrHrYKmbmksMFamM3MZuxSRIytc9bukuSywu5NVC+8m5qQzBzGDJ7Hz/gWfyuavR9ncKuTEEyipxE7jBO4hKXGs8UOZ72Cp/D9OhOremHLrK7IlZJE25jMzC/Knzc7/LGImGzGyvF7Ahc3OX4rWy2t8/xkuc5Q2iYz+zCMuTVE9CianA1u1y1GJaStLzPzID7Ab+pCFDcnDJTerDY8h+/Qq7DY4rZQXhvVxDqVmftqnPYremYPPq5s11V9xmfmjxhRNPQPisvwLcxiFLcj4tBm2TzIzZ6Zu/AP7mIvnsS1kvwoXsAnEfFltac+kd5R9EkfxvESJnCuzOvYH1uMQcU0uok38avCSmOKb66RughqFdnp+B/XGrOjRGragwAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle a + b$" + ], + "text/plain": [ + "a + b" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr2" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "43e711c3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAQCAYAAAClUHcBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAC20lEQVR4nOXXS2ieRRQG4CdtBBcq1WCkWpG60I3WC4iom6qgSEGxXpCCNi4LxVZdtIhyOIKgCzEiqKCYVDcquBHiDbUVV2qLUasUcZGVLSVWhIhSq3Fxvsifr3/yJ6Spi76bmW/OXN73mzlnzvRNT0871dA/U8nMAdyJDbgcF+AovsMIRiLin/+D5InGio76PXgF1+ILDOMdXIZX8XZm9p1sgsuB/o76j7gdY507mpmP4UvchY3qRywbMnNInawbI2LPcqzxn+iI+LRbh4g4lJkv4yms1xKdmZuUS1yD1TiGn/BiRIwsB+mFIDPXYwtuwLk4gm/xUv/cw2bhr6Y81pr4TLyOr/A5DmMQd+C1zByMiGeWyH9RaFzwOWzDJMZwEBfhFlzfU3Rm9uOB5vODlnkaayLiUGvM48pdHsRJFa1O5DZ1IjdHxO8dvM7AwEJ2+mkVzN6LiA87DRExhan2gIg4mJk/45wlkF80MvNq7MBebIqIoy1eU5iaV3RmPoRHcQD3d7Gfja3Kpy/FWWbfCF/3mH9CHbtu2J2Z7bZdETE0z5QPN+vvbAvuxJyiM3MrnscPuDkijrTs6/ARzlPR/U38ovx+rXKJb+YhSF2Lq1ptV6qYsAsTLdt4j/luxa/YPV+nrqIzc7sKBvuV4MNdur2hCB93tWTmk01173yLR8Rwl7WHlOjRxVxZmXm6itLjvZKoFe2GzNyhBI8rQccJzswLsQ57ughepQIY7Fso6ROAmcRpsFfHWaIz8wkVuPapHZ6cY9yfTXlxZp7WMX4Ab2GNOubji6K9BETEH+pknp+Z97btmXlJZq6EvpkHR2Zuxij+xgv4rcvcExEx2vT/BDepYPWxSkxuU/60Efsj4orFkl9KRpaZG/Cu2vX38b1ywavU1bqa2T69tilXYvsc836mfgzch2eV0C3qYfJIU96thz8vByJirMnEduI6lYxMNpyGZ/r1nYpPy38BSQ32s95e25IAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle 2 a + c$" + ], + "text/plain": [ + "2â‹…a + c" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr3 = expr2.subs(b, a+c) # Der neue Ausdruck a+c wird in b eingesetzt\n", + "expr3" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "19f8034b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFsAAAAcCAYAAAAOa8NNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAFB0lEQVR4nO2ae4iVRRjGf6Z2gaLIyltkid2k0rToooZmVCS1WaRoF4UgzNK8UJolT08gBFFtFKVouEv/dMHatO1ipatdldxWTSn/CJXCS+slMi3T7I+Zs3wdj+d8LrvfHsgHluGbeWeeOc83877vzLftDh06xDFkgw5ZEdk+FdidFV8OktplzXkkZCY2MAMYIOmrDDnLCsdlyHU18E2GfGWHTMS2fRGwQdI/WfCVK7Ja2RVATUZcZYusxB4KfJYRV9mi1QOk7S7Abkl/lrA7AZgCjAZ6xeofgZckvda6s8wGTWLb7gQMB4YBlwLdgf3AWmA+ML+ZPvdWYFExA9vHA4uB64AGYDZwEjAKmGf7Z0kfN4O7rJB0I3cBc4GrgBVAJbAAuASYB7xluzk56zDg/RI2jxCEngP0kzRZ0jjgwdg+sBm8ZYekG9kA3AbUJlew7RnASuBO4A7CC0gF2ycDHSXtKmE6DtgLTJWUPNIeiOWOtJzNge2xhN07RFJda/E0iS1pSSEDSVttzwZmAYM5CrGBm4Ci2992D6AnsEjSH3nNI2JZcG7lBtuDCbtxAHAmsBNYA7wqqSZtgPw7lgeKWh2OCmBmCZsrYrkiVxHd1UTCbvpU0pqj5M0Ucb4vENxhI1ALbAF6ADcC1wKlxbbdAbgvPn5UoP1KoF7SwQL9ukvaVIKifyxX2R5CyEYGARcCq4F7Ss2xDDCLIPQCYExyh0ZX2gnSpX7PEILkB8mMIL7NJ4CngBuAurx+g4DPU4yfE/tb4GVgZKLtB6B9ijHaDLb7AdMI8x8taX+yXdIeYA+UENv2RGAq4Uffm9d8MfA18AshZazLa68AqlLMtz+wSVKj7buBhwgvdwJB+N7AZYk5jQceBboC64BJktK81Fz/jYTtXQhLbefXVUsaW2TIyYSsbnq+0Pk4oti2HwZeBNYDQyXtTLZLWg+st10NjCFsoyT6SGooRh6DYyfii4quaAewDFhmuwHoY7unpJ9sj4xzGg98EcsPbfeWtLkYVwKVwGl5dX0Ji6Ma2JjXVvQ3EJKAXcDSUsQFxbY9ieDwvycIvb3IGDXATNv9JNXH/n0IUbgUki6kEHIp4++xnAJUSZobnyfYvpmQATyegg9Jlfl1MfWriGPXpRkn9juRkHU0pDnwHXY3YnsaQegGQt5ZTGiiwJsJriSHCuC9FPNtCo4F5nE6IYVaK+nXeMrsTzhpJrGYEO3bArlD3llpjP8jtu2ZhIC4irCiG1OS1gC3J54HActT9MuJPTJ5Oo3CzgE6As/F6jMIwXJb3hjbgC4p59mikLSPsPu72R6R3277AttNAT55NzIGeBo4SMgiJhYIFhslVRXgrYn2vYC/gC2S0uTkObHvB/raXgKcQshNexK2dXWKcdoS04GFwBtRw3WEmHA5cLakrjnDpM8+L5btgUlHGHgZhTOM5YTANhzYRwoXYvscwmr9hPBt8nqCT/4NqCdE97cTXRoJC6Fz3lCdga2l+FoLkmrjyXE6cA1hoTQSLvAqk7btWurruu0q4HzCEXVUzC+L2Q8H3gEek/RsSo4VwGpJDyTqNgALJKUKkG2JlrzPfjf+LSwldETOhdQfBcfzwOu2VwJfEi6wuhGuZMseLfmlZjHBhdSmtM+J/V1aAklvElzck4RsaSBwS4orgbJAi7kRANuvAJaUnzEUst0O7JV0botNoMzRomIfQ3Fk+X8j/3v8C010rqvgb1awAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle 2 \\sqrt{\\beta_{0}} + c$" + ], + "text/plain": [ + " ________ \n", + "2⋅╲╱ \\betaâ‚€ + c" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_temp = sp.sqrt(beta_null) # Ein neuer Ausdruck wird zwischengespeichert\n", + "expr4 = expr3.subs(a, expr_temp) # und für a in Ausdruck 3 eingesetzt\n", + "expr4" + ] + }, + { + "cell_type": "markdown", + "id": "1c38f672", + "metadata": {}, + "source": [ + "Es können auch mehrere Variablen auf einmal eingesetzt werden. Dazu ist eine Liste mit den einzelnen Einsetzungen erforderlich. " + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "0197070f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABQklEQVR4nJXSsUsVUBQG8N97GILRICkUDg3VYEMggosQBS5hRDQ1hKOLgw7hejhtOgj2B0SDNQW6FtGDgqLAf8DEtZJqCSJcnsO7we3SYN9y4Jz73e/77rmdfr/vfzHUNjJzHsu4grP4jF1sRMR76NRKmbmGVXzHDr7hEm4XgYWI2BqqCOfwAF9xNSIOq9kNvMZDbHUrZxfQxYeaABHRw0+MK4f+4BOOMJOZY03OaziDV//KtIKNkmWnZLtYMr3B/Yg47LRPnpl38BijVXt/4DKetfZk5iqe40lROI1pHOBpZq7/ZS8zr6OH7Yi421w2gj2cx+Va6VapPQ0i4hc+FmdTNWm41PGW1PSPatLbUhczc6KxdxOz+I13daYuXmDOYJHb+ILJYr2DlYjYbPd0Cku4Z/BhR/Cj5HkUES9plntSHAPM/HYI9feAagAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle 8$" + ], + "text/plain": [ + "8" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result = expr2.subs([(a, 5),(b,3)]) # Da in diesem Beispiel nun keine Variablen mehr vorhanden sind, erhaelt man ein skalares Ergebnis\n", + "result" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "8d0a54b9", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8 <class 'sympy.core.numbers.Integer'> \n", + " 8.0 <class 'float'>\n" + ] + } + ], + "source": [ + "print(result, type(result), '\\n', float(result), type(float(result)))\n", + "# Das Ergebnis ist zunaechst noch ein sympy Datentyp, kann aber problemlos in die Standard Python Typen zur weiteren Verwendung umgewandelt werden" + ] + }, + { + "cell_type": "markdown", + "id": "c453f69a", + "metadata": {}, + "source": [ + "Brüche und Würzelausdrücke werden nicht automatisch in Dezimaldarstellung überführt (außer das Ergebnis ist ganzzahlig). Durch Beibehalten der symbolischen Schreibweise können die Ergebnisse ohne Rundungsfehler weiterverwendet werden. Ist man an einer Dezimaldarstellung interessiert, nutzt man die Funktion ````N()```` oder die Methode ````.evalf()```` " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "5dddef57", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAXCAYAAAAcP/9qAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAB9UlEQVR4nMWWTUtVURSGn3szGjSSIAdBUJOgj5FEEwmlKEIRShpJ9QcihAZBFC8vFDQzaSIkaKNAcKaiEUXkwIIg6IMogqCJRR80CKKy2+Bs6d7rPt6z9WILDuecxbv3s/Y666y9S5VKhRSznTYgx0opYNvtwH5Jw2sFlxP13cDUWqGrAW+X9H5dwbbbgIVmQJPAwDFg+n+ADwDz6wq2vRFYlPSnWeCWgroOYC4S0BbgOFm17wO2AT+BZ8AoMJoXbNFUHwVmI/6TwE2yz/AIuA5MAHuBEWDcdik2Yc2KbZeBsqTfdbpWSV8j418DvcBU9cpsXwQeA33AiRBMHGy7FbgdrltV/p3A21jUku7l+BdsDwNXgc4YuDrVe4APQE+dpofVdatf4V6fvVqwpDngCnAkVPGS7Zb0IoVouwU4HV5nVgQH+Buy7nQwTLAZ+J4CDXaNrMCmJcWKMlrVk/xL92HgbgrR9jngPPAKOJWnywN3h+dO4H4C9CwwBLwEuiR9SQE/BLba3gVskvSjIHQAuAE8D9AVN5Rl4PAPzwKXgKcFoReAwaDvkvSx0Zi8zjUJ9FNgN7J9mayYngCHJH0qEmz06BN68B1J7Q2gZ4AxYJEszd8isneSxuqd0U1C0mfbfQ3Dhh3hvgEYyNE8CMHVWNJhr5n2F/r2oaG5bVXKAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\sqrt{2}$" + ], + "text/plain": [ + "√2" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_sqrt = sp.sqrt(2)\n", + "expr_sqrt" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "58503529", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle 1.4142135623731$" + ], + "text/plain": [ + "1.41421356237310" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.N(expr_sqrt)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "0ccf2590", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle 1.4142135623731$" + ], + "text/plain": [ + "1.41421356237310" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_sqrt.evalf()" + ] + }, + { + "cell_type": "markdown", + "id": "598e2e87", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Gleichungen**\n", + "\n", + "Mit Gleichungen werden Ausdrücke gleichgesetzt. Diese können wie normale mathematischen Gleichungen umgeformt und gelöst werden. Da SymPy die Python Syntax nutzt, wird eine Gleichung nicht über die Operatoren = oder == erstellt (wie man es vielleicht zunächst vermuten würde). = wird weiterhin für Zuweisungen genutzt, also zum Beispiel um einen Ausdruck zu kopieren. == ist weiterhin der Vergleichsoperator. Dieser prüft aber nicht, ob die Ausdrücke äquivalent sind (also ineinander überführt werden können), sondern, ob sie exakt gleich sind. Stattdessen wird für das Erstellen einer Gleichung ein Objekt ````Eq```` mithilfe des Konstruktors angelegt. Hier am Beispiel des Satz des Phytagoras gezeigt.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "26485336", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHYAAAAUCAYAAABYm8lAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEIklEQVR4nO2ZTWhdRRTHf4mJCdJKtFSNtGgr2EU/bRBRu4gRESnS2oW0BTXiQlpEYxFrQTn+BQtuaipaV7Y2goigFIsUS2sEEUVS89SI4hfpRt1oEStWrT4X595yc9+7yXvzJs2r5Le5ycydM/+Z8+bMmbkt5XKZWf5/tDXSWNIOYAOwBPgT+AjYYWZjEbRNO+eq/lp0tzbYRy+wB7gB6ANOA0ckXdyg3bNFL+em/l6m0N0SMxRLmgP8Cqw3s4PRDNfe/xZ8wPeZ2d6A9jOqP5RquhtdsXnmJjZPRLZbKz3J81hg+5nWH0qF7tiO3Q2UgA8j262VHuAU8EVg+5nWH0qF7oaSpyySdgFrgDVm9k9A+35gH3CTmb0X0L4DWAqMmtnpgPYN6Z8pinRXOFbSZmAtcC3QjW/M3wJ7zGxfgfFngY24U76PL78mlgPtwDFJq4An8CSjE/gA2FaU7TaJ/lRLL7AFuBGYD/wCfAa8aGYHcu8W6m7NvTgXGAIWA+8DzwNvAouAvZK2VxGyG9gE9JnZV40PLZh0f70Cd2QZeAn4BLgFeFdSV75Rs+iX1CJpEBjGM90jwK7k/x48A86+P6nu/IotAwvM7KeckceBr4F7gWcy5S8AdwHrgROSLkuqTprZybAhBrM6eV6Hh6XRtELSEK5zK7AzUx6kX9IA0FWHtlJ+tVXhaeAh4A3gHjP7PdPfHGBePbonODYprBiQmf0o6Qcgf77bmjyP5soFPDnFQGKTrthHs05NSCdiea48VP8AHhlqZT9woKhS0mpgOzACbDazv7L1Vfwype4JjpV0EfAAvscuAS5kYrieMGFm1jLJYAqRNE7xxAxLypftN7P+Sey14047jm8ledII1JktDNVvZleGtJuEh/F5fizv1IL+p9R9xrGSVgCHgUuBj4HXgJ/x5GkRcDfwaZDsSgapDGWrgHX4r3s8V1eawt4y4HzgYEFGnP6Ijtcu8axyK34GHY5lMLtiX8Enu+K4Iemp5M+RGJ2a2WC+LDnurANeDjjupGF4vKD+juR5uE67VYm5x0rqxLPfkpn927C4hLbE+EJgBfBOFad24UkThN/oTDepYyvueCV1A/cD3xDJscTdY9OwekkDeipIV+yp5LlYUruZ/Q0gaR7wKrAAD8mlmJ1HJM2IN0namWaUSTY5BHQAD4ZcXFQj5h5rZn9IGgOWSbrTzF7P1ku6Gviu3kuTMx8BJB3Fz0+j+BmqG7gNj/sbgDEzW9nwSAoIvXmS1Ab8BnwJXACch6+ODlz35cCAmT0XV3E8JK0F3sJX7yH8SrQLuAY/fnbXazOb8W7E99mF+M3HVcA2/NzXSqT9dRpYime7I8DNwOd46O3HJ6ivmZ0KYGZv47dkh4Dr8Sz5djyheiTEZtTPdrM0D7G/7szSJPwHNTGcI7LOh38AAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle a^{2} + b^{2} = c^{2}$" + ], + "text/plain": [ + " 2 2 2\n", + "a + b = c " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "expr_kat = a**2 + b**2\n", + "expr_hypo = c**2\n", + "\n", + "eq_pyth = sp.Eq(expr_kat, expr_hypo) #Der Konstruktor erstellt die Gleichung mittels Ausdruck der linken Seite (lhs) und der Rechten Seite (rhs).\n", + "eq_pyth" + ] + }, + { + "cell_type": "markdown", + "id": "795936b9", + "metadata": {}, + "source": [ + "Die Gleichung kann nun mittels ````solve```` oder ````solveset```` nach einer gegebenen Variable aufgelöst werden. Für Details der Unterschiede sei auf die SymPy Dokumentation verwiesen. Kurz zusammengefasst sollte ````solve```` verwendet werden, wenn die Ergebnisse weiterverwendet werden wollen, zum Beispiel Werte eingefügt werden sollen. Es gibt eine Liste mit Lösungsausdrücken aus. ````solveset````dagegen gibt die Lösung mathematisch präzise als Menge (set) aus. Dadurch ist es möglich leere Mengen oder Lösungsbereiche anzugeben. Es ist aber nicht unbedingt möglich, auf dieses zur Weiterverwendung zuzugreifen. Es bietet sich daher besonders dann an, wenn man an der mathematisch präzisen Darstellung interessiert ist, aber es nicht im Programm weiterverwenden will." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "b6bfb3b1", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ - \\sqrt{- a^{2} + c^{2}}, \\ \\sqrt{- a^{2} + c^{2}}\\right]$" + ], + "text/plain": [ + "⎡ ___________ ___________⎤\n", + "⎢ ╱ 2 2 ╱ 2 2 ⎥\n", + "⎣-╲╱ - a + c , ╲╱ - a + c ⎦" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result = sp.solve(eq_pyth, b)\n", + "result" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "b36b3ddd", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left\\{- \\sqrt{- \\left(a - c\\right) \\left(a + c\\right)}, \\sqrt{- \\left(a - c\\right) \\left(a + c\\right)}\\right\\}$" + ], + "text/plain": [ + "⎧ __________________ __________________⎫\n", + "⎨-╲╱ -(a - c)â‹…(a + c) , ╲╱ -(a - c)â‹…(a + c) ⎬\n", + "⎩ âŽ" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_set = sp.solveset(eq_pyth, b)\n", + "result_set" + ] + }, + { + "cell_type": "markdown", + "id": "b5c44b78", + "metadata": {}, + "source": [ + "Bei ````solve```` kann direkt über einen Index auf den Ausdruck zugegriffen werden. Dies funktioniert bei ````solveset```` nicht. Mit dem Attribut ````args```` kann zwar auch dort mittels Index auf Ausdrücken der Ergebnisse zugegriffen werden, allerdings stimmt zum Beispiel hier die Reihenfolge nicht zuverlässig überein. " + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "a81e445c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAAyElEQVR4nJ3SIU4DYRCG4WebHoAL9ABIMBgU56hBYHsAEhjGYRBNEBUlJPQmDUnPABJPMDQN6kd0qSjd3cLnJjPvzHyTqUop/qp+WzIzh5jV4UVETKHXAgxwj8/t3E4oMys84h2TvSCMcIZzLDuhzDzELcYRMd/VsbcF9K2Nv+GyYYtf17vGEU4jYtUEbSZl5knd/S4iFk3ABqrXesIrrtoAqEopMvMAH13FtcY/nr7w0FB0bO3zGS9YVF2/l5k3CPu8UZv+BX0DNhU3zT1APgIAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle 4$" + ], + "text/plain": [ + "4" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result[1].subs([(a, 3),(c, 5)]) # Zugriff auf die Ergebnisse als Ausruck. Hier werden dann beispielhaft a=3 und c =5 eingesetzt." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "8ed01ce4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAPCAYAAADzun+cAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAA5UlEQVR4nMXUMUoDYRDF8d9KDuAFxNpSGxsrz5HGwlasBR2ns7EIWFgoAcWLiJAzKAhiYSc2ilqtxa6NmGQDu8nrPmbe9+cxwxRlWVqEel1+npl9XNfP3Yi4+K0tdQhdwRne/6t3As7MAkO84nxuYOxhGzv4mAs4M9dwgkFE3I7raxWcmT3VMj3jYFJv21t9hHVsRcRnY3BmPmF1BtBNRPRr76Yq5WlEjKYZ/yZ+xNcM4Jca2sMVHnDYxFi0cbkycxlvDdsHEbHf1oy/cTmmtqGa+x3uMaKlxJOUmccI8zqZ07Qw8A+N90F5uLVyoAAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle -4$" + ], + "text/plain": [ + "-4" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_set.args[1].subs([(a, 3),(c, 5)]) #Zugriff mittels args bei solveset. Achtung, die Reihenfolge der Ergebnisse weicht ab" + ] + }, + { + "cell_type": "markdown", + "id": "218a72f5", + "metadata": {}, + "source": [ + "Das Lösen von Gleichungen kann auch komplexe Zahlen oder leere Lösungsmengen ergeben.\n", + "(Hier gezeigt an den Beispielen $4x^2+1 = 0$ und $e^x = 0$" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "f0ef2e1f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAUCAYAAACUAvOrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEHUlEQVR4nO2ZXWgcVRiGn5iqFYs29aKgSPFGsKRWY/BGWvpDJFK1bqU3Vi3ihV5IDIpVLPrmFUQvWn9BKwoNqEWQKr2oWoVaFX+QRiPGKhUxFtLWf6yK1f7EizOrk9mZ2d3sjA3Y9+bbnXPOt8+cb+c73znTNj4+znFNLZ1wrAGOq1bT8hptXwP0AecBM4CLJA0XDWH7NmA9sErSpqL9TxUW2wPAWuBH4ANgjaTdyX6ZQbE9F3gO+B14ERgD9hcJGVN3ZHemcMwG9gJPAANABVgGzAPOAv4CPgU2AhslHS2DpSCOHcB04AJgOXAmcHGyU96TshhoA9ZKeqyx+5m07gLuA75MaVtOSLMvASuBJ4F9wJvAHmA2sAJ4BrjM9kpJrSyUWSwtc0jaQQgMtoeAbtszJP0W75cXlFmR/bzZu2pWkvbkNFcIj/vbhD/JlcDW+D/R9t3Ah8DVhInZXAJL0RxfAF1AB9BwUNojeyinT8uyvRjYDqyTdEei7TRgCbBJ0pGoX40k7be9AbgfWMQkg5LFUhJHdV7bkw1TofrqiuxHKW2XAycBLzfgp3qTh0tg+U858oIyM7J/TNZ5g8oLSoVQaLye58D2NOD66OtrJbCUwXEwsqcnG1KDYrsNWACMA9/Ucd6qugg5dUJpaHs60Au8Kulg2sCYHgQ6gVckbSuSpUSO0cguSjZMWFNs9wI9wMII8ClJmWWw7VFgTp0fj+t5SdfGxp8KnAu8l1Ix9RD2Rrkpw3YfcDth4byuCZaknyyWsjieBW4G1tm+hFDtPS1pNLnQ9wK3Rp9HgMfrOP6Kfx/DRrQ38X0+4WlNS10rCLX/1ixntm8BHgV2AUsl/dQES1JZLKVwSBqz/QDwMKHEBngDmBgUSf227yXsUV4AttmeE1UcaY6X1vvxOqrm8I/jF223A1cA2yX9kjbQdj/hhkYIE/Fd0SxlctheBmwA3gVuAnZLOgQpJbGkA8AW25uBVYQjlpGGbqt5ZS2sC4EzyEgZtu8k5O9hoEfSDyWxlMmxJLIDkj6LN+TtU6oL/KycPq2qi5D+diWuV4CjwJbkANv3EHbcQ8Cl9VKF7UFgNXCDpMEmWQrjSFFHZEeTDXlBqdbbpexlbJ8MzAWGJR2OXW8DrgLel/RtYsxqwkQcAd4B+mwnXY8mJr/Kn7lvSGMpgSOpTK68oJT9oqUTOJHa1NUNnA08kjLmnMi2A/0Zft8CBmPf5wG/krNQZ7AUzZGlmnnOC8qfke3I6TNpSRoinCElVYlsTR6XNEA4oW1ItmcC5wPrJf3cJEthHBmqzmtN9ZoXlOop6Y22dwJjBRyLN6IK8ImkrwvwtYCQhh86xhz/KEqV8wmbxgPA98k+bVmvg22fQjjx7IxdvrCMl1z/F0UvuRS7NCCpZjH6G0KX0RlHAbVDAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left\\{- \\frac{i}{2}, \\frac{i}{2}\\right\\}$" + ], + "text/plain": [ + "⎧-â…ˆ ⅈ⎫\n", + "⎨───, ─⎬\n", + "⎩ 2 2âŽ" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.solveset(sp.Eq(4*x**2+1, 0), x)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "add0a28b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABq0lEQVR4nH3UT2jPcRzH8cfWmuyEw0Q5URyc/b1wRHKR+ROhZJedJLLDyydODsrJDpbYZYWVmsMuOMhJysWF5CApaSMrG2sOv++P7es77/pc3n3ez/fr/en1/nTMz8/7X5RSurAWU0m+LcivxGySaehaorgDR9CP7e17pZSPGMVjBHswDZ0NkNWYwA08q0C92IRB7MI4xpN8add1LBytlNKN51WXviSfGsacwI9KzcEkY02KLmMVDtQhVVzHyyT7cAtDpZTli0BVoh+DSaYaRj6FjbhYpc6jB8fqinajGw8aIFtxDoeTzEGSr7iH/XXQerxJMluDrMEdHEoyWevxqqpbBOpSs0MpZRnu40KS13Wl+FWdRaB32FBK6VmQu4mJJA8bILAZb+ugJ5jD0UrNAFbgShOhatin9U5/QZX9b+NqKaUPp3EiyVI7dA2TGOPfFbmkZbRRbEvyvUFJp5bDz2Bnkp9NoBl8QAcelVKGtOzwXsuoOzCAddib5EW78M+KVIs6gqe4i+M4iS1a/prXetgRDCX5vFBBXdHZ9reAYQxXDXq1vpGZ+qjt+A3SP5nq7ULTXQAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\emptyset$" + ], + "text/plain": [ + "∅" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.solveset(sp.Eq(sp.exp(x),0),x) # Solveset gibt das Symbol fuer leere Menge aus" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "e7d8e45c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAYAAACEYr13AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAAgUlEQVR4nO2UMQ7CMAxFXyuOwN61x+AovcmvT0Z6DDZ2OncNAwEcmooha95kxfKLZcnuYozU0FdVA6d3YGYX4OpyN0ljyp2Bhy+U1GUCxwIEYHVvG2ApnoBh14EjSJp/ftuA2XX6EVTPoAmaoAlelLZRZib+3IOS4M535+H4HmQ8ATaYI2kok+bYAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left[ \\right]$" + ], + "text/plain": [ + "[]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.solve(sp.Eq(sp.exp(x),0),x) # Solve gibt eine leere Liste aus" + ] + }, + { + "cell_type": "markdown", + "id": "43593586", + "metadata": {}, + "source": [ + "Als weiteres Beispiel für den Unterschied zwischen ````solve```` und ````solveset```` sind hier periodische Lösungen gezeigt am Beispiel $sin(x) = 0$" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "6a222fab", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAADoAAAAUCAYAAADcHS5uAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACnklEQVR4nOWXz0sVURTHPy9aRBFKRaugwLKgHwyPKEGCIhChP6A2gW2iH1CE0KbF1xO0TKioVsGDVrYyqo0QGVi0y36rFQgFLkxKLCESX4u5k+M047vz3suIvjCcyzkz33vOPXfuPadQLpf5H7DkbzuwWFgaDcxsL/AgZhuWtGWxHaoFZrYGGI/rJBUgFmgMD4F+4FMK0TrgPNAOrAbGgF7AJH2up9NVYhowN+4A1keGtED7JXUllWbWBDwG1gK3gSFgF3AaaDezVkkTdXU7JyRNA13wa4cuGGgWrhEGeUrSlUhpZt3AGeACcKxmb/8QvAJ12WwDRoGrCbOAo8BhM+uU9K1ezpnZAeCu5+tFSU+zjL6n7j4n+yTNxg2SpoBHwHKgxZPPF5PAdTd+Rfj/RU+P0w8QLvazhYh8t+5mJ0cy7G8JM94M3PfkrAhJA+4kPQ70xs8OMzsLHARKkm5U4vLNaIOTkxn2SN/oyZcHgZODCX0xQ5+Kf6FgCJxMbs0iMAO89CHxDTTKWEOGPdJ/8eTLgwD4CryLFGa2EtgIDEn67kPiG+iwk80Z9k1OZv3DVcHMGgnvwueS4kV5ABTw3LbgH2hUGraZ2bxv3Oq2ElYlT3wn9kTgZNq2hXoHKuk90AdsAE4mzAasAG4m71AzK5lZ2cw6fB1KIHByMKHf5uQLX6I8ldEJwhLwspntB94Auwnv2BHgXMo30ULO5JgnjsDJZEZXObnVzF5L+liJyPvUdVndCZQIA+wEmoBLQEtGnbsdmALu+c6TQADM8nvmbgEThGXnIR+iPBlF0gfgiM+77iDZAVystrORFGToe5irjLyQFqjMTNTej+4BfgDdNXDkQlo/GiEe6ChzvRyk9KN5IOkOsKwWjioQ70fn4Sfuzr8w9Z1MbwAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\left[ 0, \\ \\pi\\right]$" + ], + "text/plain": [ + "[0, Ï€]" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.solve(sp.Eq(sp.sin(x),0),x) # Solve gibt nur die Lösungen der ersten Periode aus" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "6ba4c88a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left\\{2 n \\pi\\; \\middle|\\; n \\in \\mathbb{Z}\\right\\} \\cup \\left\\{2 n \\pi + \\pi\\; \\middle|\\; n \\in \\mathbb{Z}\\right\\}$" + ], + "text/plain": [ + "{2â‹…nâ‹…Ï€ │ n ∊ ℤ} ∪ {2â‹…nâ‹…Ï€ + Ï€ │ n ∊ ℤ}" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.solveset(sp.Eq(sp.sin(x),0),x) # Solveset gibt eine Mengenvorschrift mit den Lösungen aller Perioden aus\n", + "# Es ist leicht nachvollziehbar, dass dieses nicht ohne weiteres in einem Programm weiterverwendet werden kann." + ] + }, + { + "cell_type": "markdown", + "id": "67dfef8e", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Gleichungssysteme**\n", + "\n", + "Mit SymPy können auch Gleichungssysteme gelöst werden. Dazu stehen die Funktionen ````linsolve```` für lineare und ````nonlinsolve```` für nichtlineare Gleichungssysteme zur Verfügung. Sie funktionieren sehr ähnlich, daher beschränkt sich dieses Grundlagennotebook auf die linearen Gleichungssysteme. Zunächst beispielhaft anhand einfacher 2x2 Gleichungssysteme, wie z.B.:\n", + "\n", + "$2x-y = 1$\n", + "\n", + "$x+y = 5$" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "2bdfdf44", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAUCAYAAADx7wHUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAE30lEQVR4nO2Ya4iVVRSGHy/UiOKdDAXRMKWLpWkhpaalptnFCv8UWhRWhIiVFCnxzmt4CczKim6Clv2wYkgpRSnSyqLMGzWlaNBYiKZpZImm2fRj71PHb77vO+fMOAXR+2cx31p7rT3vWXuttXeL+vp6/sfpQct/ewP/JbTOU9q+FZgGnAe0AwZJ2pZi9wowDugt6Ugz7LPZYHsQsAmYImlxhk01MAs4CHwKPCRpZ9Iuk0zb5wOvAUeAN4E9wL4Uu0uBScCMYiJtdwFuAsYD/YEewHHgS2AJsETSH6X/3cpg+3FgMNAX6AocBXYDK4BnJR0stpe02fYK4DHbyyX9muJ2PVAFDABuBLoDlyWN8jJzJNACmCVpUY7dHOAw8Hzi+8T4bS+wDvgO6AbcDCwGxtmeKOl0F+37gS3Au8B+oC0wBKgG7rY9RNL3iTXzgM8Ip3Bu0qGk9QRCsb0ZGGy7XZL4PDI7R7k9y8B2X2AUsFjS0YR6J3ADsKo4A23PBDYCtxCIrcnZQ2PQXtKxlL3OAWYCjwD3FeskbbS9A7jH9vwSJ2YHcAnQCTiFzLwG1CrKEzk2dxKy9/WkQtL7kt5ObkzSPuCF+OeIHN+NQhqREW9EeW6GfjnQExhdIkSBj1ZJRVO7+SjgJKEoV4LChn5vYvxKcH2UX2ToP46yFJmZyDvmHaNMHl8AbLclFOTtlXRw262ByfHPNeWuqxS2ZxAmkA6EhjSUQOT8jCWfRzm8hOtC5ndIKlIz03YLYBhQT+iEaehBSPW9JYInMR+4EFgtaW2FayvBDEDAdAKRa4Axkg6kGUv6mUBUzxJ+66IckVSckpm2xxLSfDihyL4Ya1waukT5U4ngxf6nAQ8Sivikctc1BpLOjjG7AZcTfsSttq+TtCVj2SHCxJGHZcC9wALbVwC7gJcl1SUzcyzwAOFY1ALP5DgtHP+qEsEBsD0VeBr4Ghgp6VA565oKST9IegsYQ0iAV3PM25BR1or87SGMUicI499MoBckjrmk6YRaMAHoA6y13aBrReyPskuG/i/Ynk74YWoJRGZle7NB0m7CD3mB7a5Jve2WhD6xP6lL2I0nTCNbCOXqjDiHNmxAkg4DK23XALcRrpK1KX73AgeAfiWCP0w4YtuA0ZJ+zLNvZnSP8mSKrh9hzNtWwsdVUVZL+qpYkTcaFRpP5zRlvLl8CHS13SfNxvajBCI3A1eXQ6Ttpbbrbd9RyjZlbV/bDbqs7ZZxaD8L+ERSWp0fEuW6EmE6RVmXVOSNRoVZMI/wGsJN5hrgm2KF7duB2YQs+AiYZju5vk7S0sS3QrzGzKDXAvNsbwC+JTxMdAOuBM4hvC1MyVg7Ju51ZYkYmfvLI7OcO3MNocZMBp5L6HpH2YownqThA2Bp4lt/4BdgVRnxk3iPUOuHAgMJNfAI4Wq7DFiU1vhiNk8A3km5t2ehAT95ZP4WZacsA0nHbT8FzLU9UNLWIl014XGhbNjuCFwEPJFxFHMhqRaYWuk6QjJUAQvKsC3w0eDamkfmrijvsr0J2JPxAPAkYe6azd9XtsZiGKG8LGyin7Jhuw3h8aNG0oYcuzOBiwnD+mFC8z0FefVwNaGLjyc8n520PSBpFB8WJgGb4hWz0YgPI1X/8OjUC3iJcGNKRXwcPkZ4pmsPLExLrD8B1jmgxNdEZ6UAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left\\{\\left( 2, \\ 3\\right)\\right\\}$" + ], + "text/plain": [ + "{(2, 3)}" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eq1 = sp.Eq(2*x-y,1)\n", + "eq2 = sp.Eq(x+y,5)\n", + "\n", + "result = sp.linsolve([eq1,eq2], (x,y)) # Syntax: Liste der Gleichungen, Tupel der Variablen, nach denen gelöst werden soll\n", + "result # auf die einzelnen Tupel der Variablen kann mit args zugegriffen werden " + ] + }, + { + "cell_type": "markdown", + "id": "37b2fadf", + "metadata": {}, + "source": [ + "Gleichungssysteme können auch unendlich viele oder keine Lösungen haben. In diesen Fällen werden dann Zusammenhänge oder leere Mengen ausgegeben." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "9fbedd90", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left\\{\\left( \\frac{y}{2} + \\frac{1}{2}, \\ y\\right)\\right\\}$" + ], + "text/plain": [ + "⎧⎛y 1 ⎞⎫\n", + "⎨⎜─ + ─, y⎟⎬\n", + "⎩âŽ2 2 ⎠âŽ" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eq3 = sp.Eq(2*x-y,1)\n", + "eq4 = sp.Eq(4*x-2*y,2)\n", + "\n", + "result = sp.linsolve([eq3,eq4], (x,y))\n", + "result" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "48940f4b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABq0lEQVR4nH3UT2jPcRzH8cfWmuyEw0Q5URyc/b1wRHKR+ROhZJedJLLDyydODsrJDpbYZYWVmsMuOMhJysWF5CApaSMrG2sOv++P7es77/pc3n3ez/fr/en1/nTMz8/7X5RSurAWU0m+LcivxGySaehaorgDR9CP7e17pZSPGMVjBHswDZ0NkNWYwA08q0C92IRB7MI4xpN8add1LBytlNKN51WXviSfGsacwI9KzcEkY02KLmMVDtQhVVzHyyT7cAtDpZTli0BVoh+DSaYaRj6FjbhYpc6jB8fqinajGw8aIFtxDoeTzEGSr7iH/XXQerxJMluDrMEdHEoyWevxqqpbBOpSs0MpZRnu40KS13Wl+FWdRaB32FBK6VmQu4mJJA8bILAZb+ugJ5jD0UrNAFbgShOhatin9U5/QZX9b+NqKaUPp3EiyVI7dA2TGOPfFbmkZbRRbEvyvUFJp5bDz2Bnkp9NoBl8QAcelVKGtOzwXsuoOzCAddib5EW78M+KVIs6gqe4i+M4iS1a/prXetgRDCX5vFBBXdHZ9reAYQxXDXq1vpGZ+qjt+A3SP5nq7ULTXQAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\emptyset$" + ], + "text/plain": [ + "∅" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eq5 = sp.Eq(2*x-y,2)\n", + "\n", + "result = sp.linsolve([eq3,eq5], (x,y))\n", + "result" + ] + }, + { + "cell_type": "markdown", + "id": "e0cad312", + "metadata": {}, + "source": [ + "Ebenso können die Gleichungen variable Parameter beinhalten." + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "8e23161e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left\\{\\left( - \\frac{2 b}{a^{2} - b^{2}}, \\ \\frac{2 a}{a^{2} - b^{2}}\\right)\\right\\}$" + ], + "text/plain": [ + "⎧⎛ -2â‹…b 2â‹…a ⎞⎫\n", + "⎪⎜───────, ───────⎟⎪\n", + "⎨⎜ 2 2 2 2⎟⎬\n", + "⎪âŽa - b a - b ⎠⎪\n", + "⎩ âŽ" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eq6 = sp.Eq(a*x+b*y,0)\n", + "eq7 = sp.Eq(b*x+a*y,2)\n", + "\n", + "result = sp.linsolve([eq6,eq7], (x,y))\n", + "result" + ] + }, + { + "cell_type": "markdown", + "id": "dfa01962", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Matrizen**\n", + "\n", + "Matrizen in SymPy haben die Besonderheit, dass sie im Gegensatz zu den Gleichungen und Ausdrücken von Funktionen veränderbar sind. Sie werden mittels Konstruktor ````Matrix```` oder weitere Konstruktoren (ähnlich wie in Numpy) ````eye````,````diag```` angelegt. Es stehen viele Funktionen zur Verfügung. Dieses Grundlagennotebook zeigt im Folgenden Rechenoperationen, Transposition, Inversion, Determinante, Eigenwerte- und Vektoren. Wie Gleichungssysteme funktionieren Matrizen sowohl parametrisch als auch mit Zahlen, und mit beliebigen Zeilen und Spalten." + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "172a57bd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}2 & 3\\\\4 & 5\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡2 3⎤\n", + "⎢ ⎥\n", + "⎣4 5⎦" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA = sp.Matrix([[2,3],[4,5]])\n", + "mB = sp.eye(2)\n", + "\n", + "mA" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "978b4afd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}1 & 0\\\\0 & 1\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡1 0⎤\n", + "⎢ ⎥\n", + "⎣0 1⎦" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mB" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "ebbfd300", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}3 & 3\\\\4 & 6\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡3 3⎤\n", + "⎢ ⎥\n", + "⎣4 6⎦" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA+mB # Addition (Substraktion analog)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "f9f8f6d7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}2\\\\3\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡2⎤\n", + "⎢ ⎥\n", + "⎣3⎦" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vC = sp.Matrix([[2],[3]]) # Vektor (1x2 Matrix)\n", + "vC " + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "719686ff", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}13\\\\23\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡13⎤\n", + "⎢ ⎥\n", + "⎣23⎦" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA*vC #Matrix-Produkt mit Vektor" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "7c0d72e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}16 & 21\\\\28 & 37\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡16 21⎤\n", + "⎢ ⎥\n", + "⎣28 37⎦" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA*mA # Matrix Produkt. " + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "e2d4e35b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}2 & 3\\end{matrix}\\right]$" + ], + "text/plain": [ + "[2 3]" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vC.T #Transposition" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "7e9e3f81", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}- \\frac{5}{2} & \\frac{3}{2}\\\\2 & -1\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡-5/2 3/2⎤\n", + "⎢ ⎥\n", + "⎣ 2 -1 ⎦" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA**-1 # Inversion" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "316f5442", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 2) (2, 1)\n" + ] + } + ], + "source": [ + "print(sp.shape(mA), sp.shape(vC)) #Ausgabe der Zeilen- und Spaltenzahl" + ] + }, + { + "cell_type": "markdown", + "id": "c447594c", + "metadata": {}, + "source": [ + "Weitere Funktionen für Matrizen sind das Bestimmen der Determinante, Nullraum (Kern), Bildbereich (Span), Eigenwerte und Eigenvektoren." + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "16496eff", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAPCAYAAADzun+cAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABL0lEQVR4nMXUPUtcURDG8d/qfoOUFmKf1KlDSkFQsYvmC8QgWAiCDFMIdipJZ0AbG8FSMWVKhUAgEkQQrFIECdiJL9kUey+sy+7CwnU9zXDOPJz/zJmHU2s0Gp5j1au6KDNfYBLjeIUR3OIntrEdEf9K/VBVYMxgC69xjA3s4yW+YC8za6W4so5xjgkctHaWmcs4wTSmimLUBjHjAr6KzxExT7VP3WvdFfG+PHhycGbWMVdsjwYGxpqmwQ4j4mt5+MhcmXmJ0T4u3Y2Id92SmfkRizjDbGuu3dUXuOkD/LsH9AM28QtvI+Jva/5JXJ2ZC1jHaQH9066pfMaZuVRAf+BNJ2jl4Mxc0TTTd81Or7ppK3vqzHyPHTzgE647yC4jYodqv8yxIg5joYvmW1Gc/4tuXTCFOfTcAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle -2$" + ], + "text/plain": [ + "-2" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA.det() #Determinante" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "f7683579", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAYAAACEYr13AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAAgUlEQVR4nO2UMQ7CMAxFXyuOwN61x+AovcmvT0Z6DDZ2OncNAwEcmooha95kxfKLZcnuYozU0FdVA6d3YGYX4OpyN0ljyp2Bhy+U1GUCxwIEYHVvG2ApnoBh14EjSJp/ftuA2XX6EVTPoAmaoAlelLZRZib+3IOS4M535+H4HmQ8ATaYI2kok+bYAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left[ \\right]$" + ], + "text/plain": [ + "[]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA.nullspace() #Nullraum. bei Matrix A ist dieser leer" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "05afafe6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[\\begin{matrix}2 & 3 & 0\\\\4 & 5 & 0\\\\0 & 0 & 0\\end{matrix}\\right]$" + ], + "text/plain": [ + "⎡2 3 0⎤\n", + "⎢ ⎥\n", + "⎢4 5 0⎥\n", + "⎢ ⎥\n", + "⎣0 0 0⎦" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mC = sp.diag(mA,0) # Matrix C erstellt per diag, ordnet die Matrix A und eine 0 auf der Diagonalen an\n", + "mC" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "5e20035c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[ \\left[\\begin{matrix}0\\\\0\\\\1\\end{matrix}\\right]\\right]$" + ], + "text/plain": [ + "⎡⎡0⎤⎤\n", + "⎢⎢ ⎥⎥\n", + "⎢⎢0⎥⎥\n", + "⎢⎢ ⎥⎥\n", + "⎣⎣1⎦⎦" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mC.nullspace() #Nullraum." + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "45ee39cb", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[ \\left[\\begin{matrix}2\\\\4\\\\0\\end{matrix}\\right], \\ \\left[\\begin{matrix}3\\\\5\\\\0\\end{matrix}\\right]\\right]$" + ], + "text/plain": [ + "⎡⎡2⎤ ⎡3⎤⎤\n", + "⎢⎢ ⎥ ⎢ ⎥⎥\n", + "⎢⎢4⎥, ⎢5⎥⎥\n", + "⎢⎢ ⎥ ⎢ ⎥⎥\n", + "⎣⎣0⎦ ⎣0⎦⎦" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mC.columnspace()# Bildbereich" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "f4edc355", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left\\{ \\frac{7}{2} - \\frac{\\sqrt{57}}{2} : 1, \\ \\frac{7}{2} + \\frac{\\sqrt{57}}{2} : 1\\right\\}$" + ], + "text/plain": [ + "⎧7 √57 7 √57 ⎫\n", + "⎨─ - ───: 1, ─ + ───: 1⎬\n", + "⎩2 2 2 2 âŽ" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mA.eigenvals() #Eigenwerte. Ausgegeben als dict. Der key ist der EW, die Zahl die Anzahl der Vorkommnisse" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "6acf0031", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEIAAAAUCAYAAAA5g+sCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAADO0lEQVR4nO3YS2hdVRQG4C9NUQf1kTrwNVFxoKJYtAgiaipUKgGtj0x8teLEgZT6QLFVVpYgdSCCOrCi0IA6kiIOLHZiK05UrBSsVloHUQwpWAVLxfiocbDP1eZ67rlJbpp24A+Xxb3r32ev9e+919rn9k1NTfkfLDreAZwoWNzkzMy7sA6XYAmuiojdCxDXvCAzR7ARP+JjPB4R++q4HYXIzEvxJn7B2xjHgTbOnbgBy3AFTsVbEXFPr0m0zXMmbsMQLsd5+B1fYAu2RMRfNUN34pQqvltxLq6um6NpR6xAHzZGxEsdOE8pAhzG97i4KaEeMIxXMIEd+A5n4Xa8jpszczgiphW8iNipiCEzd2F5Zi6JiMPtEzQJsbSyexs4DysCfKPsjB1dU5ob9uEWvHf0ymfmBnyKOxRRtjY842tciQFl4aahSYj+yv7RiRAR/ySemQ2P6g0R8UGH3w9k5mY8i0HNQrTy6K9zNhbLhUBmjmIN7o+I0Tk8opXgn73E0dQ+z6jsr71McCyRmYtxX/X1/S70ycqeXuesFSIz+3AdpvDtHGKcDZ5U2vM7cxj7HC7DtojY3oU7VtnBOue0o5GZq7AS1yuF5dWIOFA3cL4QERNKN5gVMnMdHlWK4L0zGPIGHsTzmXkt9uO1iBjjvztiFR7BcuzBy7MNcCGQmQ/hRXyFFRHxU7cxETGOTUpNGcYGnN/yL2ojr1fO0GpchO2ZWVtljxcyc72yQHsUEWa0YzNzCJvxuXKcTqruGajpGhFxCO9m5lbcrZzfPT3GPy/IzCeUurAbKyPi4CyG31jZkYj4st3Z1D5bRXJpA6dnZOY5yi6ciIifG3hP4xnswk0zOQ5tGKjsWJ2zSYhWf+7YYjNztXKM4OzKXlPdDeBgRDzWJcBNqnsERusImblGEeEIPsK6mgvcWJd7SCuP2vtGkxAz+aNimZLE0biw+lB2VTchZoILKtuP9R04H+ogZBtq82oS4rfKDnQiRMQIRmYweUdExFqs7cLpeR7/5jFZ52wSYn9lH8jMzzDe4VX3hEZmnqy8IQ/iEH6o4zVdsbcp3WJIee09kpnL5jXKY4zqj5lJfILT8EKnxfwbLh/17p/fYvUAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left\\{ 1 : 2\\right\\}$" + ], + "text/plain": [ + "{1: 2}" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mB.eigenvals() #Eigenwerte. Ausgegeben als dict. Der key ist der EW, die Zahl die Anzahl der Vorkommnisse" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "f97f52da", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\operatorname{PurePoly}{\\left( \\lambda^{2} - 2 \\lambda + 1, \\lambda, domain=\\mathbb{Z} \\right)}$" + ], + "text/plain": [ + "PurePoly(lambda**2 - 2*lambda + 1, lambda, domain='ZZ')" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mB.charpoly() #charakteristisches Polynom" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "71e7380e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEsAAAAVCAYAAAAOyhNtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAADbklEQVR4nO3YW6hWVRAH8N8pH5KyIoOEoExK6cGUIqiwi6ZGb5I9FJhFoNK9yB6EYpqkjIjEwIKSyC5ggVBkUFQIkSRlZCAk0cWKFOxihpFFZg97fbn92sezP/VwjtEfNrOZNWvNWrPntnbf3r17/Y92GDHUGxguyMxFuAoT8DvWY1FEbOrIHDVEexuOuAxP4CJMw594OzNP6gj0NYVhZq7ElTgjIn6t8efhKfyI53F3RPw1iAc4bMjM87AB8yJiRQv547ATsyLiNRrCMDPPx3VYWDdUwRY8ivm4E2/gzYM/wqEhM6/GpZiMSRiFFyNiTrdsRHyUma9gcWauiohdAyw/ShV5OzqMpjB8EL/gyQaFb0XEPXi4sC4Y6ECDjHtxq8pY37WQX4IxuL2F7DJsxPsdxn7GyszxmI6XI+K3Ayy0vtBJLZQOJu7CeByPmwYSjogPsBkLMrPffJ2Zj2EKZkfEng6/OwxvRB9eGkDvV4WeM9AGBxMRsbbznpltp63C/ZihIYVk5lJcg6kR8WV9rNu607HHPs/pD/cVOq4kwiMJ6wqd0T2QmctwLaZFxObu8RE1wWNVsf9pQ2KvLzhT5YFUXjhRLa6PAHxY6CV1ZmYuVxW2WdiRmWPK0K5OMah71qk4Gtv605KZo/A0fsYLhT2kodgrImInduO0rqGbVRXwHZUNOs/CjkA9Z40udIf+8UhRcgP+wBwtk3xmbsHpbWQLGluAw4SfcEqdERF9A02qG6tT/Y5pEszMqViA1yNiZWaeXYbaetYXqi/aFlt7kO0VI+07b2vUjbW90NHdQiWfrVB1tPML+7OicGJm9kXEAW/kEXF5r5sbDJSW4UT7Knpr1HPWNnyvukh2YwnG4Y6I2Aql/9ik6nHG9qp4CDFBVZg29jrxH2MVz3gXJ2fmmR1+Zk7BLVgTEc91zf+k0CMpyXduHWsPKNWA7qZ0NWbjCnyemSPxjP3Dr46NhU7Cq70qP1Rk5ixVqae6xsCFmflsef8hIhZ2TZup6iV73m+TsbZjLpZjMc7C3IhoaimG2rMm4/ou3rjywNdqpT8zT1AZd01EfNursn/9oik/wR7CuRHxca8LDmdk5m14HBdHxHu9zm+6TC7FN3jgEPc2rFBSyiKsPhhD0WCsiNitavs3lJbhv4Kxqh+X3TmsNf4G6YAHu3snw18AAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left(\\lambda - 1\\right)^{2}$" + ], + "text/plain": [ + " 2\n", + "(λ - 1) " + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.factor(mB.charpoly().as_expr()) # charakteristisches Polynom in anderer Schreibweise" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "98eb8fb9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[ \\left( 1, \\ 2, \\ \\left[ \\left[\\begin{matrix}1\\\\0\\end{matrix}\\right], \\ \\left[\\begin{matrix}0\\\\1\\end{matrix}\\right]\\right]\\right)\\right]$" + ], + "text/plain": [ + "⎡⎛ ⎡⎡1⎤ ⎡0⎤⎤⎞⎤\n", + "⎢⎜1, 2, ⎢⎢ ⎥, ⎢ ⎥⎥⎟⎥\n", + "⎣⎠⎣⎣0⎦ ⎣1⎦⎦⎠⎦" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mB.eigenvects() # Eigenvektoren von B. Zum EW 1 gehören 2 EV, diese sind dann aufgelistet" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "e4a31930", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\displaystyle \\left[ \\left( 0, \\ 1, \\ \\left[ \\left[\\begin{matrix}0\\\\0\\\\1\\end{matrix}\\right]\\right]\\right), \\ \\left( \\frac{7}{2} - \\frac{\\sqrt{57}}{2}, \\ 1, \\ \\left[ \\left[\\begin{matrix}- \\frac{\\sqrt{57}}{8} - \\frac{3}{8}\\\\1\\\\0\\end{matrix}\\right]\\right]\\right), \\ \\left( \\frac{7}{2} + \\frac{\\sqrt{57}}{2}, \\ 1, \\ \\left[ \\left[\\begin{matrix}- \\frac{3}{8} + \\frac{\\sqrt{57}}{8}\\\\1\\\\0\\end{matrix}\\right]\\right]\\right)\\right]$" + ], + "text/plain": [ + "⎡ ⎛ ⎡⎡ √57 3⎤⎤⎞ ⎛ ⎡⎡ 3 √57⎤⎤⎞⎤\n", + "⎢⎛ ⎡⎡0⎤⎤⎞ ⎜ ⎢⎢- ─── - ─⎥⎥⎟ ⎜ ⎢⎢- ─ + ───⎥⎥⎟⎥\n", + "⎢⎜ ⎢⎢ ⎥⎥⎟ ⎜7 √57 ⎢⎢ 8 8⎥⎥⎟ ⎜7 √57 ⎢⎢ 8 8 ⎥⎥⎟⎥\n", + "⎢⎜0, 1, ⎢⎢0⎥⎥⎟, ⎜─ - ───, 1, ⎢⎢ ⎥⎥⎟, ⎜─ + ───, 1, ⎢⎢ ⎥⎥⎟⎥\n", + "⎢⎜ ⎢⎢ ⎥⎥⎟ ⎜2 2 ⎢⎢ 1 ⎥⎥⎟ ⎜2 2 ⎢⎢ 1 ⎥⎥⎟⎥\n", + "⎢⎠⎣⎣1⎦⎦⎠⎜ ⎢⎢ ⎥⎥⎟ ⎜ ⎢⎢ ⎥⎥⎟⎥\n", + "⎣ ⎠⎣⎣ 0 ⎦⎦⎠⎠⎣⎣ 0 ⎦⎦⎠⎦" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mC.eigenvects() # Eigenvektoren von C, die EWs haben nun jeweils einen EV" + ] + }, + { + "cell_type": "markdown", + "id": "e9bad2dc", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Differentialrechnung**\n", + "\n", + "Mit SymPy können auch bestimmte und unbestimmte Integrale, Ableitungen und Grenzwerte bestimmt werden. Dies wird im Folgenden gezeigt." + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "2eafcadc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAG4AAAASCAYAAAC6u+tBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAADX0lEQVR4nO3YS2hcdRTH8U9slhVENwEXoghF8JGFoGjQ2lIKChq1ghZrI7pRilapaMRyOIhoUWyCKKJCU8RNsStRrM+K4hMhYpEqtkTwUWyxuPHZNi7+kzCZzkw6j8QU8oXLzPzv+f/v+d0z53/PuT2Tk5MWOfno7WRyZg7jBizD3/gUwxGxpwu+LdKEUzqcvxzP4TKswBG8k5mnd7juIrPQ082tMjOX4ncMRsRrXVt4kePoaKusw6lKFh/u8rpNycwzcD2uwQU4E//ga2zDtog4Np8+tUNmrsGV6MdFyv18JSJurbXtdKusZRTj+KTL687GTXgRl+AzjGAnzsdL2JGZPfPsUzs8gg1K4H5qZti1jMvMpzGAgYg42sb8ISU7roqI3S1O/w7X4vXqzMrMh/E5blSKqJ2t+jXP3Icf8b2See83MpwRuMx8C6uwJiJ2Vo33KDd1PbZExEM187biZuWm7++SiBMmIt5rMH4gM5/HY0ohVa2pLa1zSURMByozm9rWbpUP4BgezcwlVeNPKUJeqBO0UdyCFRGxtwO/54p/K59HasZb1rqQmBG4iPgKL+M8rGN6u7kfO3BXtX1mPovbsRaHM7OvciydB99nJTN7cVvl55vV51rVutCoV5xsxl+IzNygbDO7sK5OZXa3Uvm8i1+qjk1z5nFrPKEUKG9ExK4651vRuqCo28dl5uOY2iY+xqqI+KNbF83MCZzVwpTtETHU4jXuUarcvbg8In5rYNeW1jY01C3rm6y/XClO6s5rVFUerPp+RzeDVmEEp9WM9eM6bMdEzbnxVhavZM8ovsHKRkGr0K7WfUq2nig/t2A7K8cFLjPXKg/oA+jDvbq830fESJ3rDimBG2ujHaheZyO2Yo8StF+b2LatNSJWtutjN5jxjMvMqzGmiL4Q3+LOzFw2/661TmY+qARtXGlNmgXtpNY6HbjMHMCrSgO4OiIOKp18L7b8P+6dOJm5WSlGvlQy7VAT25NaK5XiJDP7sRt/Km8+9k0ZZOYXuBhXRMSHc+VIJ29OMnO9kj1H8YzyoruWiYgYWwhaG5GZgxis/OzDauzHlC+HImIT9GbmuUqPM6n8+/aZyTDexpO4dE49b5+zK59LsLGBzQeZ+ZGFrbVfaf6rOadywA8qrdZ/TUVmbB7qeMsAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle x^{2} + 2 x - 1$" + ], + "text/plain": [ + " 2 \n", + "x + 2â‹…x - 1" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f = x**2 + 2*x - 1\n", + "f" + ] + }, + { + "cell_type": "markdown", + "id": "ce0ed924", + "metadata": {}, + "source": [ + "Ableitungen:" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "9389be82", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAPCAYAAABTJRdyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACU0lEQVR4nOXVT6hVVRTH8c973qGDwIngIBpJkOIgSFAiEREKErUIBHsPahJIPALxD8liEZGSoOJENFDJkdhQ6SmEUgQqwYsiLBDewIH/CJokpHkbnOPjeD33z7nvakG/yT5n77XWXt+99p+xdrvt/6rWo4/MXISNeAPLsAR/4Sccx/GIePhvJDmomjKMV3zfxjG8gss4iK/wEr7A6cwce/oI81IjhlbF8Te8ibPV1cnM3biCzdhUBntqysxJRZXWRMTFhu6NGObgI+KbumgRcTMzj+BTvKYCn5nnsQ5vRUS1f6wEmMC+iNjZEGIoNWUYrzOu0f2yfdDRvx0P8UlmLqj071eAH31W4APoCYa+8JnZwrvl79fVsYj4EV/iRWwt7XfjI5zGB/NOeQTqxtCqN39MexUXxrmImK4Z34N3EJm5ULG1prH1P/Q61DKM9XrnM/NDHMI1rIqI37vYfYZH2/t7rIuIP/tllJmzeH5AADgZEZMN7HsydK18Zm4rnX7B2m7gpe5Uvt8bBLzUQTzX0bcCG3ASsx1jMwPGRX+G2spn5hQO4OfS6XaPCbbgFG5hMY5ExNBnfZ5PXTXOlD4MT1x4mbmjdJopE+gF/jpOlBMsx694PzOXDpv0KDQow3iH0x7F5fCDYrXu9phgNc7gBtZHxB18rDhK+0bAMJSaMMxt+8ycUFTxbxzGHzX2sxFxIjNX4CLuYXVEXK9MfhUv49WI+HaI5CcNue2bMPD4hfdC2S7AVJf4lzLzO8Vb2VZU/HqHzS5cwOdY2ST5EWggBsUC+Qf+SRB1h5FiGwAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle 2 x + 2$" + ], + "text/plain": [ + "2â‹…x + 2" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f.diff(x) # Ableiten von f nach x" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "f467841a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABBUlEQVR4nJXSPUscQBDG8d+d9w0srey1thZLQVCxVL+ACQcWAUGGKQJ2KtopeLVgqZjSMoIgKBJSWUoIQlrfzuL25Lzc+TLN7OzOf+aZ3a00m02ftVp7kZmDmMYkRjGEO1xgD3sR8QTVjgJz2MEYfmIDBxjBLvYzs/KqE35jCoftikXBCk4xixkcVD4yUwG/YzsivlTfA4rdF//QPVO/LjUslPD4QxDWtC7jKCJ+vAtl5lcs4xfm2/t9ocxcwiauMB4Rt29CmVnHFi4LcNN5/h+Umd+wjvMC/OnOqXYBq1qDn2EiIv72UvLyuJm5iAYei7R/PfKvI6LR+Y2Gix9AvVcHnKDxDEnuUnOCo1FOAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle 2$" + ], + "text/plain": [ + "2" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f.diff(x,x) # zweimal f nach x ableiten" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "3bf21934", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABEElEQVR4nJXSsUqcURCG4cfFKosYCKRSECR6BzFgJcLiTdiLQsA6xTCCrYVibiAXkNjapFK8A90Vwc5KVMSUroVn5fjrBp3mg5l5Z4ZzvpF+v++9MdpMZOYENrCET7jAH2REXMFIvSkzp3GIz9jDCb5iAV3MR8Rlc9PPAnyPiJ1q2BbWsYmVVmNLB+fYbQwL3GE5M9utqrBQdD8i7p8REbc4wAd8q6HZor3m45Q4LTpTQ+NFb4ZAg/zH1pCG/0YNDSaNv9ZY5a9rqFt0Zgj0pWivhv4W7WTms7Mzcwzz+Iejp2JEnGEfU1hrbEm08Ssi7pqOWPVoo+3MXMQx5jz+YQ8/aHivnDLppWF/G2bYt8YDKpZR3A7SAGIAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle 0$" + ], + "text/plain": [ + "0" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f.diff(y) # f nach y ableiten (f ist unabh. von y, daher Ergebnis = 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "30c8dea8", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAPCAYAAABTJRdyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACU0lEQVR4nOXVT6hVVRTH8c973qGDwIngIBpJkOIgSFAiEREKErUIBHsPahJIPALxD8liEZGSoOJENFDJkdhQ6SmEUgQqwYsiLBDewIH/CJokpHkbnOPjeD33z7nvakG/yT5n77XWXt+99p+xdrvt/6rWo4/MXISNeAPLsAR/4Sccx/GIePhvJDmomjKMV3zfxjG8gss4iK/wEr7A6cwce/oI81IjhlbF8Te8ibPV1cnM3biCzdhUBntqysxJRZXWRMTFhu6NGObgI+KbumgRcTMzj+BTvKYCn5nnsQ5vRUS1f6wEmMC+iNjZEGIoNWUYrzOu0f2yfdDRvx0P8UlmLqj071eAH31W4APoCYa+8JnZwrvl79fVsYj4EV/iRWwt7XfjI5zGB/NOeQTqxtCqN39MexUXxrmImK4Z34N3EJm5ULG1prH1P/Q61DKM9XrnM/NDHMI1rIqI37vYfYZH2/t7rIuIP/tllJmzeH5AADgZEZMN7HsydK18Zm4rnX7B2m7gpe5Uvt8bBLzUQTzX0bcCG3ASsx1jMwPGRX+G2spn5hQO4OfS6XaPCbbgFG5hMY5ExNBnfZ5PXTXOlD4MT1x4mbmjdJopE+gF/jpOlBMsx694PzOXDpv0KDQow3iH0x7F5fCDYrXu9phgNc7gBtZHxB18rDhK+0bAMJSaMMxt+8ycUFTxbxzGHzX2sxFxIjNX4CLuYXVEXK9MfhUv49WI+HaI5CcNue2bMPD4hfdC2S7AVJf4lzLzO8Vb2VZU/HqHzS5cwOdY2ST5EWggBsUC+Qf+SRB1h5FiGwAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle 2 x + 2$" + ], + "text/plain": [ + "2â‹…x + 2" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.diff(f,x) # Alternativ als Funktion statt als Methode" + ] + }, + { + "cell_type": "markdown", + "id": "0f6d5662", + "metadata": {}, + "source": [ + "Integrale:" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "a4dd14fa", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH0AAAAVCAYAAABrJ+ESAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEWklEQVR4nO2abYhVRRjHf3uLEjI3KlsJopDSD5UsYSCxmBlSlpJrRmVJC0ZREVQotVL8+1PmLkUllFQQub34ISq1kNIspGILpE3LoqLNLUPaSkWwNylvH+YsnD2eu/ee+7a7tL8vhzvzzJz/PHPmOc/MuQ35fJ4x/l8cW0lj23cAtwJnRUVfAg9L2lShrlGF7XZgITAV+Bv4BGiXtGtYhRUgV2H7n4B7gQuA6cD7wAbb0yoVNsqYBawBLgJmA/8AW22fPJyiCtFQ7fBuez/hKX+2qh2PImyPBw4CCyS9Ndx6klQU3uPYPga4BhgPdBewaQL2Amsk3RmVdRKixBTgVOBP4AdgA/CUpH3V0lhHTiRE0QPDLSSNiifd9vnAx8A44BDQKumLAuZXEZzxRqzsbqAHeBf4BTgBmAE8CNxie4akPZXqrDOrgR0Ev4w4qrHSvwGagUZgEdBle1aBJKYV2Ad8ECubIOmvpKHtlcAKoB24Paso223AC8AlkrZlbV8uth8HWoAWSf/W675ZGDTptrcAc4BFkl6PlTcQHHgT0CnpvoE6SYeB76Kfn9q+kLB6lyb6nkBIctbFnZE24RGvEib9nPKGVj7l+CGqfwK4jvCgfV9HyXENRbUns/flwBHgoegdPcBjhIE+lxxoCjng+JTyecBxwPoS9c+Prp+XaF9NMvvB9mrgemC2pK/rpvRoimoftNIl7bT9UlS5BFhrewVwD2Hl3Ra3t90BbAL2EJKXxYTty5UpYlqB34EtaUptLyMkgY2ExK6FMOEdJQ+3SpThh6cjuwXAAduToqpDkg7VTTilaU97pz8AXAso2nqsBDYDSyQdSdhOAl6OrgcJkzRX0ua4ke1xwOXA20OE82VAU+z3O0CbpF9LHXCVyeKHgZzjvUS5CQlpvRlSe+o+3fYqYCB8dQNzJP1RrgLb84E3gRskrSti20Q45OggRI95knqKtOkDzswgqUtSWzGjavshpf8+sul+RdKNJfZdUHuh7D2+upZWYaALgcOEV8GQSOoH1tvuAb4FXgTOK9LsSeCkRFkzYYvYBfQl6nYU0xFRbT8k6QUKRb409mawLaj9qJVuezEhZPcTwvYzkga9w7IQJRP9wHZJczO2/YwweRMl/ZaxbRsVbNmq7Yd6Ukx7LmF8BbAW2AVMI+zBb7Y9tQINM4FTKD1rj3N6dK3rfrdGfqgLpWjPxYxbgNcIH1EuixKo+wmvgM4KdLQSthAbUwROsd2YUp6LDmdOA7ol1e04s4Z+qDmlam/I5/PYbga2Ec69WyT1xjraTthCzZT0YUYRDYRz9B8ltaTU3wWsAj4CdhNO65qAi4HJwM/ApZK+ynLfqO82Mob3WvmhHmTRnrN9NmF7lCc8Hb2J/tqj66NlaJkOnMHgs/Y4W4HngYmEZG85cDWwn7DdObecCS+HGvuhpmTVXvVPqwkxj0Q3nCxpd81uNEYmKv0TRTFagZ1jEz6yqOlKH2Nk8h9TJP7H6WLJuAAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\frac{x^{3}}{3} + x^{2} - x$" + ], + "text/plain": [ + " 3 \n", + "x 2 \n", + "── + x - x\n", + "3 " + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f.integrate(x) # unbestimmtes Integral nach x (Stammfunktion)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "5ef60378", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle y \\left(x^{2} + 2 x - 1\\right)$" + ], + "text/plain": [ + " ⎛ 2 ⎞\n", + "yâ‹…âŽx + 2â‹…x - 1⎠" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f.integrate(y) # unbestimmtes Integral nach y (Fügt abhängigkeit von y zu)" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "36c065f4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAASCAYAAADPNlfiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACLElEQVR4nNXWO2hVaRDA8V+iyIJPUEwQbILaWPggjSAKCyuyKCZiubDbbCNaCGkUYRzEV6eyWC9KLCxWLURRMSCi5bIWFrIgwioGX1iIImoszgncHM5Ncm9uhB04fM/5z5xh5vu+rrGxMf83mds4yMw92Ir1WIeFGI6IX+qUM/MU+rEGy/ABT3EFf0TE62aGM7MHz3EuIva3wuuusA5jX+n0s2n89AHMxy2cwTA+4wgeZubKSXR3lfb/apU3IdKl0n/4VxHxkSmcXhQRH6uTmXkMh3AQe5voDuI17rbKm+B0RIw0bJzCX+oMlHKpNLK6bjEzF+FHXIyIL63yqunRKdlZtg+brO/APFxuh1dNj7YkM4ewAIsVhbS5NHCyicog3uNmO7yOOI0h9DSMb+C3iHhZ49AP2I7rk6TDpLyOpEdE9EZEF3qxG334OzM31mz/SRHFpqkxFa+jOR0RoxFxGduwFOdrtu3GJ1xrlzcrhRgRT/EIazNz2fh8Zs5RFNWdiHjXLm+2Tg9YUbZfGua2KCI23VOjltd2IWbmGoxWI5aZ3TiK5bgfEW8blgfxFVdnwqu+PQYwUA57y3ZTZv5Z9l9FxFDZ/xknMvMenihutx7FTdqHF/i9gd1Vsh9ExGhNHKbNq0Z6PX6tzPWVH8XjZdzp21ilOEM3YIni7H2MCzgbEW8aOP1YidM1DrfE6/peT9PMPK54O/RFxJOZsGazEKsyiH9m6jDfMdKdlG8r2eQUpBNGvgAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\frac{13}{3}$" + ], + "text/plain": [ + "13/3" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.integrate(f, (x, 1, 2)) # bestimmtes Integral nach x von 0 bis 2 (als globale Funktion)" + ] + }, + { + "cell_type": "markdown", + "id": "8146fec7", + "metadata": {}, + "source": [ + "Mehrfachintegral $\\int_{-1}^1 \\int_0^1 f(x,y) dx dy$" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "2318caa7", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAASCAYAAADVCrdsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACd0lEQVR4nMXVT4hWZRTH8c87DhEkFiiNJLNI0k26SAQ3Q//EIciK12iptRaLkQRRiOMp7M+q/EMEBYpRC6GshWYpQiGBglQqEm5sWsiYWLiIotRpcZ9Xbtf7jpMI/TbPe889z3m/5zznnqczOTnp/9Zg70dmzkYXT2Ix5uEvnMIu7IqIa21BMnMI5/FuRLxYbG9hKRZiDv7AOD7Dzoi41Ns/UIv1HN7HMhzDO/gEi/AB9mZmp08yz5RYn9Zs63EXDmEbPsIVbMHJzBy+oRI4i6exv55xZm7GcTyLVQWsqS4u4ZuabVZE/Nl0zMyt2IxNWPsviIg40pZiRExk5nvYikebEJk5C4/j44i4Wtt3A0DR3gKxoGcY6OPY1N9lvdLybiXuwL5pxnqqrCd7hsE+jteVmYNYUx4Ptrh08Tu+6rN/A2biblWjjhSAN6cNUZwX4UBEfNn4gzvxBL6YovwbMFR7PogXIuJizzDlcWTmS3gZP2J1i8sKVZZ9jyIi5kZEB3NVjT0f32XmkptCZOY61ad1Bo9FxK8tbqtUs2T/VMkUmAsRsQ+jmI09U0Jk5hh24HQBmGjxmaFqsiMRcflmEDWYcVViD2bmnFaIzNyIt/F9AfilT7yHS0bT/Srquq+sV2k0Zma+gldxAqN9jqCnLq7h8+aLzFyIC80KZeYAXsO9+DYifoNO7wLLzOexu9DtQFuJf4qI3WV8j+PniBhpgRjDGziKc6ppOoRHVI05geURcaZZifvLOgNjfbL/uoAuxbDqfmnTYTygmgkP4R7VLDmLD7G9XuXOrVzlmfm6avbPj4hz/zlAQ9Md20118cPtAOAWK3G79Q8CmdPa40YNrAAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\frac{2}{3}$" + ], + "text/plain": [ + "2/3" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.integrate(f, (x, 0, 1),(y, -1, 1)) # Mehrfachintegral" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "351a14b0", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAUCAYAAACaq43EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAABu0lEQVR4nMXWTYiNURgA4OdOsvAzTbJRSiQUi2n2VhaS0pAQMmtZ2cz29S5slC0rhUY0pEkmC2U1G+Vv/JSFNTZMJBpkLJxbn3u/O93bTDPv5tR7zvc95z3nfD+Nubk5yxF9y6JiRS+DM3Mv7mHlksIYwdmIuLRQuOulzsx+7MOthaI9wTiCRxHxeanhEVxbDJQu9zgzt2A7HnTo34/7XZpDEfH8PzgzV6M/Ij60DD6FmxHxq8PNvuAyTuMN7lT6duAopvAQ05SKM3MbEgcwgROVyTQKfLhTCRExlZnrCzwREecq148W+GpEXGnmm3v8FRfxFMOZuaZy3934HhHPOsElBkv7oiU/VJfvKzP+GBFPMIZVOFQZ0+2hasLTNfBvvG6DK3EbszgJmdmcxI0u4W9410xk5lpsxduImO0IR8QMJrEnMzfgIB5HxPv5xMwcwCa8jIjqV2cQDe3LX/scj5X8cf8O1UKXWR1c9xxPYgZnMIDhHuBWYFdpX7Ve0FZxRPzEODbjbkT86AFurXhdaXdm5sZ54RJjpb3eBdqE/2ivbByfcB7Hqh2Nuj+Q8tK4gNGWw7JoUQsvRfwFurGGTWHI9XcAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\sqrt{\\pi}$" + ], + "text/plain": [ + "√π" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g = sp.exp(-x**2) # Glockenkurve\n", + "sp.integrate(g, (x, -sp.oo, sp.oo)) # Integral von minus unendlich bis plus unendlich" + ] + }, + { + "cell_type": "markdown", + "id": "4bcf388a", + "metadata": {}, + "source": [ + "Integrale und Ableitungen können auch in nicht ausgewerteter Form gespeichert/verwendet mit den Konstruktoren ````Derivative```` und ````Integral```` angelegt werden und erst später im Rechenweg mit der Methode ````doit```` ausgewertet werden. Dies ist hier am Beispiel der Ableitung gezeigt. Integrale funktionieren analog" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "dbd9e82c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\frac{d}{d x} \\left(x^{2} + 2 x - 1\\right)$" + ], + "text/plain": [ + "d ⎛ 2 ⎞\n", + "──âŽx + 2â‹…x - 1⎠\n", + "dx " + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfdx = sp.Derivative(f, x) # Speichern der Ableitung in nicht ausgewerteter symbolischer Form\n", + "dfdx" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "c3c32e0a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAPCAYAAABTJRdyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACU0lEQVR4nOXVT6hVVRTH8c973qGDwIngIBpJkOIgSFAiEREKErUIBHsPahJIPALxD8liEZGSoOJENFDJkdhQ6SmEUgQqwYsiLBDewIH/CJokpHkbnOPjeD33z7nvakG/yT5n77XWXt+99p+xdrvt/6rWo4/MXISNeAPLsAR/4Sccx/GIePhvJDmomjKMV3zfxjG8gss4iK/wEr7A6cwce/oI81IjhlbF8Te8ibPV1cnM3biCzdhUBntqysxJRZXWRMTFhu6NGObgI+KbumgRcTMzj+BTvKYCn5nnsQ5vRUS1f6wEmMC+iNjZEGIoNWUYrzOu0f2yfdDRvx0P8UlmLqj071eAH31W4APoCYa+8JnZwrvl79fVsYj4EV/iRWwt7XfjI5zGB/NOeQTqxtCqN39MexUXxrmImK4Z34N3EJm5ULG1prH1P/Q61DKM9XrnM/NDHMI1rIqI37vYfYZH2/t7rIuIP/tllJmzeH5AADgZEZMN7HsydK18Zm4rnX7B2m7gpe5Uvt8bBLzUQTzX0bcCG3ASsx1jMwPGRX+G2spn5hQO4OfS6XaPCbbgFG5hMY5ExNBnfZ5PXTXOlD4MT1x4mbmjdJopE+gF/jpOlBMsx694PzOXDpv0KDQow3iH0x7F5fCDYrXu9phgNc7gBtZHxB18rDhK+0bAMJSaMMxt+8ycUFTxbxzGHzX2sxFxIjNX4CLuYXVEXK9MfhUv49WI+HaI5CcNue2bMPD4hfdC2S7AVJf4lzLzO8Vb2VZU/HqHzS5cwOdY2ST5EWggBsUC+Qf+SRB1h5FiGwAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle 2 x + 2$" + ], + "text/plain": [ + "2â‹…x + 2" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfdx.doit() # Auswerten der Ableitung" + ] + }, + { + "cell_type": "markdown", + "id": "3c8d6cd9", + "metadata": {}, + "source": [ + "Auch Grenzwerte können berechnet werden, gezeigt am Beispiel der Eulerschen Zahl $e = \\lim \\limits_{n \\to \\infty} (1+\\frac{1}{n})^n$:" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "5e6dcf43", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAF8AAAAUCAYAAADr0+FaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEAElEQVR4nO3YbcyXcxTA8c9dRq0HbTE2eUoPY6a7YqtZMeRhmMLmjYcYM5tsbb3JbMdh4o2HMTTzQi8YJo0VQxNhpHDrhYyMNEqeltW0LHlxXf/6d3Xdc//v/sVN3zfnf5/zu87v/M7v3Of6/a6OnTt3Osg/wyF1ysxcgItwYkRsPbAh9R0ycyJW4aaIeLLGPgLrMR23YAo24saIWNZRrfzMPAMrMCciHmjSX4mz0IlxGIKnI+Lq9i+r5/Q2rsw8Ct/jsYiYtQ/zL8IkjI6ILRXbxViM5bgb3+B+HBcR4/vV+LsHv+Hxiv4O3KpY5He9DXY/0Nu4LkM/vLiP89+Lo3Fbja1TkcurImJpRKzFCzhSOfkuMnMMzsPzEfF7xdFsjMFQxb9QW8jMmZm5MzPP7qWL3sY1Az8rqrLXRMSH+Bw3Z2a1mMdhSURsbNKNwlr27vk3oAPP1UyyrPE7M/cl3rbSm7gycyjOwTMRsaNJPw2v4z48jdtxLgZhNWZHxIoal8/iTkzDa036TjxSGTseXVQqX1H1O/BBj1bRd7kEh2JRRT++lGOwEoOxAG9jMl7OzCE1/t4r5bSGIjMH4SR8UjNHF02VXw7uxJr/wQlnBrYqqryZCaWcgjMj4uOGITMX4nJFjt6pPLeylFObdKeVsqvJx3CMUFP5x6A/NrSyir5GZg7AhXg1IrZVzI3Kv7458SVrSjmg6jMiNmMbjmtSj8OXlRPQePyBz9iz5w8v5a89XEfLZOY3OL4b87Kanr0gIma2OYxpinayR8vJzMEYjXV4pea5kaX8qhu/v+Coxh8RMR/zmwdExFJFu8OeyW+cbvba2TbyEIZVdJ2KY98CxTm4ma79EMPl2I4lNXF04I2IqLv2T8BmfN2N34F257BHNCd/UymH1w1sBxHxUFWXmTMVyX8qIt7aX3OXc/XHpXizbBXNNPr9RzXPDVG8hN+u25jyiDlM9xtTS3PP34AfMbYVB32MqYriqp5y2N3vV3Vj61CzMSVjS3tXK8HsSn65o8txRGaOasVJH2IG/sRLNbYJina0usY2sZTVl3CDSaVc1o29luolayGuwAXKW1iDzJyu+EBEcZ2GyZn5VPn7p4iY08rk7aCncWVmRznu/Yj4oeLjMJyC1RGxvWaaRvK7q/zzFfejuk3tlrrkb8K1eLRi68R1Fd1Iu08B63DAk6/ncZ2OYxUv/SqnKnJR13Iokr8FX1QNmXm4YlMXR8T6VgKv+6o5F/MwISKqt7M+S2bOw1yMjIiWXox/43cWHsaUiHi3lWfrvmo+iG9xVxti+zcxA5+2OfEDFRu6sNXEU5P88tZ3DVaVnxz+E0TEyRHR2Wa3J+AJvWy3e7Wdgxw4/gKN3Ebsc4MWmwAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\left(1 + \\frac{1}{n}\\right)^{n}$" + ], + "text/plain": [ + " n\n", + "⎛ 1⎞ \n", + "⎜1 + ─⎟ \n", + "⎠n⎠" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n = sp.symbols('n')\n", + "expr_e = (1+1/n)**n\n", + "expr_e" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "edfb6c8c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAA9ElEQVR4nJ3SvyuFcRTH8ddzXWUy2ZRVfk2SkrLdsomFQSJZxH+g4wyK3WKy2GRRFhlksZst/gk3RY/hPvSkp8RZPnX6vE+f8z3foixLf612UzMzV7CNGQziBec4iYiP9g9zHy6wimdc4g2LOMIoNop6vMw8xS6OcRAR71W/H/eYw8Q3lJmzeMR1RCw1RN7BGbbq8fZQ4DUzDxtWnay0VYc6la41APV6KcqylJkD6OIhIhZ+gbQqLSod+g34hiKiiyeMZ+ZykzEz56uTqL9eBzd6B7+rhrQwjGn0R8RIPZ6IuNW7wxWmsI91jFVDNr+8xX/+3iesn04CO8Z8AQAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle e$" + ], + "text/plain": [ + "ℯ" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_e = sp.limit(expr_e, n, sp.oo) # Limes n gegen unendlich\n", + "res_e # Sympy erkennt, dass dies e entspricht" + ] + }, + { + "cell_type": "markdown", + "id": "a838f291", + "metadata": {}, + "source": [ + "#### **<font color='blue'>Differentialgleichungen**\n", + "\n", + "Differentialgleichungen (DGL) sind Gleichungen, in denen (unbekannte) Funktionen und ihre Ableitungen vorkommen und die das Ziel haben, die unbekannte Funktion zu bestimmen. Auch solche Gleichungen können mit SymPy behandelt werden.\n", + "\n", + "Dazu muss zunächst die unbekannte Funktion als Symbol erstellt werden." + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "100b4c46", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAACgAAAAVCAYAAAA0GqweAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAADDklEQVR4nM3WW4jVVRTH8c+MPmQTFOhDUUmRNfUSkoQTZBA1DRVRRL0MTEEXIbKbdLOLa1ZRIaVFF0QxSnqpUKLwIeshCLVkoosUUw8RVDQxRmZUSpHTw38f/M/xnDODY9TvZR/Wf6+1v/+9LuffNTEx4f+s7v8aYCrNPhJBMnMjLsWpEfH7Yfgvwke4OSI21J91zTTFmXkuduLuiFgzgzhvoA+nR8RvDfuRSPFj+BVrZxjnCRyP2+vGGd1gZp6BL7EhIpbOCK+KN4qjVaVygFoNZuZyrFalanUL517sws6IuKCYb0AXXmtz4DvoxzURsblm78JLuB6rIuL+8uhVDBefrUxO8fay9rV5wecwC8tqtovxNz5s43MPDuDRzJxVsz9V4NbX4OoM/Q1DHfBj7MPi5lMy89ri9EJE7Cq2HizEaLvOjYjP8ArOwlDxewDL8TpuaXIZKWsjQwcBI+KvsuHkzDyhBteDNRjHylqwE1U3OtYKrqaHsR+RmctUTbUVQ406qzHsLXvnHwJY1Lji82q2lTgJ95UADc0t655OdBHxHZ7BKaoy2YGrI+LPNi4/Y95UgIshM8/EXfgAG5v27ivrUZ0Ai3bXft8YEX902DunFvsQwB2YcLBRnlel8daIaJ5H42Wdq4Myc1DVFD8W0x0d9nbjuFrsyYARsQejWFQCX4R1EfFJi3hjqpvp7XDgZXgZn+NsfIWbyshqpV7V2Pq0JWDRNvRgHX7Cg60ilRt9H/Myc0ELuPOxCd9jICJ24yHV7F3VBrCRufc6ATbq8BisKLfaTo3hO9AEtxBbsBf9ETFWXmqT6qPgysxc0iLeJaq5+mYnwG/KOoIXO8A1AMdxXQ1uAd5W1fJARHzd5LOirE82vdSxuApbSuejxX9xZr6Fy9EXESOmUGauwOM4p02tTkuZeRuexZKI2NawdzdtGsQVWDsduKKn8S0emQHcHNXNbq7DwezMnI9BnKZK1Re4d7rBI2J/Zg7hwszsOZwPVtUQX6/q+EnqGh4eXqrq2F/wLu6MiB8O45B/Rf8AJKMROcTcnIcAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle y{\\left(x \\right)}$" + ], + "text/plain": [ + "y(x)" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y = sp.symbols('y',cls=sp.Function) # y ist nun eine unbekannte Funktion\n", + "y(x) # z.B. abh. von x" + ] + }, + { + "cell_type": "markdown", + "id": "394b2fcf", + "metadata": {}, + "source": [ + "Eine Ableitung wird nicht direkt ausgewertet:" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "7df0629c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAADwAAAAcCAYAAAA9UNxEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEyUlEQVR4nNWYfazWYxjHP+fUkGxstYmpsdTJxkqNYrLpnZRm+sPZYqTJyEtCxXx9j7dFKYoIo2EjneWlNuWPlERO04usomZephSS0SHj8cd9/9rveXp+53l6zjmp7z+/53fd933d1/W7r+t73ddTlcvlOBTYHg/cKanbIS08QlBdwZpewPqWNePwoVKH17WwHYcNbZsatN0LmAn0A7YBY4FzgLpWt6yVkOmw7W7ACmAuMA6oARYAx9OKIW17PnApcIakPyrU0QdYC4yT9EJ6rCqLtGwvBX6WVJuSPQ+MlHRyJYaUYeh5wBpgkqQnmqlrESEyu0n6PZEXzWHbnYEhhHBO429al7AeBn4jRFVz8SjQCbg1LcwirXOBf4ANBfLetJLDtrsDg4AFkhqbq0/Sp8AW4EbbB/zMyuEc0AY4FtgfDeoP9AVmldrM9kRgBiE0ZxQZrwE2AmskXRzF1wNVwBsZOpcBg4GrJNWn5FXAS8C1wDRJk1PLXgceiOuWQvYJrwX+Aqbb7mp7OPBqHFtfwl+Aj+KzX8b4bMIHvSUlG0SIqk8y1twF/As8aLtNSj6d4Oy8AmfTdgxOBEUdlrQDuA4YBmwC7gVeBvYBX2YYlMZnQCMhIvJge3Q04GlJG6OsPaG+b85iZkkbgFeAs4Axcd1UYCKhetxUZFlDfCZRlM3SzYXtFXGjU+MHTBzbAhwDdJe0N8q7A1uB9yUNaUJnZ8IH30lImdmEUB0paX/GmkZgr6ROUNlNq1wk4XRBSnY/cBpwT+JsRIf43NOUQknfETjkdIKzq4Ers5yN+AXomLwcDof7AtjuAdwBfAzML5ibsPJxZejdnfo9VtK+EvPbpfQHlrbdYnEtqSr+XE1g+4S45hCI6mZJhfvtis8ONAHbtQSS2kmosbdRPHeT+dXAScDXiaxtgZEtBkl7bG8G+kRDBwJzJRVrPHYQTq4mS5/tywjEuSnq+hC4wfYsSVszltUQSt36RFAypG2Pt/1VqXkZWAW0B54DfiKw/UGIJ74S6Gj7zCI2XAQsBL4HhkraDdxHOLBpTeyfRNfyRFBODvei8ttVkscnAFMkNUVKyWViaFoYO7bFwF5gcML4khYS7gtXxEtRMQwh1Pa3E0G5Dlfa/ya50wC8WGJuPSGXr0kE8bTfI3DBUEnbC9ZMic/HC5XZPhEYBSyO7A4U1OGM/nc5MJrQFr5GqJ/fxPlPApcDF0r6scim7wDDgX6SGgrHi8yfAjwC9M7I9bJhewLwFNBf0qpEXp2akPS/awhN/mTy+9964HNC7mB7EnA1MCzD2VpgBIGoSjobMRP4lmb+wWC7HeH069POQn7zMAdYkrqPbrM9inCL+SEqmgossb0dmAoMlHSA0Gx3AWqBroTQ/AK4u1xDJf1pewxwie32lf4BQLiYzCOweh6SOpz0v+cXjOf1v5KW2W4AHgJGFDm5YYQ+9FcCUdxexsUgD5JWEhi7YkjaTOiSDkJywk31vyuSF9sDgJ6E2nZQGEuaR/iyRyySHE73v0Be/7suvvcEFgETgLcIJ3nUoSqXy2H7FEIJmQ88BvQAngG6ENqxRsId+FlJdbbPJjTwAyR98L9YXiGqoWT/u4tQC9+VVBfnbwLe5Cg85Vbrh49U/AdF/scIm0J9awAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\frac{d}{d x} y{\\left(x \\right)}$" + ], + "text/plain": [ + "d \n", + "──(y(x))\n", + "dx " + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y(x).diff(x)" + ] + }, + { + "cell_type": "markdown", + "id": "20bd2c2a", + "metadata": {}, + "source": [ + "So können dann Differentialgleichungen eingeben werden. Als einfaches Beispiel: $\\frac{\\mathrm{d}}{\\mathrm{d} x}y(x) = y(x)$. Diese Bedingung wird von der Exponentialfunktion erfüllt, denn die Funktion ist gleich der Ableitung." + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "c6ccfbad", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\frac{d}{d x} y{\\left(x \\right)} = y{\\left(x \\right)}$" + ], + "text/plain": [ + "d \n", + "──(y(x)) = y(x)\n", + "dx " + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d_eq1 = sp.Eq(y(x).diff(x), y(x))\n", + "d_eq1" + ] + }, + { + "cell_type": "markdown", + "id": "e8f386ee", + "metadata": {}, + "source": [ + "Ein etwas komplizierteres Beispiel $y(x) + 2\\frac{\\mathrm{d}}{\\mathrm{d} x}y(x) = ax^2$" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "6bec676a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle y{\\left(x \\right)} + 2 \\frac{d}{d x} y{\\left(x \\right)} = a x^{2}$" + ], + "text/plain": [ + " d 2\n", + "y(x) + 2⋅──(y(x)) = aâ‹…x \n", + " dx " + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d_eq2 = sp.Eq(y(x)+2*(y(x).diff(x)),a*x**2)\n", + "d_eq2" + ] + }, + { + "cell_type": "markdown", + "id": "60d101b9", + "metadata": {}, + "source": [ + "Für das Lösen der DGL wird ````dsolve```` verwendet." + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "698da3aa", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle y{\\left(x \\right)} = C_{1} e^{x}$" + ], + "text/plain": [ + " x\n", + "y(x) = Câ‚⋅ℯ " + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.dsolve(d_eq1, y(x))" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "88ba4917", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAATEAAAAXCAYAAABj53j3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAKwElEQVR4nO2cebRVdRXHPw8xdTlkoqYl5JRoqxBlmeYUzikaOA8rCOeVU6hoQNqXL46UAzhPKWqWJSjmkBIKS0FD0NQMzaFESxQFJ1JUjP7Yv6uXy7nv3nPffbyH737Xeuu8+xv22b99fmefPZ3TtGjRIhpooIEGllV0bmsGGli6sH0VsEDSINtDgf2A7sBHwF+AoZKeaUseWwMdaa0dDZ3amoEGlh5sNwE/BManpt7AFcC2wM7AQmCi7TXagr9WRm86zlo7FOpiidm+EdgT2EDSf2uY3wuYARwt6bp68NTRYPsA4BZgE0mzUttoYG9gW0lvAFsBKwBTACTtUUKjP/AusB1w19LjvvXRkdba0dBiJWZ7K6A/MLgWBQYg6XHb44GzbN8qaX5L+WopbH8TOALYHegGrA68AzwF3A6MkfRBW/GXgXHAEOAM4Gjbg4FDge2SAgPoB9wjaWEZGqsS1vnbrcxre0C7WavtHwE3p59f2Ae57T7AT4FvAV2A2cDjwEWSHq2Vbj3cyXOA94ArW0jnPGAd4KQWc9QC2G6yfRbwd0IpLADGAhcCE4EtgMuB+9uMyQxIWgQMAwbaHgL8Augj6YWiYX353JXMwmjgSaDmDbUMoV2s1XZX4DKgzR/crQnbI4G7gS2B+wj5P0HsyalJkdeEFllitjcBdgWuk/RhS2hJesz2c8Cxts+X9L+W0GsBrgcGAjOBwyQ9VdxpeyXgFGDj1mTC9tnAzysM20nS5MIPSRNsTwfOBvaRNL2I3sbAhpRRvrYvArYHtpf0aQ38DgRuKOWpPaKla60jH02EzOYS1v3gtuKlElpyfW2vQ6ztDaCHpDlFfTsBDwIjgN/UwttnSsz2KYS1MVjShRmMdAeeBqZJ2jE1HwE0Ab8vw/wEYDfgAEnjitoLF+/HwEhJQ1LXrcDwNGepWzpJBgOBZ4FtJL1fOiYp63OSMqvlHPsDRxHxqdWAWYQsRpbcUKOofFFfKaG9M7A5cU3eKBnbD3ggy+W3fTFwCLFB/1ntWuoN24cBfQjZrEsE318ErpB0Q8nYvHur0N8u1ppwEpFk6J2OZZFHNml8TfJpJXyD8PqmFSswAEmTbL8PrJU1sZp1F1tiU9NxmzKMXAosB5xQ1LYr8CmRrs7CaYTJeJbt8UU36QWEEK8pEWKBh6WuxGyvS7jGC4GDshRYMfJanraXI5TSIcRFuI1I9e+ZztudkEmB/lvAWznobw7cAZxIXPTzgOJgdl/gxox5o4GDiZv6uTxrqidsrwrcBEwHHgbmAGsTfF9ve21JI4um5N1b7WatiZfNgPOB0ZIeSg+gcmPzygZqkE8r4gXgY+C7ttdMexsA2zsS8cnxpZOqXXexEnsC+BDYOoPYgYRiuUTS06ltZaAn8Gy5gL6kp2zfTAitPzDG9jDCHfsD8JOSKQX3Z0cqwPYgItheLZ6UNL6Z/kHAikTAvjVqh0YTCux84MxCcN32acBkYIDtkZJm5iVs+xvAn4ALJV1v+zHgadu9JU22vRbxcDqgZN7lxHXpB7ydzH6A+W2QXFkErCfp9eJG22cAzwOHA5/dqHn3Vntaq+3ORCD/FSKOWQm5ZAM13XutBknzbP8MuAiYmZJ4c4GNiJKfPwPHZkytat2fBfYlfUIoka7JKilMWDmdfA4RLC7g64RlNrvCGs4kguOyfQJhddwP9C+Ne0l6N43tVoEmhNJRjr9+FegV+m+q4ty5YHtr4DjgTklDi7ODSe4FC2mJB0gVtNcgAqV3SRqRaD5DWHrnpWH7ANOLspQFHEc8BR8grmPhb6nHZiTNL92sqX028BqQVc9V9d6iHa2VuI+2AAZWY9HXKBvIJ59WhaRRRLFxZ+BoIml2IPAqYTjMyZhT1bpLA/tTCSvoe0SgEULg6wGHJyVTQJd0bDZFLelV26MS05cCjwD7Sfq4zJR5wFebo5norl9pTLWwvQqwCaH5p9WLbhFOJOJUH9gentH/7XTMnS2WNA/YLKP94KKfmVlJSU15zwdg+2UizpGFSbZL226UNLACza8QoYo+hGu9GovL46+lc/LsrVZaaxZukVQ205YeaMMIq7mqzGgtsoGa7r3C+V6m/tf3dOBc4BIiG/s6sCnxoL3Fdk9Jp5fMqWrdWUoMwiK43famwMlEGro0nlJ4gqzYHPMJbxb9f2SF+qqVimgvLRSCiu/lrf1KPv1goBfwNULZjykZtns6HlqB3Kw8586BqcDv6khvFEu68j35PO72cknfk80Rs90DmEA8vB4jEjxzifjkBsAAoj4vC3n2Vi14ibBmqsVr5TqSG3kT4QqdWQ2xFsoGapPPKOp7fXsT7u4dkk4p6nrC9r6EPE61fVUh2ZJn3aVK7BHCGikE9y8jXMbjUx1SMQrmXxeaQcouXEBo3nWIYrdMf9x2J0J4/2qOZho7iPrFxAoxvZVsL5cz7b4K8AyxOZdwRW2vSCjJhyR9PwfdukHSL+tMb1RpW0rB9yVcg8k5Sd5MXMsl0ve2R6R/Z2Scs+q9VSsk7VJHcgWLH2BBhkUDcK3ta4mA/yBqlE3qr0k+rXB9907HSRnn+iDFcPclXOxCxrjqdS/mvkh6mygv6JUEsAtwtaQsc3U2oeW7l+Pc9l7AGOIm7wH8AzgqlWtkoTvhdj1ZjmYRBlGnmFjyx2cBXyLS3WWRFG3x3HslDZM0FsiKMxTcmDUrrKdDwlHs2QOYnLFZVyeCtxCV3cV9efdWe8BHwK/L/BXusSnp96O1yib1tyf5rJCOmWUURe0fQ/49kVXsOoV4LeBqIsWfWXApaZHth4D9bW8s6cWSk21PVLr/G9hD0pspq3AbYVr2yyBbsACX0NgZ51+/0picuJgwo6+w3bc0BZ/qa35ACPCgaolK+tD200AP2/tJur10TJLVozktwC8KCq7ahraXT4kObHcBfkvEYxdS9GCrcW+1OVIQ/6isvhQr3YKIL12X2go3d9WySf3tTT4PE7GtY2xfLek/RbzuSby/uoDwBCHnnshSYlOBYwjT9+RknZXDOGB/oh7pMyVmuyfxisG7wG4pm4CksbZnAH1t7yDp4RJ6uxN1Z3c2c87WwiWE9j8C+JujWPB54BOgK1HhvR4hxLw4DbgHGGd7IlE03InI8PYClpdUTUb2C4d0gz1IFHtOS/JZl6ifm0RYtzMlLYAW7a1lDnllA+1WPmOJV/Z2BZ61fQfh4m5GuJpNwBBJcxOvudadlQ0rxKOmE2ZtcxhHxMYGFBocr7fcR8TW9pD0Usmcoen4q+JG218mnhB3S3q1wnnrDkmLJB1JZELuJgKZxxNPzh5EcmMgNbzbKWkC8QmYccB3Eo3+xEWcyOfmcUfFIUQMpCsRs9mIqGc6l9ijM6D2vbWMoyrZQPuVTyrn2ItIEs4k4l+nEp7XvQSvo0umVb3uptIvu9r+I3Ejb6Oid+/KwfGxuXOBLcvEzqqC7RMJa2gHSVNqpdOWsD0fOCEjO9lAAw20EhazxFIwfx/gymoUWMLFROXxiEoDy8HxHuJQYNyyqsAaaKCBtkFn292AwwhzbQDxCZrTm51VBEkLHB+Y28n2yqrtm2LrA9cQ2ZRlCqlQtvBFi05AtxSXmCfplbITG2iggbqgafjw4ccQmch3iHeYBkkqW7DXwOJIhXxZ2dSKVcwNNNBAy7FETKyBBhpoYFnC/wHUiWdX6pIAjgAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle y{\\left(x \\right)} = C_{1} e^{- \\frac{x}{2}} + a x^{2} - 4 a x + 8 a$" + ], + "text/plain": [ + " -x \n", + " ─── \n", + " 2 2 \n", + "y(x) = Câ‚⋅ℯ + aâ‹…x - 4â‹…aâ‹…x + 8â‹…a" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.dsolve(d_eq2, y(x))" + ] + }, + { + "cell_type": "markdown", + "id": "4886f205", + "metadata": {}, + "source": [ + "Die Ergebnisse sind Funktionenscharen, die für alle C die DGL erfüllen. Sind für die Problemstellung Wertepaare vorgegeben (Anfangswert/Randwert), z.B: y(2) = 8, so können die Konstanten C mit diesen Bedingungen bestimmt werden." + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "ecf60f28", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle y{\\left(2 \\right)} = C_{1} e^{2}$" + ], + "text/plain": [ + " 2\n", + "y(2) = Câ‚⋅ℯ " + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C1 = sp.symbols('C1') # C1 muss als Symbol benannt werden, damit wir später darauf zugreifen können\n", + "sol_1 = sp.dsolve(d_eq1, y(x)) # Lösen und Speichern der allgemeinen Lösung\n", + "sol_1.subs(x, 2) # Einsetzen von Werten" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "c8581aab", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAACaklEQVR4nO3YT4hWVRjH8c80gdTQRiKQiKiVuEjKILIRrIUQbQQXQVRC0cYwpE1/Nj8fBzGrRZtEiIFqEIRApIF26SLJNrZoqGV/iNAgCPpvzfi6uHfgdZKZ9877prPoBxfuc895zvnyu+c8989Yr9dzvXXD9QZgjUDc2B9U1QbM4hx6OJbkk772cezHk9iA8ziG/Unml5uoqh7E7ja8H7uSfPcvCKzDFkwm+esqY72E59vB5nAP3sNFTC0HkeQszrZAPdy02LYUYiVtxWyS2Tb+tqo+xAMdx7lCXdfEGTxcVRuhqjbhEXw0DERXJw7jFnxVVQtt/sEkR4aB6OrE43gaT+C+9nxPVT07DERXJ97Am0mOt/FcVd2JVzC9WoiuTtyMhSXXFlYxzhXq6sQsXq6qb/Al7sWLeP9aQuzV1IMjuE1TrN7BgWsGkeRX7GuPkWlNPDvWBMSyt6Ot8UMrydiqIVZKHpW67o6rqqruwIxmx8xjKskHg+aPak3MY1+STdiBt6pqYtDkkTiR5LymZkhyoap+wnr8Pkj+yHdHVW3BeJLvB80ZiRN9AOs1Jfy5LnkDQVTV7TiExzCOj7EnyY99fdbhJF5L8mkXiBVvR1Xdhc/xAyaxHbfiaF+fMbyLU0lmugAwmBNHMZ3k1b5Jp3Cir89DmheeL6pqZ3vtqSRzQ0O0Lyw7sK2qXuhrGscfi0GSM4ZY5Cs5sRm/aD4Dlurv1U7aFeIfTOBCkt9GNWlXiM/wM2aq6oDGlbuxE3uTXPovIC5qPgHfbp+gM3gUr+O0Zi18jeNdAapqK55pw3P4c7Ft7P9fA60uAx0suJmwZ6EXAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left[ \\frac{8}{e^{2}}\\right]$" + ], + "text/plain": [ + "⎡ -2⎤\n", + "⎣8⋅ℯ ⎦" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sol_1_rhs = sol_1.subs(x, 2).rhs # Zugriff auf eine Seite der Gleichung (Lsg.) mittels Attributen rhs (right hand side) oder lhs (left hand side)\n", + "sp.solve(sp.Eq(sol_1_rhs, 8), C1) # Aufstellen und lösen nach C1 der Gleichung (y(2) = 8 = ) C1*e^2 = 8" + ] + }, + { + "cell_type": "markdown", + "id": "fb8eaf84", + "metadata": {}, + "source": [ + "Mit $C_1 = \\frac{8}{e^2}$ wird also die Bedingung $y(2) = 8$ erfüllt.\n", + "\n", + "Die Methode ````dsolve```` hat einen praktischen optionalen Parameter ````ics````, mit dem direkt Anfangsbedingungen bei Lösung der DGL eingesetzt werden, sodass das aktive Lösen nach $C_1$ nicht nötig ist, falls nicht nach der allgemeinen Lösung gesucht ist." + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "449e6fd4", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle y{\\left(x \\right)} = \\frac{8 e^{x}}{e^{2}}$" + ], + "text/plain": [ + " -2 x\n", + "y(x) = 8⋅ℯ ⋅ℯ " + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sol_2 = sp.dsolve(d_eq1, y(x), ics={y(2):8}) # Alternative mit direktem Angeben der Anfangsbedingungen\n", + "sol_2" + ] + }, + { + "cell_type": "markdown", + "id": "d7852131", + "metadata": {}, + "source": [ + "#### <font color='blue'>**Schlussbemerkung**\n", + "\n", + "Dieses Grundlagennotebook zeigt nur eine Auswahl der Möglichkeiten mit SymPy. Viele der gezeigten Funktionen haben weitere optionale Parameter. Hier hilft die offizielle Dokumentation weiter." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Uebung08/Uebung_08.ipynb b/Uebung08/Uebung_08.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..9d028c436d49c946658a0bbdc693dbe4e5e8022e --- /dev/null +++ b/Uebung08/Uebung_08.ipynb @@ -0,0 +1,1136 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a59d3860", + "metadata": {}, + "source": [ + "# <font color='blue'>**Ãœbung 8 - Modellierung eines Falls in der Erdgravitation - Sympy**\n", + "\n", + " \n", + "In dieser Ãœbung möchten wir uns mit der Modellierung von freiem und gebremsten Fall in der Erdatmosphäre (z.B. Fallschirmsprung) beschäftigen. Im Gegensatz zu vorherigen Ãœbungen liegt in dieser Ãœbung der Schwerpunkt weniger auf komplexer Programmierung, sondern auf der Verwendung von *SymPy* als Werkzeug, um analytisch mathematische Formeln herzuleiten. So kann *SymPy* als Werkzeug bei der Modellierung von Problemen helfen, sowie auch bei der Vorarbeit zu Programmierprojekten zum Einsatz können. Klassischerweise werden bei der Programmierung \"starre\" Berechnungsvorschriften als Zuweisung oder Funktion implementiert, in die Werte eingesetzt und berechnet werden. Der Vorteil an analytischer Modellierung wie mit *SymPy* ist, dass die Bestandteile der Rechnung symbolisch behandelt werden und daher unbekannt bleiben können, bzw. direkt parametrische ZUsammenhänge hergeleitet werden können. *SymPy* kann in beliebigen Python Programmen verwendet werden, für uns an dieser Stelle am nützlichsten ist aber die interaktive Verwendung im Notebook (alternativ in der Konsole) für die Herleitung von (uns bisher unbekannten) Formeln und Zusammenhängen.\n", + "\n", + "### <font color='blue'>**Vorkenntnisse - Notebooks**\n", + "* Ãœbung 1\n", + "* Ãœbung 2\n", + "* Ãœbung 3\n", + "* Grundlagen Python\n", + "* Grundlagen SymPy\n", + "* Grundlagen OOP\n", + "\n", + "### <font color='blue'>**Lernziele**\n", + "* Interaktiver Einsatz von *SymPy* zur analytischen/mathematischen Lösung von Problemstellungen\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "a702c3ef", + "metadata": {}, + "source": [ + "## <font color='blue'>**Problemstellung 1: freier ungebremster Fall (gleichförmig beschleunigte Bewegung)**\n", + "\n", + "#### <font color='blue'>**Aufgabenstellung**\n", + "Es sollen Formeln ermittelt werden, mit denen bei einem freiem Fall in der Erdbeschleunigung $ a = -g$ (Luftwiderstand wird vernachlässigt), die Endgeschwindigkeit $v_e$ und die Zeit bis zum Boden $t_e$ abhängig von der Anfangshöhe $h_0$ und der Anfangsgeschwindigkeit $v_0$ berechnet werden kann. Darüberhinaus sollen die Funktionen $h(t), v(t)$ und $v(h)$ ermittelt werden.\n", + " \n", + "#### <font color='blue'>**Vorüberlegungen**\n", + "\n", + "Für die Frage nach der Endgeschwindigkeit ist ein Ansatz über die Energieerhaltung sinnvoll. Beim ungebremsten freien Fall wird potentielle Energie in kinetische Energie umgewandelt. Energieverluste gibt es aufgrund der ignorierten Luftreibung nicht. Daher können wir eine Gleichung für die Energie vor und nach dem Fall aufstellen und nach der Geschwindigkeit nach dem Fall auflösen.\n", + "Bei den anderen Fragestellungen hilft uns der Energieansatz nicht weiter, da die zeitliche Komponente eine wesentliche Rolle spielt. Es ist daher sinnvoller, die Bewegung in der Zeit zu modellieren. Grundlage dafür ist die bekannte Beschleunigung $a = -g$ und der Zusammenhang $a = \\dot{v}$ und $v = \\dot{x}$. Damit können wir eine Differentialgleichung aufstellen, deren Lösung die gesuchten $v(t)$ und $h(t)$ ergibt. Mit $h(t) = 0$ können wir $t_e$ erhalten. $h(t)$ nach der Zeit $t$ aufgelöst und in $v(t)$ eingesetzt ergibt $v(h)$. $v(h = 0)$, bzw. $v(t = t_e)$ ergeben auch auf diese Variante $v_e$.\n", + "Auch wenn für die Gesamtlösung der dynamische (zeitlich aufgelöster) Ansatz besser geeignet ist, soll hier zunächst zum leichteren Einstieg in die Verwendung von *SymPy* der Energieansatz für $v_e$ verwendet werden. " + ] + }, + { + "cell_type": "markdown", + "id": "9dfb04e9", + "metadata": {}, + "source": [ + "#### <font color='blue'>**Energieansatz**\n", + "\n", + "Wir importieren zunächst *SymPy*" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7cae882e", + "metadata": {}, + "outputs": [], + "source": [ + "import sympy as sp\n", + "sp.init_printing() #Anschaulicheres Plotten der SymPy Funktionen\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\", category=UserWarning) #Unterdrücken einiger verwirrender Warnungen" + ] + }, + { + "cell_type": "markdown", + "id": "93a57633", + "metadata": {}, + "source": [ + "Die potentielle Energie im Erdgravitationsfeld beträgt $E_{pot} = mgh$. Die kinetische Energie beträgt $E_{kin} = \\frac{1}{2}mv^2$. Im Anfangszustand (Index 0) haben wir sowohl potentielle, als auch kinetische Energie. Im Endzustand (Index e) haben wir nur noch kinetische Energie. Die Erdbeschleunigung $g$ und die Masse $m$ sind nicht vom Zustand abhängig. Wir erstellen also folgende Formelsymbole:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d51479ac", + "metadata": {}, + "outputs": [], + "source": [ + "m, g, h_0, v_0, v_e = sp.symbols('m, g, h_0, v_0, v_e')" + ] + }, + { + "cell_type": "markdown", + "id": "3a601805", + "metadata": {}, + "source": [ + "Mit diesen stellen wir die Ausdrücke für die Energien auf:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ca2c7c44", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAuCAYAAACrrAD9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADvklEQVRYCe2Z21EbMRSGbQ8FcOkAOgihA+iAJBUAHYThCd4Y6ABSQQY6IB1A6AA6ILgD8n2yJLTLgo3X4+WBM6PV0Tla6de5aCW7//T01OuKjo6OFpn7IM6/Gusd5EP5hSjoqjoByF6aHP4M/i9lTdnAR4e0C6DNYv4T+FVkX5R1DU6r3QikifpdxlwdEBbTctvUH8KtGV905TaC9STs2q0BB8DMVK22Dh8yVUXX2dqLwPaptwQU29b3ncZcBOL2sS+wSCaJYIfBcjCms+m7QdmhLFPs9EBxRVf0OaXY5wdFknef+hNaPODdVHcpK5Q72ufUgeDvYJz0Moqs3NN8xzoTfcLel9y6hcAXr+jxi3Jt297UTvBIbSzcF3KD94KyREl0oJ6iznEyOHgX7MIyOPqV76Kq0oAOWk1QkoG5iOw0tEYPB5WUZyvRVu6qA6HTktexqbXvI58qPVKXJV1jreVuGHhIcSLBBZMWvZ1UKq1g25S/lYmkVVP7O7LjpEj6Wntsc0FgsZcW7NEuraNIK9wW/ZRJAsiAk55al7rQrIOXNtFlj8C7dUjG9QrtMimCYhCeo4fxkFZeiHuCrgBmIGUCMNN6tOUTBZciS4tOcpMkEDqT5oHa+BSwCZdCa9SJZwmuCYST6ur6i7pea+pK9Voxke3KIumjNcNCYietlheMXl7L+m6mgVwUCuR31oyYMGl8uVTZNw2+h750ocDyJHFsTxohGWLb9+vJMUSW4hv22XIOVgZ0UPJwkHLiJHflZu9P6tIiPWTGjkl2QdF9lVjzPUoT/UPoDpBp7l8IAGsdN90leK0VCP4R5pg6J01wa9TPq8qAahNq0Yqr5w4OywhAgIZSnSqJNHdwEY0bdNhXbQNY/jICVxRo7jGXJgZIuQl78nXPq7i8M3AJ5Ft1V259C1PWfWhw/cPDw+6u/NlGzcxnzDXbZbz0Q8fcJ7jxDmzusdAsnlzKrr5K73TE/grv0cfdvvKdnHzE556tsjUCO6P2aB4I3s+S5zyvm+lAOlK+89k25gRSua0BSCv6jfRO24ragvM04c3es1hJWsyTsi6fmtqCE4TH+8ppokBTB12oxrOtYu614QHr7yJeavqv9ZlE3tZyL+YAkHcE3Zky+EWfSQUzB8fEJoKn2nxRmRRMvd9M3Qogr4m6M28t9Qnf056Z5QDkHXV5VsBcxEzAAcifG9aovzmoBK8Fjb2pqTU4AJgAG9T1BBCwn7KpqVXMRcv4I0/TZ8qfIcL/CdOia/vhF5iuM97q1PrD/x/HslPDXbarUAAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\frac{m v_{0}^{2}}{2}$" + ], + "text/plain": [ + " 2\n", + "mâ‹…vâ‚€ \n", + "─────\n", + " 2 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Epot_0 = m*g*h_0\n", + "Ekin_0 = sp.Rational(1,2) * m * v_0**2 # Wir nutzen sp.Rational(1,2) anstatt 1/2, da kein Symbol in dem Bruch ist und Python dies dann als Float 0.5 auswerten wuerde\n", + "Ekin_e = sp.Rational(1,2) * m * v_e**2\n", + "\n", + "Ekin_0 # Darstellung des Ausdrucks für die kinetische Energie zu Beginn" + ] + }, + { + "cell_type": "markdown", + "id": "0b827384", + "metadata": {}, + "source": [ + "Diese kombinieren wir nun zu der Gleichung $E_{pot,0} + E_{kin,0} = E_{kin,e}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "67e3ede7", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle g h_{0} m + \\frac{m v_{0}^{2}}{2} = \\frac{m v_{e}^{2}}{2}$" + ], + "text/plain": [ + " 2 2\n", + " mâ‹…vâ‚€ mâ‹…vâ‚‘ \n", + "gâ‹…h₀⋅m + ───── = ─────\n", + " 2 2 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eq_E = sp.Eq(Epot_0 + Ekin_0, Ekin_e)\n", + "eq_E" + ] + }, + { + "cell_type": "markdown", + "id": "0aff97d3", + "metadata": {}, + "source": [ + "Diese Gleichung lassen wir nach $v_e$ auflösen:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "317bdf09", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAAzCAYAAACewh2VAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJdklEQVR4Ae2c63XVOBDHLzlbABs6gA54VLDZDmCpAOiAPXyCbxzoAKggCx3AVsCjA+iAkBL2/3MkrS3LN37Iln0zc45iWa8Z/UczHsm+ufb8+fPruwS9ePHiPFFsRYaAIXAgCMjGk7Z/pPl9VfoVpVcHMm+bhiFgCHQj8F5Vse2/v6ZI4bsqnshrfOruazWGgCFw6AjIBzzWHB8QKRgZAoaAIRAQMKcQoLCMIWAIgMBvW4FBoQ37n/tbkXeLcgrja2uS23Q+vzZSOt+EU5DgnJLeTk1gftiMQwkETOclUL/guZXtw4nE/VAOJuNcAAHTeQHQYbkVp/BQsp4WwsjYlkHAdF4G9804BbYO3wphZGzLIGA6L4P7+p2CnAFhpH1DUWiBlGBrOi+B+v88t7B9eCJxefNgdHUQMJ0X1PUWnAJhpEUKBRdJAdam8wKge5ardgoujLSzBK+tK3A1nZdX8tq/U3ggiOytQ4Z1ImPjW49nbqib7vpI5Wv7NazpPIO+GWKsztfuFE40MfaXRtMReFXHUvk3GpJfyN6aPnTWEUzn+eAcpfPVbh+0aG8LG9s65Fsgj4Upb3I88fP4mw5nX1b0ajrPDv8ona85Uuj8eEWLh/D3bwfhXV3PuFf5aCeivoTXvOWoxtP92p6gEm0SEXF9mTTC/J1N53kxHqXzNTsFfvz0MsbIOYQ3uv7p65TnqfeVMqVRbyrUj701/Qmp1248fuq9r5rX26gxC+aHykc70mi8HLem8xwoujHG6nyV2wdNhkiABZs6BMMBsKADqR1RA21zfM/AtuVjGHyBjORnH80/uFiExIs5YoB3FmHYg4lkujI6X1rfwD9E56t0CpoDC7bLwNkXf9ckCffrRIRwXeUsrlGkvn7PPSraGMX0ohNzieczYbjurg4fHOsd5XGka6GrpPPF9I1yh+p8rdsH9pZ/dKxWDJaPW7oW9BTjYkvSFaF0iLOdYrc4OHuptl7ufqfrjxXMwnQ+gxKcjgfpfHVOQZOojFrXpNGrnPfYKSIk3qm+tUdWGU+he0o/aSPiZ9iE7PE+m0jhk2t/rDyHjYzL/7Bcg+FIlCZJLvBi63FDiQgqzEl5/v8mC+KDEhEUryG5r7BSnm0YW6+iJHlM5z014LC6VN8Mp7ajdH7UU5Ylm/0lZqdDGGryLHIAaC1w1REqP9MVY3itPA6Bw8SGc1EdC5Nx7ip90/1b+iiPc2KMtRJzY16flWI5j1XGExhizjg9rj7xyor5lSbTeX8N9NU3I47S+WKRghYfC/azrhjlPsJYGweJ+xq7Os4feBpiHIF0T4TwVOl3X6gytgc4gPgwEYOB+Movjgpo3yC18Qb4UxU3dN9ySI0OM9yIJ04MZwBVW5+LbPj7SDkipJ3aBgxC7cwZ8TSdZ8R4iL5hO1bne52CBsUY/lVqGQVMO+iB+jVCeN1748QhXOYU+KAmNsoOVtXECYkx9MaT33V4Bz/VnfsBlMeQoFgOjIoIoSG7ymjfaKs2hG8/da2ckK4nSh+Vqr266pKkemT1zqfehif6TvUpZ4hMqbnRhXl7eXnavqSwRr1xrPXJkpVcV17nwmCT+r7MKWBMk15bCRhvhCzelEGERegWUsMAQ2Uio/YY57GuLWN0fHFmp1FXZDhXfWwwlDd4qw1bElI8Bk/AcBCqdpxD4BT2OjTVp4x+p3IMiL6NSEdle0ntK2fn+jPXcJ7gOuKsBo25l2HPSvE0nQsr4bBJfe91Cj3XwGXNMEB/0MW32Lw58E+3uC/73/hpF7ep7jUGhnRL1/AUVR4D3umKwd8lL4p54UAarxzVHoOib7ylQKnIH8ZQnna0j50KBooxxOUqmp2YU+qtCYePgSQ7zgyae8tjOr/Aea6/s+r7aC6p/bhaiN5IvCH6gy/fpH7d5zBCO42J8d3TNd7H4yjOQkNlavzJY8xEBLHxE3pT72XkFiISqZ6+quNQzjuEqjL6A9/jqGypW+QKjgumkhUsCF8rQn5l2PL4A1cimxgH3xacRpPGNZ2PRq9Xx6z6jjnO7hQ8Qy0UFi1PU4yyRaqnPDbKVDsA4WDxuvrwuXNIKuPVITygf/ije9p74owBquoustXfVvTg6jAOv3UgKvGLvdY1ZHEIk4wpjDQ8A7Zhnm7O8VaGKCHgqzbkTyJ8drpnDr905eR6EmkM0/kkBDs7Z9N3isNRqnDGMhYi0UDKeNgGYOyXEU83DIAnX5zOfWfxII+xs2V5qoRRnCmlwmzkSfEmEnno+vuoJPBQXZ0YY5/TqLfNmpd8yPZF1/dKYIKxh7ME5cErJR9zIeoKpLaUMQ+cLn2mkul8KoJRf+klm76joavbJc4U6nx56hLWEhU0DvUo02STBzOqC6Q2vX+9qLYsSFJFuufpF+5d8U7lOI8WqTwYlq9UmXcqGBoeu07xfb1u1rzk2oddl3HjJFtbHo1FVISecpDpPAeK0Rg59R0NvVvaKXiDfChBglPQBHlaZTMoN94zjRn+s5Arg88jpanEYSiOrZJZY1dOTtexkQJPZ9LShEPochic2QQdTRDMdN4Gb436DlIu6hS0yPxJPkZUJ5wET5RchEMIPMSXhc95Aodsk52PxnitxLaELQkn+UQvo52NxvGGo2FmoS6HAy4tRyZ5KGdek0ljmc4jFNem70i8xSMF+GP88avJ+wKKfVIu8qfujzUur+VY5DiEbMaXWd5c806OI1mHbnnArbV1Sg7er9B03g+nLK1G6LvBd9FIwXH2hkl0wNd67M1bT6uGlANvNCY8PJ+BvQ+2ee8tT2aHAKBeF6bz5ZZXb33HIh3FBXPfa8ERvhPO+vCeAzL/ZJ+b/ZUd3xk6v9Go3sYICN72jN7yDAHSdD4ErTxtp+i7RKTArHlysGUgrMc54NWMZkZAeOfcog2V1nQ+FLGJ7cfqe/FIwc3THypyIHgm4YkcjA4bAdP5RvRbyin4PSY/a059NLQR+EzMAQiYzgeAVbJpEafgIgP/ajD+5LgkHsZ7JgRM5zMBO8Owpc4UmEoVTtrWYQatrndI0/l6dRMkK+kU+PWhDymDQJY5aARM5xtQbzGnEIWTG4DKRJyKgOl8KoLL9C9yprDM1IyLIWAIjEHAnMIY1KyPIXDACJhTOGDl2tQMgTEImFMYg5r1MQQOGAFzCgesXJuaITAGAf/2gf/nx+8QAtn3AwEKyxgCB4lAbPOaZOUDfKTArxR/1dKrg0TBJmUIGAJ1BPiJQcvu/wP/b+qYx1c4TQAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\left[ - \\sqrt{2 g h_{0} + v_{0}^{2}}, \\ \\sqrt{2 g h_{0} + v_{0}^{2}}\\right]$" + ], + "text/plain": [ + "⎡ ______________ ______________⎤\n", + "⎢ ╱ 2 ╱ 2 ⎥\n", + "⎣-╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ , ╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ ⎦" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_v_e = sp.solve(eq_E, v_e)\n", + "result_v_e" + ] + }, + { + "cell_type": "markdown", + "id": "7c2d8002", + "metadata": {}, + "source": [ + "Wir erhalten zwei Lösungen. Dies hat den Hintergrund, dass wir nicht nur die Geschwindigkeit nach dem Fall erhalten, sondern auch die Geschwindigkeit, die das Objekt bei einem Wurf hätte, der die gegebene Anfangsbedingung erreicht. Da keine Energieverluste auftreten, ist dies die gleiche Geschwindigkeit mit verändertem Vorzeichen. Bei einem Fall wird die Höhe kleiner, daher ist unsere gesuchte Geschwindigkeit negativ. Wir sehen, dass die Masse keinen Einfluss hat.\n", + "\n", + "Dies erfüllt bereits die Frage nach der Formel für $v_e$. Wir wollen nun noch ein paar Beispiele mit der Formel betrachten.\n", + "\n", + "Wir werten den ersten Ausdruck für die Beispielwerte $h_0 = 10\\,\\mathrm{m}$ und $v_0 = 1\\,\\mathrm{\\frac{m}{s}}$ aus. Dies entspricht einem Abwurf mit 1 m/s nach oben aus 10 m Höhe:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1bc24e1d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - 4.4407206622349 \\sqrt{10}$" + ], + "text/plain": [ + "-4.4407206622349⋅√10" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g_f = 9.81 # wir erstellen eine Python Variable mit dem Wert für g, da dieser konstant bleibt. Die Endung _f soll float bedeuten und g vom Symbol g unterscheiden\n", + "\n", + "v_e_expr = result_v_e[0] # Abspeichern der negativen Geschwindigkeit als Ausdruck fuer v_e\n", + "v_e_expr.subs([(g, g_f), (h_0, 10), (v_0, 1)])" + ] + }, + { + "cell_type": "markdown", + "id": "a02e51af", + "metadata": {}, + "source": [ + "Die gemischte Darstellung wollen wir noch vollständig in Gleitkommadarstellung überführen und wir sind auch nur an 5 signifikanten Stellen interessiert." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9c249066", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEcAAAAOCAYAAAB95wG7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACr0lEQVRIDcWX7VHbQBCGBUMBEDpwOgjQgdMBJBUEOgiTf/7HkA5CKsjgDnAqINBB6CCOO3CeR7nVyJLtk8aOszOrvY+9fVd7u3fS3nw+L7ZFo9HoDbbu4RPas5zdpH+FvMrpxjy6t6n9C/kavmXsJeaXyVU4jA/QD+xD2va1N9HOgY9NCEMa/QpP4VNYgK5kIJ+7KoP1hO4NcuyahP2EfAuvC1ALJ629RkZwCtrnmH1AXsDjfUE2IYzMkjFBvnW1xZqPXXXVQ/8ScYgsA5PGzE77X+wvozU42rtk3oAElRlD55MDGwcnrPaROGT5+WJyV7pAcVmWPTI+xKYZvEAZHG0t+ID+gj//JTg49R5H7hbeJN8ZomLpNinKyfkmrcQBfwIfKWMR7ciiMhN3HhwcsJxWlkE4WpesaWVFfT61X9XH+uKgb3A97L0gyo3b+ECuO5RrAzpAxzMqdju3JObjxRfSPiaTrALYBwddS9zAnMGW2g+4pJ0GB0R35Tphb1sc1wx2xsEfAyIXtC0rb7/ytjqgYcS/w1XkaefIxaXBnGLMo+/t0KucYi1yWms3m5FVfvcUm+CwdgybnffII4Nj50TD/4rAsJy8hvuWU+mSPsK2l21gjL30wUHXciqQzU22rCyz4a7KyuCc4YgfY3XSwUEa9+XWlZy3inaaFJnj/CncFccPygJMbywTpEU7CQ7gOl5dmeEF478dR/oNkyMDG78OdV2z/jm9YB8cAyJ2MzAGWJrs/5Vbe8ahGLuZM2xJyBXhrOU3h8udjQn6Xq9TZHyLFLRd+w7+EHorZAsHPbP0oa6fbKvrgT7b28aPJ4aiXKxVjVvHni/+p7Q+9hjzYLZE1Jf8BXhk/LMd5E+Eu1r996RxbZs9M9gD2Ov3Br3mucFwaSeHI349a/Wp+vH8A8c8J3ZO/Dl5AAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle -14.043$" + ], + "text/plain": [ + "-14.043" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.N(v_e_expr.subs([(g, g_f), (h_0, 10), (v_0, 1)]), 5)" + ] + }, + { + "cell_type": "markdown", + "id": "d4044710", + "metadata": {}, + "source": [ + "Diese Geschwindigkeit in m/s wird also bei dem Fall erreicht. Für einzelne Auswertungen ist die Methode ````subs()```` gut geeignet. Sie ist jedoch durch die symbolische Berechnung in der Rechenzeit wesentlich langsamer, als numerische Alternativen. In einem Programm, das diese Berechnung öfters durchführen muss, ist es sinnvoll, die interaktiv mit der Hilfe von *SymPy* hergeleitete Formel dann fest kodiert numerisch umzusetzen. Dies könnte folgendermaßen aussehen und ist in der Berechnung wesentlich schneller:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8db2beeb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle -14.0427917452336$" + ], + "text/plain": [ + "-14.042791745233567" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def eval_v_e(g_f, h_0_f, v_0_f):\n", + " return -(2*g_f*h_0_f + v_0_f**2)**0.5\n", + "\n", + "eval_v_e(g_f, 10, 1)" + ] + }, + { + "cell_type": "markdown", + "id": "a25c9891", + "metadata": {}, + "source": [ + "Wir können als zweites Beispiel die Lösung für den Sonderfall $v_0 = 0$ ermitteln lassen. In diesem Fall ist das Ergebnis wenig überraschend, aber wir könnten bei beliebig komplexen Formeln äquivalent vorgehen und Vereinfachungen finden." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "76aad81b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAZCAYAAADOtSsxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE/klEQVRoBd2a/1EUMRSAD4YCGOxAOlCsQO1AtAKlAx3/4z9HO0ArQO1ArECkA+xAhw7w+0ISs3u7e7t34Y7xzeSyeXl5v9/LHsfW9fX1bFNwfHz8ANk/x8qHfmss7Rg6+H2B7tkY2tui2bktxiP5vofuIY64GElfjSwGf8ZcNahTFdxYAAoHrN350UkG/81Uh9Wm367NcAK/t9DqhLXDHQh+tnkjAcAB99HgPvNZ1mS9DwZ/49mvyZtqQRrfcEAMSsIdsP9HGvBVW1SUs7ssX87topeXd9CR9T7PS8PaAxANOGA+SlrzbEWcMD8tcLann+IYNStFvku3PnS54rw6+fZ2zlgJNtGCNP5dS2txOSDuYaDVoLFmWxWAZ83W5yv0t1UVW2sAcIDl+4T5a0vxJ6wv4365ZebbLnRcDTCo7eBP5os+6iusXJlrDQAK9735aMgvDDPju8DArQQxuLa+dvCX4WurHNJ3NM9qdwCG+Y3yinkoK56xP3dpgTvs0dgyn7Ff4yI2+AuzH1na8YjxmyEYMKv2Y1jdfFgBZ5F2j2dtUtcjcL+YR0OVACD0NRI1UOEPu6RHmpOuvS4c9Bpk60lvRl1ko3DwsoIM/iAv9r2LdHawgVn56bINAQAnr5AYzO9ZB4cze1d5vi+Z2JqH7XnUNAyCVUblHA/iuouJ2fGha6MHp0Ffh86w5/0wpj29gpfO6QX4mPkm0uNEBE7nyr+8bFP/fxn3E7nzGF1K+tlONOD7xMOHnAttoZgt71QJjSyARgdMyX5p7bENPuAysGfg1fszo/EGlYn+PRj8udb3bzs8feLTgF8lfJThsrw37P8X7LXbovqUdJ6bQZcCb0u7x7pRhQZAgZ1tQwZjQT4Mq+AVs99yy16o0FEyOGew9pjzd4K2DuyZrcI5Q/reAEBrUgwGHxqdZ/aeMkow27WrtEVcw9Hs26ocjfPg1e03c6h8ZtvbN0a2beUWhIASUrRzlBGmsxqZVR4onyPtPnPOfJ4NpsZlYC0/nRDk8ayhfTCm9R3Ew+2s1lH5pQI5BkldypbkURPAQLXPq1953meDkO3ZBlENYGymKMQqUFnhLcP2NAjQm4WPmHPw4gED+KfrMLTKUmb7TCBn38A0sjVs9HxAnzOdZ/U320tnP/coe9mprgHlpEs6dQCdLI/Mk2fhiqGtAaoGIPJMVaAiOu+cWaG9wL7Keul6qfoniTzAmcFD55VnlaTLkWUGA7Mw+NB4j8zgoR4JvBOEsHfzOGtURMQ56ejTuLaCdbq4LjCZ9tJG9QAg3OywFM18RwoIj71glmm8mdQeQ87XaSHzONeoAvBTWp8ydK6vla8Z6qyj2l+2dGrXn0aU/SKebegBvg06Pwdnp71baW3WqagGtEtwTgQ0i95Q5s60EF2Xv8HPr5Qt+rklOpg4ubWw9v0/rz0ALl+erhOAD5dsWse5L3F0fvZJ9QpQOArZd62CRdkgeQ1IVRbkId92tLD1KRhav7t8YeSsFMeW40SaZQAeOtkglG0tsdI3AW4lAHJGAX/rzZG+EXc7n1GO2Wr7EgxICkpADHxYKfn+gJeBsP/X+C3CTlDy9tk3uOyXrU3+VwTKVAOM0jjvkvDWwzq/yg4JieeOoPnBuMcwAFZEo/2AWwrgkxLBL2K2WgNrZQT4bwKgNRh2yWTJpzcR0Xcadu60dtOVM9v8tSqX+HQW6z3xF4IN6eHbZHapAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle - \\sqrt{2} \\sqrt{g h_{0}}$" + ], + "text/plain": [ + " ______\n", + "-√2⋅╲╱ gâ‹…hâ‚€ " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_e_expr.subs(v_0, 0)" + ] + }, + { + "cell_type": "markdown", + "id": "e665272f", + "metadata": {}, + "source": [ + "Mit dem Energieansatz konnte die Frage nach $v_e(h_0,v_0)$ gelöst werden und die Verwendung von *SymPy* an einem übersichtlichen Beispiel demonstriert werden." + ] + }, + { + "cell_type": "markdown", + "id": "80fa9d8a", + "metadata": {}, + "source": [ + "#### <font color='blue'> **Gleichförmige Beschleunigung (zeitlich aufgelöst)**\n", + "\n", + "Der zweite Lösungsansatz ist eine Betrachtung des zeitlichen Verlaufs. Diesen benötigen wir auch, um die Fragen nach $t_e(h_0, v_0)$ und den Funktionen $h(t)$, $v(t)$ und $v(h)$ zu lösen. Wie in der Vorüberlegung bereits geschildert, nutzen wir die Zusammenhänge $a = -g$, $a = \\dot{v}$, $v = \\dot{x}$. \n", + "\n", + "Aufgrund der zeitlichen Ableitungen handelt es sich hierbei um Differentialgleichungen (DGL). Zusätzlich zu den bereits beim Energieansatz verwendeten Symbolen, benötigen wir Symbole für $t$, sowie die unbekannten Funktionen $v(t)$ und $h(t)$." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c00cb161", + "metadata": {}, + "outputs": [], + "source": [ + "t = sp.symbols('t')\n", + "v, h = sp.symbols('v,h', cls=sp.Function)" + ] + }, + { + "cell_type": "markdown", + "id": "83ed0cf6", + "metadata": {}, + "source": [ + "Wir beginnen nun mit $v(t)$. Dazu lösen wir die DGL $ -g=\\frac{\\mathrm{d}}{\\mathrm{d}t} v(t)$. (Wir hätten auch *SymPy* nutzen können, um mit ````subs()```` $a=-g$ in $a = \\dot{v} = \\frac{\\mathrm{d}}{\\mathrm{d}t}v(t)$ einzusetzen. Dies sparen wir uns aber an dieser Stelle)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d80dfb2c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\frac{d}{d t} v{\\left(t \\right)} = - g$" + ], + "text/plain": [ + "d \n", + "──(v(t)) = -g\n", + "dt " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dgl_v = sp.Eq(v(t).diff(t),-g) # Aufstellen DGL\n", + "dgl_v #Kontrolle" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "3dfb9bce", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIEAAAAVCAYAAABhV40FAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFC0lEQVRoBe2a3XEcNwyALxoVkMQdKB34p4LIHdhOBZI7iEdP0pvH6SBJBYndge0KnKgDu4N41IHyfdSSg93l3tJ30uo0I8xQ5IIACAIgiN3T6vLycrVtOz09PWiR0UrXIuueZnu/ZRvurbaEs7OzXxHxsFHMQUffSH5PtoQFvjMaNgUc+gzeJ/SvWmV0QXBB/0crz5J06PU96x3TntIuwtrv1Zl2AO4lffOeg4ydHG4cBJ2xPtI/qu2sm/+XuaeMv0QansX/TB+NHEluZYw+ZrUT2muaDi/6MTbgDYxD2huedzKI0W0W0N1AL77Zn+WYJnjD1O/T08lYnpqvFRr55H9ZmVsc1RnlLQurr8F5PlQC3DuaQSDNh+H8HXs2kItv9rZQ/gVGWXcaNNgXaMppymt1fPIbkbsAH1HiMe0ROo0CIChooHiV9TJbmL8rw55vNgoCjGBqnDOE0fZujVXkf7FmfpEp9mJGsrA9YjwK2IESZrW/B7i7+NjzTboO2Lwn0mLoAe0zz+WEM/4M7hV9dKiRNEqJ0CjcFK88081DcJ6eT/S/0UeQXzllrTi5xBid1NE6wIwV9ze1vIG77gqc4lsMzz5Ssc6C/3WLui/9ou5V36QgYPIEZh2tgD9p0TE/8vwLLRrJ1DkyBvw69kMn55BeJ0+BwaVys4Ac12qiDcLO4XsenmvDXJOM9lIjRp6ZYt11UWNbDId+ZjXtnop1eoPcAvAfxung0uvjnm/2QZoKP9EECYdp/gjcEycDeNJNjVOgnDljya+Ss4CO2VmztN9IoEGEGOBXmIa/6KUdvNJ8Zay+JTWIuRYS1ncvZrUfskBwZjh1fJ9x9CPfmAkkzA5zQ68Dg8NhUIgzO3gqpsBTO2dY5argbYL7WGmsFiU0KC3tm97Dk7NT8z6UAZ+FaDMPtM/hyz7isQpmcN9gkn5SMFZHIfpi5BszQWKiN5JULF4FCjhkbnifi68CtMrwhMfoq9HOBVKN57pxZiP1nYXOPgZLcgbP9l45OZvMypAAeu19rVkDmTrbffxFi6DDy9sMdFXf7AeOdBV0SgZ0Khbjs+N1xkunAzmlcHTxilwVUs4swHtTNYE6HiPfz9lz2cAvo/FEzeq9IMHjbq0UoGFdfVr8wLjqmxgEnt6eEDZtlNeKJg02dZ/37pxORjlB8GUwE8wZPtEi46ZqAgsp34rc52S2Y33phtckqN0C9Cz2ZOwh0+nRdlXf7IVtGADFsQhxPHVCpB0Wi1lUcW6niDJ6wdURmhJr+Cznxnv00mi+QfgZ2GDoATivwhQA9Be9yd16SN8u0LH4D/WsEYQ0dzVMtVwKFGjT1UB/3vvtAISnXiem+5znYX2QZIH3DnpL/1NChD/gVEQ5fh9Y8Twlw1dEq+qYrmRZHNBBg+hsdc/O/srYPa7Vj3mziEE0sgX4xYD186n3Te8BzT0ZxEUvxlXf9ILgWzRGoE5sqVpHYjtl/FWuKDgiuiMI9rATQTA0F3rl7wPxOhiSpedYE1QJ1iA9OS4wu0hFhj/Dyn8PW1oAZ5uVT2jls3eHE3/UIn6vhahGw0Kmee97U0wzdPTyVa+JZkG3TOg+aAayDkhjnv1YszS4vldBAnTwGrAe8AtwU821TSZwUYsq736rzlawXtgke7TKX4QOA1tg7cI/lmhP4Ridci1gAKytZa5Yrv5uXBNkISxmJnhGP/mKFWg9KX7VKq8yee6+vz0L/A/fIVNsYUOFPAAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle v{\\left(t \\right)} = C_{1} - g t$" + ], + "text/plain": [ + "v(t) = Câ‚ - gâ‹…t" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_v_t = sp.dsolve(dgl_v, v(t)) # Loesen DGL\n", + "result_v_t" + ] + }, + { + "cell_type": "markdown", + "id": "3874cbc8", + "metadata": {}, + "source": [ + "Die Integrationskonstante $C_1$ bestimmen wir über den Zusammenhang $v(t = 0) = v_0$. Es ist zwar leicht ersichtlich, dass hier $C_1 = v_0$ gilt ($v_0 = v(0) = C_1 -g \\cdot 0 = C_1 = v_0$), aber wir wollen an dieser Stelle *SymPy* dafür nutzen, da dies auch bei komplexeren Fällen immer so funktionieren würde:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6320c20f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABsAAAAVCAYAAAC33pUlAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABm0lEQVRIDe2W303DQAzGU8QAiG5QNkBig7IBfyYANqDiKXlD7QZlA0Q3CBsgsUG7QREj8PuOOFzuLqdKoTxhybHP9vnz+Zy0o7Is74uiuINFl1VVvX+rw5/k6uQeATYnbY3jdXj6dAZyO4yDtHs/1n+wX+nrn7bxMFUy03OE/RYew2vWTxaHvkafIVdm21X2neyBZAuSvMEaW5+OWVz7hl316GSAnLJZIKJzeOO0n8cN6pktibdittjGrGfmC2XqZBs2WIuu2PAcbBK4K4Y4tXorAFid0MehDuLbZQRG8Ke8yAuE7q69L9mhKT4rRqdqvzzYpcs/UWBIEZgX4FrIRgfu2TU0RZNQxYRtVryuIqIcmKrrfJQB0GmXTRYBpegDo4YoohyYgAToqDnJBBmexEJMCihZSDSNtoOkuvQl/ILNXTq6hsBI7UqRgJIF9YIpC8ntdy5Kik9TK8Co3dg67bfNuTZaTE4+4pxaAODSVyrEbL7MnswPTOkkXcBzMX691CewXvokDQJTRoB6vxghooFpEOTb138QTWj9BQUzfrOdhuadAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle \\left[ v_{0}\\right]$" + ], + "text/plain": [ + "[vâ‚€]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C1 = sp.symbols('C1') # C1 muss als Symbol benannt werden, damit wir darauf zugreifen können\n", + "C1_solved = sp.solve(sp.Eq(result_v_t.rhs.subs(t,0),v_0), C1) #Lösen der Gleichung v(t = 0) = v_0 nach C1. Dabei benötigen wir nur die rechte Seite von v(0)\n", + "C1_solved" + ] + }, + { + "cell_type": "markdown", + "id": "092f79f4", + "metadata": {}, + "source": [ + "So können wir einen neuen Ausdruck für $v(t)$ speichern und haben einen Teil der Ausgangsfrage beantwortet." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "207fa127", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE0AAAARCAYAAACYRSE8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC5ElEQVRYCd2Y7VEbMRCGDeMCCFQQpwMnqSC4g5BU4KSDMPzzvwzpAFIBHx1AKiBxB7gDGHfgPI8s3VzEOWN857sZdmYtaSXtrl7t7gl2FotFr22aTCZ72PwDj+jP2rZf195uXQUb7j9k3wB+3GQ/QB/CXzbZ28SerkAb4fyMg883PISRKndCXYFmpF13cuIGjPYb0FGoIHI+MngPP0ShwJhK57BAfYWNkAE8RHZFe0f7g7YVwpb2Te0D+J7xeTJM/57+Me1/L7Qx0DB0ikEBeqsTtAJjsf8NC9ot7S2twLrOFO2CTrAtMPrxEy5Ao78Pf4a3D1p04BvGXsGBkFmzvNWbKEqNYE3ToM0Wf4bYu4s2Q13N7I8ZmymBWG8gSGbOAeNjB/14sF/0n1NYj9hXPrg3do1sThuIvg5K+a2tXc/QccZ+1+dkRPSYN91zmiI/yoVx7EUmvz8h+56tK54/rDOFH2hD6aA1O27gkaB50JBSmYK1huwXHAG/yDZ42DnzZUdcZ9rm0ZdtXQ7ZWwVKD7mpNaB9Vi1kfbjUuF9fyqmpUYFJOo2yDwol5JYWQRvsLkW1ft/F3ekGkzLD3zpWphA1OpCE9HW+bQqpie0AYsm4H4ceci9Wv4oLVw65ftgEaEEbhgoD9DUoQHlE6WwBLutCxAQF7f4ISuGHpqMvlgNJ/6voEeF+E6Bdqh2jOpLIGieFuWU3/FqLAris1zFT7B/nS2u32dVm4W/0XV+Ki19hXP/3+ism1xZjyLplBJ3S+mUyxL2Rqhe/X58z1oU/gWhT/UDcHmHXJ4d++E4M2ZD5YhpWkRc9qw2amjEY3mDJCmPfZ0XdKsm9SQHunPCx8iOjY8ylC3+SxkxPa4GGcr+cJ/CYfridKFM+hrdF2loVDU3Z9DliXQ7lg3PZ91k126nzryEUGN4qe03fNDV8ffNd0O8k9bDdGHGG8uP2DYpN63ld0ATMME+1TNCuUPwkNZG/GPoLhgQQ6vCe3isAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle - g t + v_{0}$" + ], + "text/plain": [ + "-gâ‹…t + vâ‚€" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_t_expr = result_v_t.rhs.subs(C1,C1_solved[0])\n", + "v_t_expr" + ] + }, + { + "cell_type": "markdown", + "id": "e19cd474", + "metadata": {}, + "source": [ + "Als nächstes verwenden wir den Zusammenhang $v = \\dot{x}$, um $x(t)$ zu ermitteln. Wir setzen dazu das eben ermittelte $v$ ein und lösen die DGL analog zur vorherigen Berechnung und erhalten (ohne Ausgabe der Zwischenschritte) folgenden Ausdruck für $h(t)$:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c747c009", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJEAAAAuCAYAAAAoRPuDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGh0lEQVR4Ae2b63HUMBSFnZ0UwKMD6CCBCiAdBKggoQMY/uUfAx0AFfDoAKggQAfQQZbtIJxP0RW2bK+D1w+ZkWYUvb33Hh1dXcnO3uXlZZFSODs7uyF5XniZ7vj0RPWblOTMsvxFYP9vNpncKxHmqUmj/BvlvyvetbqcpoXAKi1xnDSnIs7DklyvlL+juoNSXc4mhECKJMIKfUsIoyxKBwJ7qflEsbyyQFiiY6V5O4vBSaQ8q08kYuBE4+8cKf8rxkR1bGHHiodxWy6ng8Dc2xm+DyewdQyJCEQ9VuhQ+XwyiwFKqDyrJRIOR4q/YpJ4Aj1XSnvhy6Q1a0V7DvMiMDeJsESfyhB4wnCsh0R2IsPZfl7ul/PpIDCaYy0C4MvcV7zw6kIWSIM1gRT4Q5S/KLJdnWvMa8XfytNWCarfq1TkQjIIjEIiTTi+zEOlziFWin+DA/1NeduiINlHlTM5BMSSw2po4UUKyPFM8YE9W3VYH6zLZ6tTCpl+lMo5u1AEBieRcHin+EnEYYtyQXnzbcr+j21l1i2nC0VgUBJ5smBx3kd4QJiNt0iFUvqwxZUtUzQkF5eCwKAkktL3vOLxNsXWhQNtAVJBplDniWXtOV0QAkOTyKkuQoT7HE8OSFO2OhV/SH3wo7BMOSwQgaFJ9AEMRIoyIfCRCK7tKlvcUuqI5knGW/rYevmuOUkdgcGP+CIDVod7oHPF24r4Pxz3wwtU5SEZF4ofFQuV35LmsEwEBidRDIMIYvdDEGvRQbqwICA+vt9a5bAwFq3YjsLv7zg+DBegHOP5rDV8yurrqD8JHReckT4bic8XB25hLE0Vyc0iQPbGryb66jOkTwSB3KkLYbzA+EO8A0vC35EcbKunyLdjYGGUDwo7Pq57+ECyMz+4EuvuX7x+j8EskX4SH4dwKoXNF4JA4Rh/1TzrX1YisXdgMv3gqfXaWXbJzam49tVEbzD8wMFI5MkyNbC76t9n/CgT0UeQHmNYAOW3Bj0eUR8yGInqj/5va5iIL1o03G1xVYFzzfb2VHXhfkzlJIK3nPbVBFvZgeo4HNhXE1g4tnh2j59qCydl5X+qjt1kK/EyiYTSdYPABHAIQ+Bfm+yui0nhy4VHNKQUJCO7g5EenxBLWg4vVAdRWBT4sIFEyrNInihmEgmEoQJWiMAJNLY6NV9LfSAW4ULxNpPlSvP8gTyVA47kYUGce3HcNh2JdqIy34S50KbPvhpQ/qtiDYSroY1/H2lcLNCk/0qr32/9DkltOPk24WUFWFmF2pvurH6ovsuSuIlQv4rueiSTUVmt6sMWcaH0tdJCKVbgsyLPaA1qH0t28KjIqDJOtunyWOWXkWBhoahfqz6jXzZGQs1aFBDuHZ1SN7H/KozG4SPwmUuwKMrjZ1DPPxTYhBTK84Xmg6iOhXZXdWFyVL5W0JjesmssBgJ5uB+qHX78s9mSbyq/MYGUf6Zoi6BVn5UNyOl2BAQmEwFh4vshrBqfuZQJRD/6x2RhgrBaUwdnlSVjIJDXx+RwW5nqAoF8A852ofqt+uzbU3LaiQDmHkDDRPgRmHnnjKqNPO0QqCmsVem21KbGEevcNmzPl5xYNQhuxIcklnfdfB+7+9uqz8qNyH+ugwATEROIcQBsH+F1bVUQqG1CeNZYgd91VlHk4PfjryYgEERyQX3I0ye2pL5HSJw+2RIFPDozgI/fEAf8oycCHMfZfKVN3MmXeUbXxLQM3akaud5IPixlobTiEyK3Iu3o57brqM9WfSYnkYSD5Qb2PeUx8ShRMaeqSypIvsZTVQS2k1l19moBXWO94vLoeiKPfqRRfvtx9Wk6sbrmLn1W9pApUgkDqDCe213iocqA+l155/yNLAcrqm1VDf3THJeDTl4/TnZ9LdGUsjdh0arPpEd8AYi5xOpUgFSZ42Oh9GaT9Eutkz7ly0Zej6D7VCQeHLY2faYmEWS5oRjfR0AuTgxdjqm65JAaApNuZ1Ke0435C01YQLAcFobApJaoDRuZSW58OVK2vspoG5vr50dgaktU01jEOVAlDred2Gp9ckXaCMxOIsGDP8SppXJ3kTZsWboyArNuZyIO1+psY1vvMMoC53x6CMxmiUQcbk9vZQKlR4p/lWgWEok4dpwP3++oDouEb5TDwhCYnEQiCo70faWxIw2x1gvDL4srBCb1ibyl4QVf09twXmDm/yhdIC2nfgELgdiy3NvkCK/JX0xGv5+LPRH4A0KrVw/EWv4oAAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle - \\frac{g t^{2}}{2} + h_{0} + t v_{0}$" + ], + "text/plain": [ + " 2 \n", + " gâ‹…t \n", + "- ──── + hâ‚€ + tâ‹…vâ‚€\n", + " 2 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dgl_h = sp.Eq(h(t).diff(t), v_t_expr)\n", + "result_h_t = sp.dsolve(dgl_h, h(t))\n", + "C1_solved_h = sp.solve(sp.Eq(result_h_t.rhs.subs(t,0),h_0), C1)\n", + "h_t_expr = result_h_t.rhs.subs(C1,C1_solved_h[0])\n", + "h_t_expr" + ] + }, + { + "cell_type": "markdown", + "id": "ee452dab", + "metadata": {}, + "source": [ + "Abgesehen von der Sortierung und der Anpassung an den Fall aus einer Höhe entspricht dies genau der evtl. aus der Schule bekannten Formel für die gleichförmig beschleunigte Bewegung $s(t) = \\frac{1}{2}at^2 + v_0t + s_0$. Diese haben wir mithilfe von *SymPy* hergeleitet.\n", + "\n", + "Nun können wir die gesuchte Formel für die Fallzeit $t_e$ herausfinden, indem wir $h(t) = 0$ aufstellen und nach $t$ auflösen:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "151b91cc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ \\frac{v_{0} - \\sqrt{2 g h_{0} + v_{0}^{2}}}{g}, \\ \\frac{v_{0} + \\sqrt{2 g h_{0} + v_{0}^{2}}}{g}\\right]$" + ], + "text/plain": [ + "⎡ ______________ ______________⎤\n", + "⎢ ╱ 2 ╱ 2 ⎥\n", + "⎢vâ‚€ - ╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ vâ‚€ + ╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ ⎥\n", + "⎢──────────────────────, ──────────────────────⎥\n", + "⎣ g g ⎦" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_t_e = sp.solve(sp.Eq(h_t_expr, 0), t)\n", + "result_t_e " + ] + }, + { + "cell_type": "markdown", + "id": "47e239f5", + "metadata": {}, + "source": [ + "Auch hier gibt es einen positiven und einen negativen Wert. Uns interessieren nur die positiven Werte. Der negative Wert zeigt, wann der Gegenstand auf Höhe $h = 0$ abgeworfen wurde, um zum Zeitpunkt $t = 0$ die Höhe $h_0$ und Geschwindigkeit $v_0$ zu erreichen. Mit den Beispielwerten von oben erhalten wir also eine Zeit $t_e$ von:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "4af74a66", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle 1.53341404130821$" + ], + "text/plain": [ + "1.53341404130821" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t_e_expr = result_t_e[1] # Abspeichern des positiven Ausdrucks als Ausdruck fuer t_e\n", + "t_e_expr.subs([(g, g_f), (v_0, 1), (h_0, 10)])" + ] + }, + { + "cell_type": "markdown", + "id": "188a33eb", + "metadata": {}, + "source": [ + "Auch hier wollen wir noch den Sonderfall $v_0 = 0$ betrachten:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "f469903b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\frac{\\sqrt{2} \\sqrt{g h_{0}}}{g}$" + ], + "text/plain": [ + " ______\n", + "√2⋅╲╱ gâ‹…hâ‚€ \n", + "───────────\n", + " g " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t_e_expr.subs(v_0, 0)" + ] + }, + { + "cell_type": "markdown", + "id": "e5be8756", + "metadata": {}, + "source": [ + "Indem wir die Zeit $t_e$ in $v(t)$ einsetzen, erhalten wir die gesuchte $v_e$ (die wir auch bereits im Energieansatz ermittelt haben)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "462238ae", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - \\sqrt{2 g h_{0} + v_{0}^{2}}$" + ], + "text/plain": [ + " ______________\n", + " ╱ 2 \n", + "-╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_t_expr.subs(t, t_e_expr)" + ] + }, + { + "cell_type": "markdown", + "id": "f8555d24", + "metadata": {}, + "source": [ + "Das Ergebnis aus diesem Rechenweg stimmt mit dem Ergebnis aus der Energiebetrachtung überein.\n", + "\n", + "Zur Erfüllung der Aufgabenstellung fehlt noch ein Ausdruck für $v(h)$. Wir wollen also jede Geschwindigkeit in Abhängigkeit der Höhe haben (Anstelle der Zeit). Wir haben $v(t)$ und $h(t)$. Wenn wir $h(t)$ nach $t$ auflösen und in v(t) einsetzen, erhalten wir den gesuchten Ausdruck. Da wir in Python bisher nur das Symbol h mit dem Typ \"unbekannte Funktion\" haben, benötigen wir dafür noch ein Symbol h als gewöhnliches Symbol." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "3775c2b2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ \\frac{v_{0} - \\sqrt{- 2 g h + 2 g h_{0} + v_{0}^{2}}}{g}, \\ \\frac{v_{0} + \\sqrt{- 2 g h + 2 g h_{0} + v_{0}^{2}}}{g}\\right]$" + ], + "text/plain": [ + "⎡ _______________________ _______________________⎤\n", + "⎢ ╱ 2 ╱ 2 ⎥\n", + "⎢vâ‚€ - ╲╱ -2â‹…gâ‹…h + 2â‹…gâ‹…hâ‚€ + vâ‚€ vâ‚€ + ╲╱ -2â‹…gâ‹…h + 2â‹…gâ‹…hâ‚€ + vâ‚€ ⎥\n", + "⎢───────────────────────────────, ───────────────────────────────⎥\n", + "⎣ g g ⎦" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h_nonfunc = sp.symbols('h') # Das Python Objekt heisst h_nonfunc, die Darstellung bleibt aber h\n", + "\n", + "result_t_h = sp.solve(sp.Eq(h_nonfunc,h_t_expr), t)\n", + "result_t_h" + ] + }, + { + "cell_type": "markdown", + "id": "222ec720", + "metadata": {}, + "source": [ + "Aufgrund des $t^2$ in der Formel gibt es wieder zwei Ergebnisse. Wir sind wieder an dem Ergebnis, das eine positive Zeit liefert, interessiert. Das ist das zweite Ergebnis in der Liste. Dies lässt sich auch über Beispielwerte $h=\\frac{h_0}{2}$, $v_0 = 0$ (Fall ohne Anfangsgeschwindigkeit auf halber Höhe) demonstrieren:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "cdb35551", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left( - \\frac{\\sqrt{g h_{0}}}{g}, \\ \\frac{\\sqrt{g h_{0}}}{g}\\right)$" + ], + "text/plain": [ + "⎛ ______ ______⎞\n", + "⎜-╲╱ gâ‹…hâ‚€ ╲╱ gâ‹…hâ‚€ ⎟\n", + "⎜──────────, ────────⎟\n", + "⎠g g ⎠" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_t_h[0].subs([(h_nonfunc, h_0/2), (v_0, 0)]), result_t_h[1].subs([(h_nonfunc, h_0/2), (v_0, 0)]) # Achtung, dass h_nonfunc verwendet werden muss" + ] + }, + { + "cell_type": "markdown", + "id": "5bc4e21b", + "metadata": {}, + "source": [ + "Die negative Zeit beschreibt wieder einen vor $t=0$ stattgefundenen Abwurf. Nun setzen wir den positiven Ausdruck in $v(t)$ ein und haben alle in der Aufgabenstellung gesuchten Zusammenhänge hergeleitet:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "3a299cf5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - \\sqrt{- 2 g h + 2 g h_{0} + v_{0}^{2}}$" + ], + "text/plain": [ + " _______________________\n", + " ╱ 2 \n", + "-╲╱ -2â‹…gâ‹…h + 2â‹…gâ‹…hâ‚€ + vâ‚€ " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t_h_expr = result_t_h[1]\n", + "v_h_expr = v_t_expr.subs(t, t_h_expr)\n", + "v_h_expr" + ] + }, + { + "cell_type": "markdown", + "id": "ec07d2ac", + "metadata": {}, + "source": [ + "Wir können nun die Methode ````plot()```` nutzen, um diesen Ausdruck für $v(h)$ mit den oben bereits verwendeten Beispielwerten $h_0 = 10\\,\\mathrm{m}$ und $v_0 = 1\\,\\mathrm{\\frac{m}{s}}$ ausgeben zu lassen. (Beim Lesen des Plots sollte beachtet werden, dass bei einem Freien Fall die Höhe abnimmt (d.h. von rechts nach links entspricht der zeitlichen Abfolge)." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "de3facaa", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "<sympy.plotting.plot.Plot at 0x1ab0aaea550>" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.plot(v_h_expr.subs([(g, g_f), (v_0, 1), (h_0, 10)]), ylabel=\"v(h)\")" + ] + }, + { + "cell_type": "markdown", + "id": "6de05503", + "metadata": {}, + "source": [ + "## <font color='blue'>**Problemstellung 2: Fall mit Luftwiderstand** \n", + " \n", + "#### <font color='blue'>**Einleitung**\n", + " \n", + "In der vorherigen Aufgabenstellung haben wir einen unbeeinflussten freien Fall im Gravitationsfeld der Erde modelliert. Spätestens ein kurzer Test aus höheren Höhen zeigt, dass wir dabei eine erhebliche Vereinfachung getroffen haben. Betrachten wir zum Beispiel den Wurf einer Feder vom Frankfurter Maintower mit 200 m Höhe (bitte in der Realität nichts von Hochhäusern werfen):" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "8425084c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-62.64 m/s nach 6.39 s\n" + ] + } + ], + "source": [ + "print(str(sp.N(v_e_expr.subs([(g, g_f), (h_0, 200), (v_0, 0)]), 4)) + \" m/s nach \" + str(sp.N(t_e_expr.subs([(g, g_f), (h_0, 200), (v_0, 0)]), 3)) + \" s\") " + ] + }, + { + "cell_type": "markdown", + "id": "e5832c7d", + "metadata": {}, + "source": [ + "Diese Geschwindigkeit von ca. 225 km/h passt nicht zu unseren Erfahrungen beim Fall einer Feder. Ein noch extremeres Beispiel ist ein Fallschirmsprung aus 5000 m mit Öffnen des Fallschirms bei 800 m (Höhendifferenz 4200 m). Mit unserer Modellierung Wird bei diesem Fallschirmsprung vor Öffnen des Fallschirms eine Geschwindigkeit von:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d2d7e638", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-287.1 m/s nach 29.3 s\n" + ] + } + ], + "source": [ + "print(str(sp.N(v_e_expr.subs([(g, g_f), (h_0, 4200), (v_0, 0)]), 4)) + \" m/s nach \" + str(sp.N(t_e_expr.subs([(g, g_f), (h_0, 4200), (v_0, 0)]), 3)) + \" s\") " + ] + }, + { + "cell_type": "markdown", + "id": "8c1fb411", + "metadata": {}, + "source": [ + "erreicht. Dies sind über 1000 km/h. Zudem würde mit unserer Modellierung das gleiche Ergebnis bei während des gesamten Fluges geöffnetem Fallschirm erreicht. Wir haben schließlich keine Möglichkeit, Parameter zu den Eigenschaften des fallenden Objekts anzugeben. Der Erfahrung nach haben aber die Eigenschaften wesentlichen Einfluss auf die Falleigenschaften. Der Grund dafür ist der Luftwiderstand, den wir bisher vernachlässigt haben. Unsere Modellierung funktioniert also gut in Fällen, in denen der Luftwiderstand keine große Rolle spielt, etwa im Vakuum oder bei schweren, stromlinienförmigen Körpern bei niedrigen Geschwindigkeiten. Sind diese Bedingungen nicht gegeben, bremst der Luftwiderstand das fallende Objekt wesentlich ab. " + ] + }, + { + "cell_type": "markdown", + "id": "6e91ee0a", + "metadata": {}, + "source": [ + "#### <font color='blue'>**Aufgabenstellung**\n", + "\n", + "Es soll nun versucht werden, die gesuchten Größen und Funktionen aus Aufgabenstellung 1 unter Berücksichtigung des Luftwiderstands zu finden. Die Abnahme der Luftdichte mit der Höhe darf hier vernachlässigt werden.\n", + " \n", + "#### <font color='blue'>**Vorüberlegungen**\n", + "\n", + "In Problemstellung 1 war die einzige Kraft, die den Körper beschleunigt die Gewichtskraft $F_g = mg$. Diese wurde in die Formel $F = ma$ eingesetzt, womit unter Berücksichtigung der Beschleunigungsrichtung die gegebene Formel $a = -g$ hergeleitet werden kann. Die Widerstandskraft $F_W$ ist eine weitere Kraft, die zu der Gesamtkraft beiträgt. Wir können nun also als Grundlage eine neue Gleichung für $a = \\frac{F_W-F_G}{m}$ aufstellen, die dann wieder in den DGL $a = \\dot{v}$ und $v = \\dot{h}$ integriert wird.\n", + "\n", + "Für den Luftwiderstand gilt folgende Formel:\n", + " \n", + "$F_W = \\frac{1}{2} \\rho v^2 \\cdot A \\cdot C_W$\n", + "\n", + "Dabei ist $\\rho$ die Luftdichte (wir nehmen in dieser Aufgabe die Standarddichte auf Meeresspiegel von $1.225\\,\\mathrm{\\frac{kg}{m^3}}$ an. $A$ ist die Querschnittsfläche und $C_W$ der Widerstandsbeiwert, mit dem beschrieben wird, wie die Form des Körpers die Strömung beeinflusst. In der Realität werden $C_W$-Werte im Windkanal oder per CFD (Computational Fluid Dynamics) ermittelt. Wir werden uns hier auf Standardfälle beschränken und verwenden z.B. die Kugel mit $C_W = 0.18$ und die offene Halbschale (z.B. geöffneter Fallschirm) mit $C_W = 1.33$.\n", + " \n", + "Für unser mathematisches Problem ist besonders hervorzuheben, dass die Geschwindigkeit in die Formel eingeht. Dadurch ergibt sich ein anderer Typ DGL für die Bewegungsgleichung. Zuvor hatten wir $y'(t) = f(t)$, nun haben wir $y'(t) = f(y(t)²,t)$. Dies ist eine nichtlineare DGL, die analytisch sehr kompliziert werden und ggf. nicht explizit nach der gesuchten Funktion y(t) aufgelöst werden kann. \n", + " \n", + "Bevor wir mit dem Versuch der Lösung der DGL beginnen, wollen wir daher noch eine Vorüberlegung anstellen. Die Gewichtskraft verändert sich nicht. Die Luftwiderstandskraft wird mit zunehmender Geschwindigkeit größer und wirkt der Gewichtskraft entgegen. Die Summe der Kräfte wird also während der Beschleunigung kleiner, wodurch immer langsamer beschleunigt wird. Schließlich werden die Kräfte gleich groß sein und die Geschwindigkeit konstant bleiben. Sind wir also nur an der maximal erreichbaren Geschwindigkeit eines fallenden Körpers mit Bestimmten Eigenschaften interessiert, so können wir die Geschwindigkeit auch über das Kräftegleichgewicht ermitteln.\n", + "\n", + "Bestimmen wir also gleich bei der Umsetzung zunächst eine Formel für die maximal erreichbare Geschwindigkeit und und testen diese anhand von 2 Beispielen:\n", + "1) 1 kg Kugel mit Querschnittsfläche 0.008 m²\n", + "2) 80 kg Fallschirmspringer*in mit geöffnetem Fallschirm mit Querschnittsfläche 20 m²\n", + "\n", + "Eine Energiebetrachtung wie in Problemstellung 1 bietet sich für diese Aufgabe nicht an, da in die Energiebilanz die durch den Widerstand dem System entzogene Energie mit aufgenommen werden müsste. Diese ist aber abhängig von der Fallstrecke und dem Verlauf der Widerstandskraft, der wiederum abhängig vom Verlauf der Geschwindigkeit ist. " + ] + }, + { + "cell_type": "markdown", + "id": "c1d276d0", + "metadata": {}, + "source": [ + "#### <font color='blue'>**Umsetzung**\n", + " \n", + "Versuche bitte in dieser Aufgabe selber, die Funktionen von *SymPy* zu nutzen. Der Ablauf und die Variablennamen sind vorgegeben.\n", + " \n", + "Wir beginnen wie in der Vorüberlegung angesprochen mit einer Formel für $v_{max}$.\n", + " \n", + "Zuerst benötigen wir die neuen Formelsymbole $A$, $C_W$, $\\rho$, $v_{max}$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28ca8022", + "metadata": {}, + "outputs": [], + "source": [ + "A, C_W, rho, v_max = # Hinweis fuer die Anzeigenamen: Index mit _, mehrere Zeichen im Index Gruppert mit _{}" + ] + }, + { + "cell_type": "markdown", + "id": "6118dbdf", + "metadata": {}, + "source": [ + "Als nächstes stellen wir die Ausdrücke für $F_G$ und $F_{W,max}$ auf, kombinieren diese in einer Gleichung und lösen nach $v_{max}$ auf. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "95d60be6", + "metadata": {}, + "outputs": [], + "source": [ + "F_G_expr = \n", + "F_W_max_expr = \n", + "\n", + "res_v_max = #Aufstellen der Gleichung und Lösen nach vmax\n", + "res_v_max #Ergebnis" + ] + }, + { + "cell_type": "markdown", + "id": "66fda87a", + "metadata": {}, + "source": [ + "Aufgrund der Wurzel haben wir wieder eine positive und eine negative Lösung. Die Kräfte können ja sowohl bei einer Aufwärts, als auch bei einer Abwärtsbewegung gleich sein. Wir sind an der abwärtsbewegung interessiert und speichern die Lösung in einem Ausdruck für $v_{max}$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff33be71", + "metadata": {}, + "outputs": [], + "source": [ + "v_max_expr = #Auswahl der relevanten Lösung aus res_v_max" + ] + }, + { + "cell_type": "markdown", + "id": "2245b3fb", + "metadata": {}, + "source": [ + "Nun können wir den Ausdruck für die gegebenen Fälle auswerten (z.B. als float mit 4 signifikanten Stellen). \n", + "Fall 1:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16832be9", + "metadata": {}, + "outputs": [], + "source": [ + "rho_f = 1.225 #rho wird zur spaeteren Verwendung als konstanter Wert rho_f gespeichert, analog zu g_f oben\n", + "sp.N( ) # Klammer auszufuellen -> Ausgabe als float mit 4 Stellen" + ] + }, + { + "cell_type": "markdown", + "id": "50fccccd", + "metadata": {}, + "source": [ + "Fall 2:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c9e6977", + "metadata": {}, + "outputs": [], + "source": [ + "sp.N( ) # analog" + ] + }, + { + "cell_type": "markdown", + "id": "f8b373f0", + "metadata": {}, + "source": [ + "Diese Werte passen gut zur intuitiven Vorstellung, dass eine schwere Kugel deutlich schneller durch die Luft fällt, als ein\\*e Springer\\*in unter dem geöffneten Fallschirm. \n", + "\n", + "Nun ist in der Aufgabenstellung weniger nach der maximal erreichbaren Geschwindigkeit gefragt, sondern nach dem zeitlichen Verlauf abhängig von der Starthöhe. Bei niedrigen Höhen wird die Fallzeit zu kurz sein, um die maximale Geschwindigkeit zu erreichen. Gehen wir nun also bei der Herleitung analog zu Problemstellung 2 vor.\n", + "\n", + "Für die erste DGL ($a = \\dot{v} = \\frac{\\mathrm{d}}{\\mathrm{d}t}v(t) = \\frac{F_W-F_G}{m}$) benötigen wir einen Ausdruck für $F_W$, diesmal nicht für $v_{max}$, sondern für $v(t)$. Die Formelsymbole sind bereits alle von oben definiert.\n", + "\n", + "**Konvention für die Aufgabe**: Um Verwechslungen mit Aufgabenstellung 1 zu vermeiden, verwenden wir für die Variablennamen, die bereits in Aufgabenstellung 1 vorgekommen sind den Suffix ````_W```` (für Widerstand) \n", + "\n", + "Aufstellung der DGL:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4f8291b2", + "metadata": {}, + "outputs": [], + "source": [ + "F_W_expr = \n", + "\n", + "DGL_v_W = #Aufstellen DGL\n", + "DGL_v_W # Kontrolle" + ] + }, + { + "cell_type": "markdown", + "id": "a535839b", + "metadata": {}, + "source": [ + "Lösung der DGL (kann einige Sekunden bis Minuten dauern):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9f7bcc8a", + "metadata": {}, + "outputs": [], + "source": [ + "res_v_t_W = #Loesen DGL\n", + "res_v_t_W # Ergebnis" + ] + }, + { + "cell_type": "markdown", + "id": "664cfd60", + "metadata": {}, + "source": [ + "Hier bestätigt sich die Vermutung aus der Vorüberlegung. Die Lösung der nichtlinearen DGL lässt sich nicht explizit nach $v(t)$ auflösen. Die Gleichung ist auch bereits so sehr komplex. Wir beschließen daher, dass die geschlossene analytische Betrachtung ab hier nicht mehr sinnvoll ist. Möglicherweise gibt es noch mathematische Tricks, um eine geschlossene analytische Lösung zu erhalten, aber dies ist keine Mathematikvorlesung. Wir geben uns daher in dieser Aufgabenstellung für diese Ãœbung mit der analytischen exakten Formulierung für die Geschwindigkeit im Kräftegleichgewicht zufrieden. Diese ist noch gut überschaubar und liefert uns den Endzustand, falls die Fallhöhe hoch genug sind. Die Verläufe für die Geschwindigkeit und Höhe mit der Zeit wollen wir nun nicht mehr analytisch lösen. Wir sind dennoch an den Verläufen interssiert. Das bringt uns zum Ausblick.\n", + "\n", + "## <font color='blue'> **Ausblick**\n", + "\n", + "Wir haben gesehen, dass eine analytische Betrachtung von Differentialgleichungen abhängig vom Typ der DGL (hier nichtlinear) sehr komplex und nicht explizit lösbar werden kann. Dies gilt insbesondere, wenn wir noch weitere Dinge berücksichtigen möchten, wie z.B. die Abhängigkeit der Lutdichte von der Höhe, das Öffnen eines Fallschirms (also eine zeitliche Variation von $A$ und $C_W$) usw. \n", + "Wenn wir die analytische Exaktheit aufgeben, lassen sich die gesuchten Werte für gegebene Fälle aber gut numerisch berechnen. Dies ist der Grund, warum im Ingenieurswesen viel auf numerische Simulationen zurückgegriffen wird, wenn die Modelle komplex werden. Um zu einer Lösung für unser Fallmodell zu kommen, werden wir in der kommenden Ãœbung ein einfaches numerisches Verfahren kennenlernen, implementieren und somit ein sinnvolles (wenn auch nicht mehr analytisch exaktes) Ergebnis zu erzielen.\n", + " \n", + "## <font color='blue'> **Schlussbemerkung**\n", + " \n", + "Auch wenn wir in der letzten Aufgabe für uns an eine Grenze der (automatisierten) analytischen Betrachtung gestoßen sind, zeigen dieses Ãœbungsnotebook und das SymPy-Grundlagen-Notebook, wie hilfreich das digitale Werkzeug CAS (Computer-Algebra-System) in Form von *Python* mit *SymPy* bei der Herleitung von analytischen Ausdrücken und der Lösung von Gleichungen und Differentialgleichungen sein kann.\n", + " \n", + "## <font color='blue'> **Aufgaben zum selbst probieren**\n", + " \n", + " \n", + "* Leite analog zu den obigen Rechnungen weitere eindimensionale Bewegungsgleichungen $v(t)$ und $s(t)$ für beliebige Kraftverläufe über $a = \\frac{F(v,t)}{m}$ her. Diese können von der Zeit oder Geschwindigkeit abhängig sein, das ist nicht grundsätzlich problematisch. Das Problem in der letzten Herleitung oben war die **nichtlineare** (quadratische) Abhängigkeit von der Geschwindigkeit. Hier ein paar Anregungen (beide sind explizit analytisch lösbar):\n", + " * Beschleunigung eines Fahrzeugs, wobei die beschleunigende Kraft zeitabhängig ist. (z.B. $F(t) = F_{max} \\cdot e^{-t}$, also zu Beginn viel Gas ($F_{max}$), nach weiterer Zeit weniger Gas)\n", + " * Beschleunigung eines Fahrzeugs, wobei die beschleunigende Kraft linear Geschwindigkeitsabhängig ist (z.B. $F(v,t) = F_{max}-v(t) \\cdot \\frac{F_{max}}{v_{max}}$, also $F_{max}$ zu Beginn, dies lässt mit steigender Geschwindigkeit linear nach, bis bei der gewählten Maximalgeschwindigkeit $v_{max}$ keine Kraft mehr ausgeübt wird)\n", + "* Nutze *SymPy* zum Ãœberprüfen und Nachvollziehen einiger **bereits händisch gelöster Aufgaben** oder Herleitungen aus anderen Fächern, z.B. Physik. Du solltest aber immer in der Lage bleiben, die Aufgaben selbst händisch zu lösen, Gleichungen aufzustellen, umzuformen, einzusetzen und aufzulösen. Nutze die Hilfe durch CAS also verantwortungsvoll.\n", + "\n", + "Füge deiner Kopie des Notebooks beliebig viele Codefelder hinzu, um dir beliebig viele Zwischenschritte anzeigen zu lassen." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Uebung08/Uebung_08_LSG.ipynb b/Uebung08/Uebung_08_LSG.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..d73335d379dfd8e3f7dc513a08a9d39c45c448de --- /dev/null +++ b/Uebung08/Uebung_08_LSG.ipynb @@ -0,0 +1,1229 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a59d3860", + "metadata": {}, + "source": [ + "# <font color='blue'>**Ãœbung 8 - Modellierung eines Falls in der Erdgravitation - Sympy**\n", + "\n", + " \n", + "In dieser Ãœbung möchten wir uns mit der Modellierung von freiem und gebremsten Fall in der Erdatmosphäre (z.B. Fallschirmsprung) beschäftigen. Im Gegensatz zu vorherigen Ãœbungen liegt in dieser Ãœbung der Schwerpunkt weniger auf komplexer Programmierung, sondern auf der Verwendung von *SymPy* als Werkzeug, um analytisch mathematische Formeln herzuleiten. So kann *SymPy* als Werkzeug bei der Modellierung von Problemen helfen, sowie auch bei der Vorarbeit zu Programmierprojekten zum Einsatz können. Klassischerweise werden bei der Programmierung \"starre\" Berechnungsvorschriften als Zuweisung oder Funktion implementiert, in die Werte eingesetzt und berechnet werden. Der Vorteil an analytischer Modellierung wie mit *SymPy* ist, dass die Bestandteile der Rechnung symbolisch behandelt werden und daher unbekannt bleiben können, bzw. direkt parametrische ZUsammenhänge hergeleitet werden können. *SymPy* kann in beliebigen Python Programmen verwendet werden, für uns an dieser Stelle am nützlichsten ist aber die interaktive Verwendung im Notebook (alternativ in der Konsole) für die Herleitung von (uns bisher unbekannten) Formeln und Zusammenhängen.\n", + "\n", + "### <font color='blue'>**Vorkenntnisse - Notebooks**\n", + "* Ãœbung 1\n", + "* Ãœbung 2\n", + "* Ãœbung 3\n", + "* Grundlagen Python\n", + "* Grundlagen SymPy\n", + "* Grundlagen OOP\n", + "\n", + "### <font color='blue'>**Lernziele**\n", + "* Interaktiver Einsatz von *SymPy* zur analytischen/mathematischen Lösung von Problemstellungen\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "a702c3ef", + "metadata": {}, + "source": [ + "## <font color='blue'>**Problemstellung 1: freier ungebremster Fall (gleichförmig beschleunigte Bewegung)**\n", + "\n", + "#### <font color='blue'>**Aufgabenstellung**\n", + "Es sollen Formeln ermittelt werden, mit denen bei einem freiem Fall in der Erdbeschleunigung $ a = -g$ (Luftwiderstand wird vernachlässigt), die Endgeschwindigkeit $v_e$ und die Zeit bis zum Boden $t_e$ abhängig von der Anfangshöhe $h_0$ und der Anfangsgeschwindigkeit $v_0$ berechnet werden kann. Darüberhinaus sollen die Funktionen $h(t), v(t)$ und $v(h)$ ermittelt werden.\n", + " \n", + "#### <font color='blue'>**Vorüberlegungen**\n", + "\n", + "Für die Frage nach der Endgeschwindigkeit ist ein Ansatz über die Energieerhaltung sinnvoll. Beim ungebremsten freien Fall wird potentielle Energie in kinetische Energie umgewandelt. Energieverluste gibt es aufgrund der ignorierten Luftreibung nicht. Daher können wir eine Gleichung für die Energie vor und nach dem Fall aufstellen und nach der Geschwindigkeit nach dem Fall auflösen.\n", + "Bei den anderen Fragestellungen hilft uns der Energieansatz nicht weiter, da die zeitliche Komponente eine wesentliche Rolle spielt. Es ist daher sinnvoller, die Bewegung in der Zeit zu modellieren. Grundlage dafür ist die bekannte Beschleunigung $a = -g$ und der Zusammenhang $a = \\dot{v}$ und $v = \\dot{x}$. Damit können wir eine Differentialgleichung aufstellen, deren Lösung die gesuchten $v(t)$ und $h(t)$ ergibt. Mit $h(t) = 0$ können wir $t_e$ erhalten. $h(t)$ nach der Zeit $t$ aufgelöst und in $v(t)$ eingesetzt ergibt $v(h)$. $v(h = 0)$, bzw. $v(t = t_e)$ ergeben auch auf diese Variante $v_e$.\n", + "Auch wenn für die Gesamtlösung der dynamische (zeitlich aufgelöster) Ansatz besser geeignet ist, soll hier zunächst zum leichteren Einstieg in die Verwendung von *SymPy* der Energieansatz für $v_e$ verwendet werden. " + ] + }, + { + "cell_type": "markdown", + "id": "9dfb04e9", + "metadata": {}, + "source": [ + "#### <font color='blue'>**Energieansatz**\n", + "\n", + "Wir importieren zunächst *SymPy*" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7cae882e", + "metadata": {}, + "outputs": [], + "source": [ + "import sympy as sp\n", + "sp.init_printing() #Anschaulicheres Plotten der SymPy Funktionen\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\", category=UserWarning) #Unterdrücken einiger verwirrender Warnungen" + ] + }, + { + "cell_type": "markdown", + "id": "93a57633", + "metadata": {}, + "source": [ + "Die potentielle Energie im Erdgravitationsfeld beträgt $E_{pot} = mgh$. Die kinetische Energie beträgt $E_{kin} = \\frac{1}{2}mv^2$. Im Anfangszustand (Index 0) haben wir sowohl potentielle, als auch kinetische Energie. Im Endzustand (Index e) haben wir nur noch kinetische Energie. Die Erdbeschleunigung $g$ und die Masse $m$ sind nicht vom Zustand abhängig. Wir erstellen also folgende Formelsymbole:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d51479ac", + "metadata": {}, + "outputs": [], + "source": [ + "m, g, h_0, v_0, v_e = sp.symbols('m, g, h_0, v_0, v_e')" + ] + }, + { + "cell_type": "markdown", + "id": "3a601805", + "metadata": {}, + "source": [ + "Mit diesen stellen wir die Ausdrücke für die Energien auf:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ca2c7c44", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAZCAYAAACCXybJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAEhUlEQVR4nM3Yf8iW5RUH8M+bpkIu6AdZq9aKWKRtwxwVK6QfM4JV822N5R9b+zNliau5MOZOJygKWj+IjaAsWxAU2IhwtWoydc1NekNNNydRFmPTkYqrmJplf1zX/fJw+zwPMd/y+cLDxX2dc5/rfM8517mu+xk6cOCAQUBmLsI1OAt78RcsioiNY73WEWNt8BBwMX6Nb+JS7MfLmXnsWC80NCiZbiMzJ2M3ZkfEc2Npe/xYGhtjfEGpxF3dhJk5Bf9SquM2DOPb+CpOxj68jsfwWER83Lw7SOXdxgNYhzU95N9R/H8G38PDOB9/xf1YhnPwCJ7OzKHmxYHMdGbei4twUUR81ENtGDuwCkO4Gss7M5qZt2Itvqs0yWW0SGfmJViBX+JJ/AIzMa7Oz42IbZk5FT/HtzARqzEvIt6pdhbhTsyPiAe7kDoDf8d6nB8RBzpk9+E6XBIRb/YIytFKs3uyBmVFN73q60O4Q2mUyzi4vM+t41fwJ3yEJXgHs/FoZl5VozcZj2OLspd+02FnfR3P6eYM7sYE/KRF+AHMwaURsbnHu3Blff+3fXQafFjH/c1Eu7wb0ufhgojYUJ25XSF+OaZjVkSsqbIJeAMzM3NSROzBhmpnWtuDzLwQ1+LpiHilY/5X+IES3F2ZeWIVvR8R77fMDOMDvNiPbWaOxw/r4wvNfK9M/6ghDBHxHrYqZb6wIVxl+/APZV8dVef+iZ1t0rWZ3KtcPm5prT1P6dh/wL87fj9t2ZiEK/B8DXA/3KVU2+8i4vfN5GimM/MopazfjIgXDn7faZXIUz1k70XEjo65Dbg4M0+pQaCU7nm4OyK2dhqIiCGfDrOUrdW3tDNzPm7GZqWCRtGZ6a/X55e7GPgyjsEfI+LDlmwyzlSOl040+3pa1ZukNLf/1PH/xTXKGby8l0Jm/lg58v6mNMSdnfJO0k1pj3SxM6OPbLpS2q+15pvt0TSzBUpFLI6I//ZyuB8ycxyuwoqI2N1DZwEexEaF8La2Tmcja0i/2sXWjD6y6XVskx7t4Jl5AhZVR5b0cHYeFuIkbMKCiFjdUpuJ4/Qo7cy8RdnH65Rm+243vXam91XH2uiX6SZYbdKblCNvGhJH46Zul43M/L5SjncqQfwzns/ML7VUh/Exnu1iY7FCeASX9SJMzXRmTsRUbKjduI0ZeLvVqBqci/8pl41RRMSezNyCr1Wd5RHxUg8/bsLSiHi4Pt+YmVdgrlIhTeefjTURsb1F+HrcrgR5NeZnZnuNrRGxdJS0su+O1CWTmXmaUlIru8gm4myM9Lgurq/y/VpHT4eNCUpQ72mJXlQ+Mxt8A6cq9+o2Tq/jOKV3dMNKLKWSjogRpRkdhIh4u49srxKsroiIOcox1Q/HV2e3t+a3K9fcBsN1PGg/R8RtypfWp8Igf2W1MYz1EfHWoRoahK+sd5W9OKU1PwWjx01EnD1WCx72TNfGOaLctDoxS+niY45ByDTlPv5EZq7FK7gBX8RDn8ViA/MfWb2c/Ey5nGxUPjtXfRZrDQzpzxOHfU8fDnwCUZmNjuanoiQAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\frac{m v_{0}^{2}}{2}$" + ], + "text/plain": [ + " 2\n", + "mâ‹…vâ‚€ \n", + "─────\n", + " 2 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Epot_0 = m*g*h_0\n", + "Ekin_0 = sp.Rational(1,2) * m * v_0**2 # Wir nutzen sp.Rational(1,2) anstatt 1/2, da kein Symbol in dem Bruch ist und Python dies dann als Float 0.5 auswerten wuerde\n", + "Ekin_e = sp.Rational(1,2) * m * v_e**2\n", + "\n", + "Ekin_0 # Darstellung des Ausdrucks für die kinetische Energie zu Beginn" + ] + }, + { + "cell_type": "markdown", + "id": "0b827384", + "metadata": {}, + "source": [ + "Diese kombinieren wir nun zu der Gleichung $E_{pot,0} + E_{kin,0} = E_{kin,e}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "67e3ede7", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle g h_{0} m + \\frac{m v_{0}^{2}}{2} = \\frac{m v_{e}^{2}}{2}$" + ], + "text/plain": [ + " 2 2\n", + " mâ‹…vâ‚€ mâ‹…vâ‚‘ \n", + "gâ‹…h₀⋅m + ───── = ─────\n", + " 2 2 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eq_E = sp.Eq(Epot_0 + Ekin_0, Ekin_e)\n", + "eq_E" + ] + }, + { + "cell_type": "markdown", + "id": "0aff97d3", + "metadata": {}, + "source": [ + "Diese Gleichung lassen wir nach $v_e$ auflösen:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "317bdf09", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ - \\sqrt{2 g h_{0} + v_{0}^{2}}, \\ \\sqrt{2 g h_{0} + v_{0}^{2}}\\right]$" + ], + "text/plain": [ + "⎡ ______________ ______________⎤\n", + "⎢ ╱ 2 ╱ 2 ⎥\n", + "⎣-╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ , ╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ ⎦" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_v_e = sp.solve(eq_E, v_e)\n", + "result_v_e" + ] + }, + { + "cell_type": "markdown", + "id": "7c2d8002", + "metadata": {}, + "source": [ + "Wir erhalten zwei Lösungen. Dies hat den Hintergrund, dass wir nicht nur die Geschwindigkeit nach dem Fall erhalten, sondern auch die Geschwindigkeit, die das Objekt bei einem Wurf hätte, der die gegebene Anfangsbedingung erreicht. Da keine Energieverluste auftreten, ist dies die gleiche Geschwindigkeit mit verändertem Vorzeichen. Bei einem Fall wird die Höhe kleiner, daher ist unsere gesuchte Geschwindigkeit negativ. Wir sehen, dass die Masse keinen Einfluss hat.\n", + "\n", + "Dies erfüllt bereits die Frage nach der Formel für $v_e$. Wir wollen nun noch ein paar Beispiele mit der Formel betrachten.\n", + "\n", + "Wir werten den ersten Ausdruck für die Beispielwerte $h_0 = 10\\,\\mathrm{m}$ und $v_0 = 1\\,\\mathrm{\\frac{m}{s}}$ aus. Dies entspricht einem Abwurf mit 1 m/s nach oben aus 10 m Höhe:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1bc24e1d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - 4.4407206622349 \\sqrt{10}$" + ], + "text/plain": [ + "-4.4407206622349⋅√10" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g_f = 9.81 # wir erstellen eine Python Variable mit dem Wert für g, da dieser konstant bleibt. Die Endung _f soll float bedeuten und g vom Symbol g unterscheiden\n", + "\n", + "v_e_expr = result_v_e[0] # Abspeichern der negativen Geschwindigkeit als Ausdruck fuer v_e\n", + "v_e_expr.subs([(g, g_f), (h_0, 10), (v_0, 1)])" + ] + }, + { + "cell_type": "markdown", + "id": "a02e51af", + "metadata": {}, + "source": [ + "Die gemischte Darstellung wollen wir noch vollständig in Gleitkommadarstellung überführen und wir sind auch nur an 5 signifikanten Stellen interessiert." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9c249066", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAAAQCAYAAACSnrg1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAADPklEQVR4nO3YT4jVVRQH8M+IbVIzUFKiiLQmgiANwf4IUYKEFLhoaVSQEBZWMJv+Hk8h2aJi1IKwqBQ3LaplWCKEaQQZuCjSpjT6J2klNWn0xxb3/mia5tG8N79hNn7hcd79d773nXfuOffcvtOnTzuDycP0NpVl5q24HotwJWZhR0Ss7kLHamyvzTUR8WKXe7gAj+MmzMG3eBMZET+2wZ+ZT2EJ+jEXJ3Gk8myJiOPN3GndbH4ceAT3Kgb+utvFmXkhtuCXXsgzcyE+xJ34AM/ic9yHfZk5pyX+BzADb2MQO/AH1uNA1YOWPbgSf4XPFE/ePd6FmdmHl3Ecr2OgB/7ncR7WRcTmEbqfqXvbgLtb4D8nIk6NoWMDHsKDWEvLHhwRuyPiUET0EtjX4UbF+4a7XVy9dwUO47nRW6s6b8vMGRPlH8u4Fa9VeWnT0XaI6AmZeTk2YjAi3u1RzQ1V7oyIv0YORMTPeA9n4+pJ4odbqjzQdLQdIrpGZk5XksqXyvHqFZdVebDD+CHFw/uxqw3+zBzATMxWkt4yxbgbmzlTbmA8hsVYFhEnJ6BndpUnOow3/ee2yD+AeSPab+GOiPi+6fiXgTPzMC7qgqCrK9hoZOZSxWuejoh9veqZKv6ImF/1zMO1iud+lJk3R8R+/uvBQ+gUwMfCN91uqkE9mtuUI/1or3pGoPHQ2R3Gm/6f2uaPiKN4IzP3V33bcAWjDBwRyydC1CVmKvEQTmXmWHO2ZuZWJfnc/z/6Pq2yv8N4k9mbGN02v4g4kpkfY1Fmzo2IY1MZg3/DSx3GrlLi4h7FcOM5vs2de0VmTht5k8jMWbgOv+L9SeJvcH6VfzKFSa4mlLvGGsvM9coPfLVDqboQZ2EoIn6v+oYyc6dyU7gHm0cuUSqvFyJieCL8mdmPoxFxYlT/NDyhFDp7m7K87beIVVhVm/OrvCYzX6nfj0VELxXaaOxSkvHFSmHRYC32YlNmLscnWKrckQ/i4Ra4V+LJzNyDL5TKb55SuS7Ad1jTTG7bgxfh9lF9C+qH8iDShoHHRPXiJf557FmpPPYMGudjzzjwDi5R7ryLlWvfsPIHbsemiPihmdx35rlycvE32K4/JiSUgc0AAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle -14.043$" + ], + "text/plain": [ + "-14.043" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.N(v_e_expr.subs([(g, g_f), (h_0, 10), (v_0, 1)]), 5)" + ] + }, + { + "cell_type": "markdown", + "id": "d4044710", + "metadata": {}, + "source": [ + "Diese Geschwindigkeit in m/s wird also bei dem Fall erreicht. Für einzelne Auswertungen ist die Methode ````subs()```` gut geeignet. Sie ist jedoch durch die symbolische Berechnung in der Rechenzeit wesentlich langsamer, als numerische Alternativen. In einem Programm, das diese Berechnung öfters durchführen muss, ist es sinnvoll, die interaktiv mit der Hilfe von *SymPy* hergeleitete Formel dann fest kodiert numerisch umzusetzen. Dies könnte folgendermaßen aussehen und ist in der Berechnung wesentlich schneller:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8db2beeb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAANcAAAAQCAYAAACFkOq5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAH00lEQVR4nO2be/BVVRXHPyC+QiTDV09FijI1f6Sh5AMJIZNgpKSa5oePGWAcYwATx6Jo8a1xxEoNn+FjwKip6UEaqYQRo5E4ziRMNqgQ8QjLB9QPASES6I+1N7/b8Zx7Hvf8xv74fWfu7Hv33utx1j57r73W3rfH/v376UY3ulE/etXJTNKlwFCgDTgd6AP8yMzaS/BoBxaEnxPN7L6SOrwH+CZwEdAP+AfwICAz+1er8iX1A8YCo4DTgHcDe4BngXnAPDPb19D/ilDfDPvM7KCEnB7AhPA5BegBPAfcB9zTKKOBprD9q+qVwid3vCRtAE7IYPGymR2f6F/KxoHmJuBMYCBwNLAL2IiP/R1mtjVFr9I0DbTDgcnAEOAoYGvQb46ZPQI1Ty7g6/ig7gA2Ax8qQyzpvcAdgf6IssIlDQCeBI4FHgKeBwYDU4GLJJ2TY7Ai8scBd+OTdhmwCTgO+Az+4n9K0jgzi1uCVYAyeJ0HfAJ4NKXth8AXgVeAHwOvAyOC7I8Dl6XQlLF/Vb0OoOR4bQO+l1K/I6WurI0BrgGeAR7DbdYbOBuYBUySdLaZ/S0hpwoNkr4NXIfb+FfAFuAY4AzgAqBLJtc1QeBf8BV0WVHCsFLPw1eAhcD0CvLvwifWFDO7vYH3LUG3G4CrWpS/BhgDPJzwUDOAp4HP4i/BLwDMbBX+IqfJXBG+3pOoH4tPrPXAYDPbEuoPCXzHS3rQzBYmWBa2fxW9En3KjleHmc3K6RNRysYBR5rZ7hQ9bwBmAF8Frk40l6aRNBGfWA8Ak8xsT6L94Pi9Z+5jloCZLTOztYkVpSim4KvllcDOssTBa40ENgB3JlULPMdL6t2KfDP7nZktSm5LzOwl4Pvh5wUF9D0NXyVfBB5ONI8N5c1xYgUZe4CZ4efkFN1asX8RvRrR0ng1QxUbp02SgJ+G8gMpckrRSDoUX6A3kTKxAs//xO+1Tq6qkHQyMBvfrz5Rkc2wUC5JGZTtwB+At+EvTlfIB4iGfaNA30mhvN/M9ibaYgzy1xS6WHde8GR1o5leQGV7HSqpXdIMSVMlDZPUNJ7LQBkbA4wO5Z9KyMiiGYFv/xYC+ySNknR9eJ4hSSZ1bwtLQ1IvPCDehLviqvhgKNdktK/FPdtAYGnd8gOfGActzul7ONAO7MVjiCSit+qf0nZSKHuF78+XVra6Xq3Y63g6Ex8R6yVdaWaPF9Qv18aSpuPxX188WXEuPklmN+FblOZjodwNrAROTfB5ArjUzF6F/w/P9Q1gEHCFme1qgU/fUG7LaI/1b+8i+bNxYz9iZr/J6fu5oMfitICZzu3YlyW9I1aG/XxjEuKo6upW0guq2WseMByfYL3xDOBc4ETgUUmnF+RTxMbT8TBgGj5JFgMj4wvfIs2xobwO2I8nfvoAHwGWAOcDP4ud/8dz5aRM01AqzZ6EpLPw1e9mM1uR179u1CVf0hTgWtyLjC9AErdeczPafxL4fBJYLekhfLW8EHgn7jXeB7wpHd8imupV1V5mlsxK/hm4StIO3G6z6IwzU1HUxjGtL+k4PKs6G1gp6dNm9kyLNNEZvQGMMbMN4fezIQn1AjBU0hAzW5H0XOtCh6KfvzczSDMEF/8DfBs3M6d7EUTP1DejPdZ31Clf0mRgDrAaGGZm/8zpfwo+gJsJKdskQqwzGvgK8CpwefisDbTbQ9dXqupdVq8uGC/oTE6cn6NbKRsDmNnLZvZLPBToh+veKk1HKFc2TKxI+zoQvelgSHguMxuep0CNOAKPfwB2S6lHLvdKuhcPnKfl8HshlAMz2mPmJ8ZkLcuXNA24FV+Jh5tZkZc9N2EAB7JON4VPo8zDwrNsMbP1BeQVRZ5edY8X+MIBvlVMRUUbH4CZbZS0GmiTdHRj9rUCTXzHOjJI4yWFw+GtTWj8G7g/o+2j+L5+Of5ARbYg8UxnpKSeifORPsA5+EHsU3XIl3Q9vn1YBYwoMmhhYozHEwZZsvPwBeAQ/GC5FhTUq+7xgs7MbVpWtJKNM/CuUGYuZgVpluKx1oeT71hATHCsh7dwcoVgeEJam6RZ+GA9kHGdZgBwMLAuniuY2TpJS3CX/iXg9kYSfHWca2Y7a5A/E79i9Uc88M3dpgSMw5MQv26SMIgyjjSz1xJ1bcB38BUyM/tVAbl6VbVXSNtvinZvqD8Rv90BfhslybOwjSUNxK9RbUvU9wS+hScinmy8/laFJni0RfgB91Tco0a6kXiM3EHIZNZ9t/AS4JLwM57VDJE0P3zfYmZVbl4ksRRPvPTHD40jrsavP90W7n49B5yFn4GtAb7WqmBJl+ODvhf4PTAlZYu0wczmp5DHrVfmzYcGPCZpF74d2g6cjN+12wWMNrM3xbst2L+MXmXxeeDakKbeiD/LAPxZDsPju+82ElSw8cXAjZKW415jK35daih+XPESMDFBX4UGfOEeBNwiaRSeku+P230vMCFO2Lo9VxseeDfiJDrPZjZS7VpTIQTvdSadF3cvxu+nzaHgxd0CiGdPB+Gp2zQ8DsxvrAgr+Lk0SWQk8HN8C9iO7+FfxF/+G81scwZNGyXtX0GvsliGn0EOwrfmvfHVfTl+7rUg5UZJWRv/Fng//hyD8OOEnfiCugC4LcXzVaHBzDZLOgM/khiDJ2NeAxbhY/N07Nuj+y8n3ehG1+C/987zeCLB/h0AAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle -14.0427917452336$" + ], + "text/plain": [ + "-14.042791745233567" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def eval_v_e(g_f, h_0_f, v_0_f):\n", + " return -(2*g_f*h_0_f + v_0_f**2)**0.5\n", + "\n", + "eval_v_e(g_f, 10, 1)" + ] + }, + { + "cell_type": "markdown", + "id": "a25c9891", + "metadata": {}, + "source": [ + "Wir können als zweites Beispiel die Lösung für den Sonderfall $v_0 = 0$ ermitteln lassen. In diesem Fall ist das Ergebnis wenig überraschend, aber wir könnten bei beliebig komplexen Formeln äquivalent vorgehen und Vereinfachungen finden." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "76aad81b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - \\sqrt{2} \\sqrt{g h_{0}}$" + ], + "text/plain": [ + " ______\n", + "-√2⋅╲╱ gâ‹…hâ‚€ " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_e_expr.subs(v_0, 0)" + ] + }, + { + "cell_type": "markdown", + "id": "e665272f", + "metadata": {}, + "source": [ + "Mit dem Energieansatz konnte die Frage nach $v_e(h_0,v_0)$ gelöst werden und die Verwendung von *SymPy* an einem übersichtlichen Beispiel demonstriert werden." + ] + }, + { + "cell_type": "markdown", + "id": "80fa9d8a", + "metadata": {}, + "source": [ + "#### <font color='blue'> **Gleichförmige Beschleunigung (zeitlich aufgelöst)**\n", + "\n", + "Der zweite Lösungsansatz ist eine Betrachtung des zeitlichen Verlaufs. Diesen benötigen wir auch, um die Fragen nach $t_e(h_0, v_0)$ und den Funktionen $h(t)$, $v(t)$ und $v(h)$ zu lösen. Wie in der Vorüberlegung bereits geschildert, nutzen wir die Zusammenhänge $a = -g$, $a = \\dot{v}$, $v = \\dot{x}$. \n", + "\n", + "Aufgrund der zeitlichen Ableitungen handelt es sich hierbei um Differentialgleichungen (DGL). Zusätzlich zu den bereits beim Energieansatz verwendeten Symbolen, benötigen wir Symbole für $t$, sowie die unbekannten Funktionen $v(t)$ und $h(t)$." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c00cb161", + "metadata": {}, + "outputs": [], + "source": [ + "t = sp.symbols('t')\n", + "v, h = sp.symbols('v,h', cls=sp.Function)" + ] + }, + { + "cell_type": "markdown", + "id": "83ed0cf6", + "metadata": {}, + "source": [ + "Wir beginnen nun mit $v(t)$. Dazu lösen wir die DGL $ -g=\\frac{\\mathrm{d}}{\\mathrm{d}t} v(t)$. (Wir hätten auch *SymPy* nutzen können, um mit ````subs()```` $a=-g$ in $a = \\dot{v} = \\frac{\\mathrm{d}}{\\mathrm{d}t}v(t)$ einzusetzen. Dies sparen wir uns aber an dieser Stelle)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d80dfb2c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\frac{d}{d t} v{\\left(t \\right)} = - g$" + ], + "text/plain": [ + "d \n", + "──(v(t)) = -g\n", + "dt " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dgl_v = sp.Eq(v(t).diff(t),-g) # Aufstellen DGL\n", + "dgl_v #Kontrolle" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "3dfb9bce", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle v{\\left(t \\right)} = C_{1} - g t$" + ], + "text/plain": [ + "v(t) = Câ‚ - gâ‹…t" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_v_t = sp.dsolve(dgl_v, v(t)) # Loesen DGL\n", + "result_v_t" + ] + }, + { + "cell_type": "markdown", + "id": "3874cbc8", + "metadata": {}, + "source": [ + "Die Integrationskonstante $C_1$ bestimmen wir über den Zusammenhang $v(t = 0) = v_0$. Es ist zwar leicht ersichtlich, dass hier $C_1 = v_0$ gilt ($v_0 = v(0) = C_1 -g \\cdot 0 = C_1 = v_0$), aber wir wollen an dieser Stelle *SymPy* dafür nutzen, da dies auch bei komplexeren Fällen immer so funktionieren würde:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6320c20f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAACYAAAAVCAYAAAAq05ytAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAB/UlEQVR4nM3WP0iVYRTH8Y8V1tSSZEUUNAVKEEFBLS5CNAfh1hL9gcKkCCE4niVoEaIliCBoqmiMyIaMsCFoUJSoyaAhSxoaooKw4b7a2+0a7/VqeJbnec85D78v5/nznra5uTmr0dbNTzKzB09LsTcRsXslxTOzA5/Kvoho+wOsZM8witmVhCrsK7KYH8fO+UAjsNGIGFp5JiLiK4ZY2LEFsDX/A2Ap1qhif1lmDuIKzkXE9QbxXXiNcRyIiJZvVNWKjRdj9yLxq2jH+eWAojrYRDF21Qcy8xCO4l5EjC0HVGWwiHiPz/VgmdmGYXzHpeWCouIZK2wCPZm5vQCFPuzH1YiYLidn5hlcxFZMoT8inlcVa+ZWzp+zrkJ4g9qF+FiMZahjuFb49+IFHmXmjqpizVaM2gV4jH61d+dkRHypyx3A7Yi4WXyfzczDOI3BKmJLqVh3Zm4uBCZxq5yUme3Yh5G69SM4WFWsGbAp/FTbysRGDETEz7q8DqzFTJ1/BluWHSwivuEt9uAEHkbEk6rrm7Vmf0njWI85XFgkZ1atsp11/k58qCrUzOEXEX1qT8S/cn5k5iv04n4p1IsHrYBFZobW+rFh3MnMlxjDKWzDjXJSo36sEdi0370RLfRjEXE3MzfhstoDO4kjEfGuLrXcj/1hbau1tV61/dgv5c6ZASTzgskAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle \\left[ v_{0}\\right]$" + ], + "text/plain": [ + "[vâ‚€]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C1 = sp.symbols('C1') # C1 muss als Symbol benannt werden, damit wir darauf zugreifen können\n", + "C1_solved = sp.solve(sp.Eq(result_v_t.rhs.subs(t,0),v_0), C1) #Lösen der Gleichung v(t = 0) = v_0 nach C1. Dabei benötigen wir nur die rechte Seite von v(0)\n", + "C1_solved" + ] + }, + { + "cell_type": "markdown", + "id": "092f79f4", + "metadata": {}, + "source": [ + "So können wir einen neuen Ausdruck für $v(t)$ speichern und haben einen Teil der Ausgangsfrage beantwortet." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "207fa127", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFMAAAAUCAYAAADx7wHUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAADp0lEQVR4nO3YW4hVdRQG8J9pJhRhGJpRCEJYXkKMUsoHo6jeeglCLLOXLoqiksa8uFiUlhBi9FAWUTYVZPQQJJEWiWXQzRzTLoY0mEXalS6giE4Pe4+e2TNnRqc9TlQfHNbe/+u3v7P+a629h3R0dPgf9WDYYBOAzFyCNZgTES8ONp/+4ozBJlDiitJ+PKgs/ib+EZ6pEPMP7OnP5Mych2dwbURsqY/WqaF2MTNzBBZjLsbjANZhNX5Fe0RMKcc+jPsbph/LzM7ruRHRWje/CtcWrMKiiHish/7x+BxtmB4RvSaYWsXMzLPxJmYojuyjGIMVuAznYHvDlO1YjzvwHjY39G2pk1sTtJV2cpP+1RiOJX0JSf2euU4h5Ao82EkgM1sVItMgZkRsyMyRCjHXR8STNfPpCztLO6nakZnX4BZsiIhtJ7NYbQkoM2dgDl6NiAca/8mIeAv7ytvtlanTmrQPOCJiP35WETMzhyiqi8O6hqFe0cUzM7Md406BzwsRcVt5vaC0K5uM/QkXY0elfRqO4NOT2bAPjm83xNxOrI+Ieb0suROzMvOiUlyYjauwOiLaK/vPxzKMxW4sjoh36H7M9+JQbw9TwXcN1zcoBPuoydix+Coifm8gNgxT8FlEHD7JPddiZKVtKm5WxN/2St+OPtZrwyyFd+4vE+gqHCztcWTmrYo8MB/vlvb1zJwYEfu6iBkR1/X9LN1REhiNHT0F6sy8FBfonlQmYoRTOOIRsbaH9ecpxHy2H6VRZ9ycjDcUlcg43B0Rv1XGLi33eKq8X5iZN+FetNQVM4+Wv/Oa9C8vbVW0qaX9pCYe/cHxjJ6Zo9GCXXi6cVBmDlfUw5sq8zfhampKQBFxBF9iXGZ28e7MXIA7y9uqmKNKW/WA04ndCkeYhMS5WBoRRyvjzsdQRd3ciAOKU1drafQQWrExM1/C95iJS/AFJuguZufr48rMnIw/sTsiXq6RV6+IiEOZuQeXK5LhxojY3Me0HlFbaRQRz2MRvlVkw9mK4H+lE/H0l8qcrVioEHEhwomjfzrRhrPQgfuajPlR4cFjKu1jFI5jyEB/gsvM2/EclkXEIwO62QAjM99HW0Tc1dC2B69EREstxzwzh2JURBystF+Px/ENnqhjr0HGGrRm5gfYhntwofLZavHMzJyCDxWlxV6cqTiuM/EDboyIwczYtaEs2pcr6uZdivf2rdQn5gRFApquyNDH8DVew5qIqGbAfyUGPGb+l/AXGJs/2EPfaWcAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle - g t + v_{0}$" + ], + "text/plain": [ + "-gâ‹…t + vâ‚€" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_t_expr = result_v_t.rhs.subs(C1,C1_solved[0])\n", + "v_t_expr" + ] + }, + { + "cell_type": "markdown", + "id": "e19cd474", + "metadata": {}, + "source": [ + "Als nächstes verwenden wir den Zusammenhang $v = \\dot{x}$, um $x(t)$ zu ermitteln. Wir setzen dazu das eben ermittelte $v$ ein und lösen die DGL analog zur vorherigen Berechnung und erhalten (ohne Ausgabe der Zwischenschritte) folgenden Ausdruck für $h(t)$:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c747c009", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - \\frac{g t^{2}}{2} + h_{0} + t v_{0}$" + ], + "text/plain": [ + " 2 \n", + " gâ‹…t \n", + "- ──── + hâ‚€ + tâ‹…vâ‚€\n", + " 2 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dgl_h = sp.Eq(h(t).diff(t), v_t_expr)\n", + "result_h_t = sp.dsolve(dgl_h, h(t))\n", + "C1_solved_h = sp.solve(sp.Eq(result_h_t.rhs.subs(t,0),h_0), C1)\n", + "h_t_expr = result_h_t.rhs.subs(C1,C1_solved_h[0])\n", + "h_t_expr" + ] + }, + { + "cell_type": "markdown", + "id": "ee452dab", + "metadata": {}, + "source": [ + "Abgesehen von der Sortierung und der Anpassung an den Fall aus einer Höhe entspricht dies genau der evtl. aus der Schule bekannten Formel für die gleichförmig beschleunigte Bewegung $s(t) = \\frac{1}{2}at^2 + v_0t + s_0$. Diese haben wir mithilfe von *SymPy* hergeleitet.\n", + "\n", + "Nun können wir die gesuchte Formel für die Fallzeit $t_e$ herausfinden, indem wir $h(t) = 0$ aufstellen und nach $t$ auflösen:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "151b91cc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ \\frac{v_{0} - \\sqrt{2 g h_{0} + v_{0}^{2}}}{g}, \\ \\frac{v_{0} + \\sqrt{2 g h_{0} + v_{0}^{2}}}{g}\\right]$" + ], + "text/plain": [ + "⎡ ______________ ______________⎤\n", + "⎢ ╱ 2 ╱ 2 ⎥\n", + "⎢vâ‚€ - ╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ vâ‚€ + ╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ ⎥\n", + "⎢──────────────────────, ──────────────────────⎥\n", + "⎣ g g ⎦" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_t_e = sp.solve(sp.Eq(h_t_expr, 0), t)\n", + "result_t_e " + ] + }, + { + "cell_type": "markdown", + "id": "47e239f5", + "metadata": {}, + "source": [ + "Auch hier gibt es einen positiven und einen negativen Wert. Uns interessieren nur die positiven Werte. Der negative Wert zeigt, wann der Gegenstand auf Höhe $h = 0$ abgeworfen wurde, um zum Zeitpunkt $t = 0$ die Höhe $h_0$ und Geschwindigkeit $v_0$ zu erreichen. Mit den Beispielwerten von oben erhalten wir also eine Zeit $t_e$ von:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "4af74a66", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMYAAAAQCAYAAABN/ABvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAGhElEQVR4nO2aa6xeRRWGn1NqUArWBJDGS5CCNfXGaSUikSBHtNEWFFCjP4pIAkqQFJDGSxXfvhpiMVrbAqaESwu1fwhSEhRruTRAuSZURQSlXArRSBUqTW2p3OqPNbvdZ5+9P/bl6+mf8yZf5tuzZ82ad+25rFkzAzt37mQMYxjDcIzPP9j+IvAJYBA4EjgAWClpdtOKbW8EDq14vUnSpEL5S4CjgCnAQcBLwDPATcBlkl4o0dFYpqSO2cCK9HiWpKsK7zvb5I105Mq9C/gR8BngQOCfiYsl/WdvcGlr4zZcbM8CzgPen5N5CFgo6b5cuQOBU4BZwIeAdwIvA38GlgHLJL1eUn9t/uMKzz8Azk2C/yhrfENsAVzy+1lJ2QuACcCtwGJgJfAqMB942Pa7+ySzC+n9ZcB/exTrZJOaOrB9ONEJzgAeBH4BPEV0lPtSZ+iqpw2XxjZuwyUNwN8A04HVSdd64PPAPWnQZ/gScCVwNPAAsAj4NfBB4CrgetsDXfiPLzxfAPwdeIIYWWt7CdfAi5Lm1yz7Vkk7ipm2LwbmAd8DzumDTFZmgJhdXgBuBOZWtKu1TRroAPgl8HZgjqRLc3UsTG24GDh7L3BpY+NGXGxPSm3eBHxY0r9y74aAO4jV51cp+3Hgc8Bv8yuD7XnEQPwCcCoxWFrxH7ZiSForaYOkUd94lBk/4fqUvrcfMjnMAT5JzGrberSri01q6Ugz7AxgI3B5sQlJ9jTbE7roacOlqY1bcjmU6IsP5AdF1mZgK3BwLu8OSTcX3SVJzwFL0+PxJVxq8y+6Uv3GvrZn255n+zzbQ7b3aVjHSSl9uF8ytqcCC4DFku5q2J5aaKhjKKVrSj72VuAeYD/gYx319BNVNm7DZQOxR/io7YPyMraPI/YCt9Vs1yspfbVm+VIUXal+YxK7N4MZnrZ9hqQ7ywRszwX2ByYSm75jCeMvqFLSRMb2+NSmZwlXoO9ooeN9KX284v0GYhaeAtzeQU9rNLBxYy6SNtv+DrAQeNT2TYRbeDjhMt0KfKNGG8cDX02Pq+vwqsKeHBjLgLuBvxBL4WRi4/N14He2j5H0pxK5ucAhuefVwNck/buHriYyPwSmAcdKeqkumYZoqmNiSrdUvM/y39ZRTxfUtXErLpIWpUjmNcBZuVdPAMuLLlYFFhAb8Fsk/b5G+UrsMVdKkpMvuEnSdkmPSDqbmBXeQkQ1yuQmSRogVptTiQH1B9vTe+iqJWP7aGJm/Xk+/NdPjIaO0dSToc13aQLb3wZuAJYTK8UE4CNENGul7Z++gfwc4ELgr8BpXduzp12pMiwlCBzXq5CkTcAq2+uJZfk6YjZoJZOW2etS/kUdOZSig45sFp1Y8T7Lf7Gjns6o8V0acQGwfTxwCbBK0rdyZdfbPiXpudD2UklPFSu0fS4R3n0UOEHS5oa0RmBPb77LkC29VRGWYZD0DEH4A8WNWUOZ/Qm/diqww/bO7EdESwCuTHmL6lEZgbY6/pbSKRX1ZpGfzG8fDS490eO7NOUCcGJKR4RPJW0nQrDjCLdxGGyfD1wKPAIMpchUZ+yNFSOLRowY+T3wjpS+1kHmf8DVFWWnE0ZfR3zYtq5JWx1Zh5hhe1whNn8A8HFgO3B/Rz39Rtl3acoFYN+UHkw5svyX85lpw74A+CPwaUnPNyVQhU4DI8Ws3wQ8KemVXP5U4FlJ2wrl30OczsLuwxpsTyGuiWwplB8H/Jg4LLo3f5WgqUzanJ5ZwWM+0ZmurbquUQdtdUh60vYaIlrzTWIG3CVKrK5XZPYcDS6prsbfpSmXhLtJgRnbV0jadSpt+7PEYNoB3JvLv4g49HsImNEP9ymP4l2pk4GT02N2l+kY28vT/+cl5U9VbycOZw4jDnQyfJnwCe8i7tVsJTZUs4A3A7cw/FrITOAnttcBTxOhukOI08nJwHMMj1S0lWmMFjZpi3OID7/E9gnAY8SVhyHC7fh+VwUtuLS1cVMuNxDnFJ8CHrO9KtU9lXCzBoDvZveybJ9ODIrXiEE1x3axDRslLc9nNOFfXDEGgdMLeZPTD6KT1+kEa4l49jRitE8gNlvriLj7isLp423AEURsfBoRyttGGHEFsKRkRmgj0waD9McmPZFm2qPYffFuJnGJbjE1LxHWwCDNuLSycVMukl63PZNYYb5CXBDcD9hMTKJLJK3JiRyW0n2A8yu43klEuPIYpCb/gbFr52MYw0j8Hx/kuSDUiAT/AAAAAElFTkSuQmCC\n", + "text/latex": [ + "$\\displaystyle 1.53341404130821$" + ], + "text/plain": [ + "1.53341404130821" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t_e_expr = result_t_e[1] # Abspeichern des positiven Ausdrucks als Ausdruck fuer t_e\n", + "t_e_expr.subs([(g, g_f), (v_0, 1), (h_0, 10)])" + ] + }, + { + "cell_type": "markdown", + "id": "188a33eb", + "metadata": {}, + "source": [ + "Auch hier wollen wir noch den Sonderfall $v_0 = 0$ betrachten:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "f469903b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\frac{\\sqrt{2} \\sqrt{g h_{0}}}{g}$" + ], + "text/plain": [ + " ______\n", + "√2⋅╲╱ gâ‹…hâ‚€ \n", + "───────────\n", + " g " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t_e_expr.subs(v_0, 0)" + ] + }, + { + "cell_type": "markdown", + "id": "e5be8756", + "metadata": {}, + "source": [ + "Indem wir die Zeit $t_e$ in $v(t)$ einsetzen, erhalten wir die gesuchte $v_e$ (die wir auch bereits im Energieansatz ermittelt haben)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "462238ae", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - \\sqrt{2 g h_{0} + v_{0}^{2}}$" + ], + "text/plain": [ + " ______________\n", + " ╱ 2 \n", + "-╲╱ 2â‹…gâ‹…hâ‚€ + vâ‚€ " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_t_expr.subs(t, t_e_expr)" + ] + }, + { + "cell_type": "markdown", + "id": "f8555d24", + "metadata": {}, + "source": [ + "Das Ergebnis aus diesem Rechenweg stimmt mit dem Ergebnis aus der Energiebetrachtung überein.\n", + "\n", + "Zur Erfüllung der Aufgabenstellung fehlt noch ein Ausdruck für $v(h)$. Wir wollen also jede Geschwindigkeit in Abhängigkeit der Höhe haben (Anstelle der Zeit). Wir haben $v(t)$ und $h(t)$. Wenn wir $h(t)$ nach $t$ auflösen und in v(t) einsetzen, erhalten wir den gesuchten Ausdruck. Da wir in Python bisher nur das Symbol h mit dem Typ \"unbekannte Funktion\" haben, benötigen wir dafür noch ein Symbol h als gewöhnliches Symbol." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "3775c2b2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ \\frac{v_{0} - \\sqrt{- 2 g h + 2 g h_{0} + v_{0}^{2}}}{g}, \\ \\frac{v_{0} + \\sqrt{- 2 g h + 2 g h_{0} + v_{0}^{2}}}{g}\\right]$" + ], + "text/plain": [ + "⎡ _______________________ _______________________⎤\n", + "⎢ ╱ 2 ╱ 2 ⎥\n", + "⎢vâ‚€ - ╲╱ -2â‹…gâ‹…h + 2â‹…gâ‹…hâ‚€ + vâ‚€ vâ‚€ + ╲╱ -2â‹…gâ‹…h + 2â‹…gâ‹…hâ‚€ + vâ‚€ ⎥\n", + "⎢───────────────────────────────, ───────────────────────────────⎥\n", + "⎣ g g ⎦" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h_nonfunc = sp.symbols('h') # Das Python Objekt heisst h_nonfunc, die Darstellung bleibt aber h\n", + "\n", + "result_t_h = sp.solve(sp.Eq(h_nonfunc,h_t_expr), t)\n", + "result_t_h" + ] + }, + { + "cell_type": "markdown", + "id": "222ec720", + "metadata": {}, + "source": [ + "Aufgrund des $t^2$ in der Formel gibt es wieder zwei Ergebnisse. Wir sind wieder an dem Ergebnis, das eine positive Zeit liefert, interessiert. Das ist das zweite Ergebnis in der Liste. Dies lässt sich auch über Beispielwerte $h=\\frac{h_0}{2}$, $v_0 = 0$ (Fall ohne Anfangsgeschwindigkeit auf halber Höhe) demonstrieren:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "cdb35551", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left( - \\frac{\\sqrt{g h_{0}}}{g}, \\ \\frac{\\sqrt{g h_{0}}}{g}\\right)$" + ], + "text/plain": [ + "⎛ ______ ______⎞\n", + "⎜-╲╱ gâ‹…hâ‚€ ╲╱ gâ‹…hâ‚€ ⎟\n", + "⎜──────────, ────────⎟\n", + "⎠g g ⎠" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result_t_h[0].subs([(h_nonfunc, h_0/2), (v_0, 0)]), result_t_h[1].subs([(h_nonfunc, h_0/2), (v_0, 0)]) # Achtung, dass h_nonfunc verwendet werden muss" + ] + }, + { + "cell_type": "markdown", + "id": "5bc4e21b", + "metadata": {}, + "source": [ + "Die negative Zeit beschreibt wieder einen vor $t=0$ stattgefundenen Abwurf. Nun setzen wir den positiven Ausdruck in $v(t)$ ein und haben alle in der Aufgabenstellung gesuchten Zusammenhänge hergeleitet:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "3a299cf5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - \\sqrt{- 2 g h + 2 g h_{0} + v_{0}^{2}}$" + ], + "text/plain": [ + " _______________________\n", + " ╱ 2 \n", + "-╲╱ -2â‹…gâ‹…h + 2â‹…gâ‹…hâ‚€ + vâ‚€ " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t_h_expr = result_t_h[1]\n", + "v_h_expr = v_t_expr.subs(t, t_h_expr)\n", + "v_h_expr" + ] + }, + { + "cell_type": "markdown", + "id": "ec07d2ac", + "metadata": {}, + "source": [ + "Wir können nun die Methode ````plot()```` nutzen, um diesen Ausdruck für $v(h)$ mit den oben bereits verwendeten Beispielwerten $h_0 = 10\\,\\mathrm{m}$ und $v_0 = 1\\,\\mathrm{\\frac{m}{s}}$ ausgeben zu lassen. (Beim Lesen des Plots sollte beachtet werden, dass bei einem Freien Fall die Höhe abnimmt (d.h. von rechts nach links entspricht der zeitlichen Abfolge)." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "de3facaa", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 640x480 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "<sympy.plotting.plot.Plot at 0x1f5d8d1d610>" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.plot(v_h_expr.subs([(g, g_f), (v_0, 1), (h_0, 10)]), ylabel=\"v(h)\")" + ] + }, + { + "cell_type": "markdown", + "id": "6de05503", + "metadata": {}, + "source": [ + "## <font color='blue'>**Problemstellung 2: Fall mit Luftwiderstand** \n", + " \n", + "#### <font color='blue'>**Einleitung**\n", + " \n", + "In der vorherigen Aufgabenstellung haben wir einen unbeeinflussten freien Fall im Gravitationsfeld der Erde modelliert. Spätestens ein kurzer Test aus höheren Höhen zeigt, dass wir dabei eine erhebliche Vereinfachung getroffen haben. Betrachten wir zum Beispiel den Wurf einer Feder vom Frankfurter Maintower mit 200 m Höhe (bitte in der Realität nichts von Hochhäusern werfen):" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "8425084c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-62.64 m/s nach 6.39 s\n" + ] + } + ], + "source": [ + "print(str(sp.N(v_e_expr.subs([(g, g_f), (h_0, 200), (v_0, 0)]), 4)) + \" m/s nach \" + str(sp.N(t_e_expr.subs([(g, g_f), (h_0, 200), (v_0, 0)]), 3)) + \" s\") " + ] + }, + { + "cell_type": "markdown", + "id": "e5832c7d", + "metadata": {}, + "source": [ + "Diese Geschwindigkeit von ca. 225 km/h passt nicht zu unseren Erfahrungen beim Fall einer Feder. Ein noch extremeres Beispiel ist ein Fallschirmsprung aus 5000 m mit Öffnen des Fallschirms bei 800 m (Höhendifferenz 4200 m). Mit unserer Modellierung Wird bei diesem Fallschirmsprung vor Öffnen des Fallschirms eine Geschwindigkeit von:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d2d7e638", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-287.1 m/s nach 29.3 s\n" + ] + } + ], + "source": [ + "print(str(sp.N(v_e_expr.subs([(g, g_f), (h_0, 4200), (v_0, 0)]), 4)) + \" m/s nach \" + str(sp.N(t_e_expr.subs([(g, g_f), (h_0, 4200), (v_0, 0)]), 3)) + \" s\") " + ] + }, + { + "cell_type": "markdown", + "id": "8c1fb411", + "metadata": {}, + "source": [ + "erreicht. Dies sind über 1000 km/h. Zudem würde mit unserer Modellierung das gleiche Ergebnis bei während des gesamten Fluges geöffnetem Fallschirm erreicht. Wir haben schließlich keine Möglichkeit, Parameter zu den Eigenschaften des fallenden Objekts anzugeben. Der Erfahrung nach haben aber die Eigenschaften wesentlichen Einfluss auf die Falleigenschaften. Der Grund dafür ist der Luftwiderstand, den wir bisher vernachlässigt haben. Unsere Modellierung funktioniert also gut in Fällen, in denen der Luftwiderstand keine große Rolle spielt, etwa im Vakuum oder bei schweren, stromlinienförmigen Körpern bei niedrigen Geschwindigkeiten. Sind diese Bedingungen nicht gegeben, bremst der Luftwiderstand das fallende Objekt wesentlich ab. " + ] + }, + { + "cell_type": "markdown", + "id": "6e91ee0a", + "metadata": {}, + "source": [ + "#### <font color='blue'>**Aufgabenstellung**\n", + "\n", + "Es soll nun versucht werden, die gesuchten Größen und Funktionen aus Aufgabenstellung 1 unter Berücksichtigung des Luftwiderstands zu finden. Die Abnahme der Luftdichte mit der Höhe darf hier vernachlässigt werden.\n", + " \n", + "#### <font color='blue'>**Vorüberlegungen**\n", + "\n", + "In Problemstellung 1 war die einzige Kraft, die den Körper beschleunigt die Gewichtskraft $F_g = mg$. Diese wurde in die Formel $F = ma$ eingesetzt, womit unter Berücksichtigung der Beschleunigungsrichtung die gegebene Formel $a = -g$ hergeleitet werden kann. Die Widerstandskraft $F_W$ ist eine weitere Kraft, die zu der Gesamtkraft beiträgt. Wir können nun also als Grundlage eine neue Gleichung für $a = \\frac{F_W-F_G}{m}$ aufstellen, die dann wieder in den DGL $a = \\dot{v}$ und $v = \\dot{h}$ integriert wird.\n", + "\n", + "Für den Luftwiderstand gilt folgende Formel:\n", + " \n", + "$F_W = \\frac{1}{2} \\rho v^2 \\cdot A \\cdot C_W$\n", + "\n", + "Dabei ist $\\rho$ die Luftdichte (wir nehmen in dieser Aufgabe die Standarddichte auf Meeresspiegel von $1.225\\,\\mathrm{\\frac{kg}{m^3}}$ an. $A$ ist die Querschnittsfläche und $C_W$ der Widerstandsbeiwert, mit dem beschrieben wird, wie die Form des Körpers die Strömung beeinflusst. In der Realität werden $C_W$-Werte im Windkanal oder per CFD (Computational Fluid Dynamics) ermittelt. Wir werden uns hier auf Standardfälle beschränken und verwenden z.B. die Kugel mit $C_W = 0.18$ und die offene Halbschale (z.B. geöffneter Fallschirm) mit $C_W = 1.33$.\n", + " \n", + "Für unser mathematisches Problem ist besonders hervorzuheben, dass die Geschwindigkeit in die Formel eingeht. Dadurch ergibt sich ein anderer Typ DGL für die Bewegungsgleichung. Zuvor hatten wir $y'(t) = f(t)$, nun haben wir $y'(t) = f(y(t)²,t)$. Dies ist eine nichtlineare DGL, die analytisch sehr kompliziert werden und ggf. nicht explizit nach der gesuchten Funktion y(t) aufgelöst werden kann. \n", + " \n", + "Bevor wir mit dem Versuch der Lösung der DGL beginnen, wollen wir daher noch eine Vorüberlegung anstellen. Die Gewichtskraft verändert sich nicht. Die Luftwiderstandskraft wird mit zunehmender Geschwindigkeit größer und wirkt der Gewichtskraft entgegen. Die Summe der Kräfte wird also während der Beschleunigung kleiner, wodurch immer langsamer beschleunigt wird. Schließlich werden die Kräfte gleich groß sein und die Geschwindigkeit konstant bleiben. Sind wir also nur an der maximal erreichbaren Geschwindigkeit eines fallenden Körpers mit Bestimmten Eigenschaften interessiert, so können wir die Geschwindigkeit auch über das Kräftegleichgewicht ermitteln.\n", + "\n", + "Bestimmen wir also gleich bei der Umsetzung zunächst eine Formel für die maximal erreichbare Geschwindigkeit und und testen diese anhand von 2 Beispielen:\n", + "1) 1 kg Kugel mit Querschnittsfläche 0.008 m²\n", + "2) 80 kg Fallschirmspringer*in mit geöffnetem Fallschirm mit Querschnittsfläche 20 m²\n", + "\n", + "Eine Energiebetrachtung wie in Problemstellung 1 bietet sich für diese Aufgabe nicht an, da in die Energiebilanz die durch den Widerstand dem System entzogene Energie mit aufgenommen werden müsste. Diese ist aber abhängig von der Fallstrecke und dem Verlauf der Widerstandskraft, der wiederum abhängig vom Verlauf der Geschwindigkeit ist. " + ] + }, + { + "cell_type": "markdown", + "id": "c1d276d0", + "metadata": {}, + "source": [ + "#### <font color='blue'>**Umsetzung**\n", + " \n", + "Versuche bitte in dieser Aufgabe selber, die Funktionen von *SymPy* zu nutzen. Der Ablauf und die Variablennamen sind vorgegeben.\n", + " \n", + "Wir beginnen wie in der Vorüberlegung angesprochen mit einer Formel für $v_{max}$.\n", + " \n", + "Zuerst benötigen wir die neuen Formelsymbole $A$, $C_W$, $\\rho$, $v_{max}$" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "28ca8022", + "metadata": {}, + "outputs": [], + "source": [ + "A, C_W, rho, v_max = sp.symbols('A, C_W, rho, v_max') " + ] + }, + { + "cell_type": "markdown", + "id": "6118dbdf", + "metadata": {}, + "source": [ + "Als nächstes stellen wir die Ausdrücke für $F_G$ und $F_{W,max}$ auf, kombinieren diese in einer Gleichung und lösen nach $v_{max}$ auf. " + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "95d60be6", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle \\left[ - \\sqrt{2} \\sqrt{\\frac{g m}{A C_{W} \\rho}}, \\ \\sqrt{2} \\sqrt{\\frac{g m}{A C_{W} \\rho}}\\right]$" + ], + "text/plain": [ + "⎡ _________ _________⎤\n", + "⎢ ╱ gâ‹…m ╱ gâ‹…m ⎥\n", + "⎢-√2â‹… ╱ ─────── , √2â‹… ╱ ─────── ⎥\n", + "⎣ ╲╱ Aâ‹…C_Wâ‹…Ï â•²â•± Aâ‹…C_Wâ‹…Ï âŽ¦" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "F_G_expr = m*g\n", + "F_W_max_expr = rho/2 * v_max**2 * A * C_W\n", + "\n", + "res_v_max = sp.solve(sp.Eq(F_G_expr, F_W_max_expr), v_max)\n", + "res_v_max #Ergebnis" + ] + }, + { + "cell_type": "markdown", + "id": "66fda87a", + "metadata": {}, + "source": [ + "Aufgrund der Wurzel haben wir wieder eine positive und eine negative Lösung. Die Kräfte können ja sowohl bei einer Aufwärts, als auch bei einer Abwärtsbewegung gleich sein. Wir sind an der abwärtsbewegung interessiert und speichern die Lösung in einem Ausdruck für $v_{max}$" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "ff33be71", + "metadata": {}, + "outputs": [], + "source": [ + "v_max_expr = res_v_max[0]" + ] + }, + { + "cell_type": "markdown", + "id": "2245b3fb", + "metadata": {}, + "source": [ + "Nun können wir den Ausdruck für die gegebenen Fälle auswerten (z.B. als float mit 4 signifikanten Stellen). \n", + "Fall 1:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "16832be9", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEsAAAAQCAYAAABeB4LeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAClUlEQVR4nO2YT0gVURTGf0ZRIGIQhIsoSypbhAZRhpCEIFIbg6CN0VYKirBdwecXtIuwv9SqwNrXpkAwQSpaR1BphkEUUZGiRpuyxZ1XvXEeb+Y54cYDj/PmnDnffHPeveee86rm5uZYknSyPE8w24eANqAZaAJqgLuSusvErQPOAZ3AGuAjcA+wpG8J908AG0rAfZJUl4FzaqxckwWcJSRpBngPNJYLsN0APAXWAveBV8Au4CTQabtV0teE0CmgP8E+UwHvVFh5J+sUIUlvCCtsOEXMdUKiTki6UjDavhjhnQd6EuImJfUtlHAWrGU5PQwAScOSxiSlKoTRquoAJoBrcThgFjhiuzpPnpVK3isrq+yL9KCkX/86JE3bfkJIZgswFItdabsbWE9I6nNgRNLPCnikwsp1ZVUgWyM9WsI/FuktCb46YICwTfuBR8CY7bYKeKTCWuxk1UZ6qoS/YF8ds98C2gkvWQ1sB24C9cBD200ZOKTGKtqGZY7RJCnbFvwPkeSY6QXQY3sG6AX6gIN5Y8Vr1jjwIwPvDxnuTZLCyqkt4S/YJ1Pi3SC84N4FcCqJVZQsSe05PCSLvI50Uk0C2BzpUjUtLp8jncfpOQ9rsWtWoQ/rsF3ExXYN0Ap8B56lxGuJ9NscuM3DWtRkSRoHBgnF9HjMbcKvOiBp9o/R3pbUd9muB65Gl3divgbbjbZXxOyZsPKeDbuAruiyMFPtsX07+v5F0ulY2DHCuHPZdjvwEthN6MFGgTOx+w8DvbZHgHfANNAAHABWAQ+AC7GYIcLBtZHQAFeElXdT2gwcjdk2RR8iQkXJkjRueyd/B+n9hEH6EsmD9DChP9tB2KbVhAPgMaFXGkg7QWTFqlr6iya9/Abc9u83RIofrQAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle -105.5$" + ], + "text/plain": [ + "-105.5" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rho_f = 1.225 #rho wird zur spaeteren Verwendung als konstanter Wert rho_f gespeichert, analog zu g_f oben\n", + "sp.N(v_max_expr.subs([(g, g_f), (rho, rho_f), (A, 0.008), (C_W, 0.18), (m, 1)]),4) # Ausgabe als float mit 4 Stellen" + ] + }, + { + "cell_type": "markdown", + "id": "50fccccd", + "metadata": {}, + "source": [ + "Fall 2:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "5c9e6977", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD0AAAAQCAYAAAClUHcBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAADGklEQVR4nOXXS6iVVRQH8N8VtQILDIoaVFgUaBE9yLCwQrMGoiQ0iLj2AG2SJEhCBLVag8AKK0EI1Ah7UFBKJUUPHCSB0MSBUlmYJuJAb3R7eW+W3gZ7n9vn6T6OeRy54GN9e6+9/t/+n7X2Wvv0DA0NOdNk4ukAzcy5WIZZmIqfsBNrIuLjDjF6sKQ+V6MH32AD1kXE8Q4wevFGHS6NiA2cBtKZ+TxW4gA+RB8uwI24Ax2Rxpu4H4fwNo5gHl7BLXhgnH1cgrX4HVOatq6SzsylCuGNeCQijrbZJ3WIs0ghvBczI6Kvzk/GJizOzPcjYvMo/j14TcmwzXi8aZ9wMqTG2ehZeBb7jUAYIuKvDuEWVb26Rbj6H8VTdbhsDP/HMAcP4492YzcjPU9J45dxPDPn4xoM4quI2H4SWBdV/cMIttbc7MycPEI2TccqpX5sy8w57QDdJH1T1YPYoRBubmYb7o2Iwx1gtaI7bQTb5VVPrO/fNr4xUSlc+/HkaOBdS29cWPVKDGE2zsW1+Ay34d0OsT6qekVmnt+arDUhG+umtvk9jevxUEQMjAZ+QqQzcx8u63Bj8FZE9Nb31g/4NxZGxL463lkL027cnpmzOkj1d7AYd+PrzPxAyaA7cbESyUsx3LYy82YluqvHw2+P9J66uU6fgw3f/qp3NAiDiDiCT+tw5th8iYhjWIAncBgP1ud7pV39VpceYjitX8d3/i10o8oJkY6IueM5jCG7q+4fxf5z1ed0AlYr/XP1GZbMPBtXoi8i9tbpKbiqvg9mNk/AsKzPzPVY081CtlU5yzMyc8IIN6ZWYdvr1OQ+TFYuLC35E6+Osv4G5Zx/qQRme9dIR8SPmbkFC7EcL7VsmXmXcj778UnTLzOvwCTsafbxzDwvIn5tW3sdXlCyZlXj2wPKdfU/kpnPKKQ3nq5r6KP1Ay/WPr1DaTv34BiWRMQvbT5bleI5Dfsa859n5gB2KWd4OuZjAAsi4qD/Kd1sWSLigHLHXqucu+XKfXsLbo2ITScB957S8nqxQml96zAjIr44lX32nIl/Lf8BOe4Vlp+UswYAAAAASUVORK5CYII=\n", + "text/latex": [ + "$\\displaystyle -6.94$" + ], + "text/plain": [ + "-6.940" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sp.N(v_max_expr.subs([(g, g_f), (rho, rho_f), (A, 20), (C_W, 1.33), (m, 80)]),4)" + ] + }, + { + "cell_type": "markdown", + "id": "f8b373f0", + "metadata": {}, + "source": [ + "Diese Werte passen gut zur intuitiven Vorstellung, dass eine schwere Kugel deutlich schneller durch die Luft fällt, als ein\\*e Springer\\*in unter dem geöffneten Fallschirm. \n", + "\n", + "Nun ist in der Aufgabenstellung weniger nach der maximal erreichbaren Geschwindigkeit gefragt, sondern nach dem zeitlichen Verlauf abhängig von der Starthöhe. Bei niedrigen Höhen wird die Fallzeit zu kurz sein, um die maximale Geschwindigkeit zu erreichen. Gehen wir nun also bei der Herleitung analog zu Problemstellung 2 vor.\n", + "\n", + "Für die erste DGL ($a = \\dot{v} = \\frac{\\mathrm{d}}{\\mathrm{d}t}v(t) = \\frac{F_W-F_G}{m}$) benötigen wir einen Ausdruck für $F_W$, diesmal nicht für $v_{max}$, sondern für $v(t)$. Die Formelsymbole sind bereits alle von oben definiert.\n", + "\n", + "**Konvention für die Aufgabe**: Um Verwechslungen mit Aufgabenstellung 1 zu vermeiden, verwenden wir für die Variablennamen, die bereits in Aufgabenstellung 1 vorgekommen sind den Suffix ````_W```` (für Widerstand) \n", + "\n", + "Aufstellung der DGL:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "4f8291b2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAASgAAAAcCAYAAADSmyIWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAABJ0AAASdAHeZh94AAAOdElEQVR4nO2de7xWVZnHvyh5CVQcLc1LXjHlogcwtRFNBE0/TQk5U0OmeZmmzMsgOiPkjD9/Gt4Fc/KS1QQyY+ao1ac0c8xuk5ckRVDRtIbUUCmVxExBYf541uZs9tnv7fC+5wV9f58Pn33etZ6997PXetazn9te9Fu5ciX1wvbngNMlDa77pA466KCDXqJ/g/RdwNzms/HWgO1+kurX+G8T2J4KfAx4H/A6cC8wVdLDbWWsg4pYW2R5vQbpu4AHW8DHOg/bY4Gd2s3HWoqDgKuAvwYOBt4A7rT9V+1kqoOqGG97y3YzUdGCst0FzAD2A54ETgCGA+f2CWfrEGwPBkZL+lG7eVkbIelD+d+2jwb+BOwPfK8tTHVQC7cCV9g+WdIb7WKiVEGlBfdT4GrgM4RpfiPwTlrg4tmeBRwO7CTpz3WeMwqYA3xG0teazVODuAA4vs08rEvYhLDeX6pE8BaQiXUakpbZvp1Y/1e3i49+ZUFy2z8EXpD0yVzbV4GPStqqmQzYfj9wH3CGpOkl/acB04GjJF1f6Ps2YeENlvRKM/mqF7b3Bz4n6eg6aAcCjwHbAt+VNL6OcwYTyu9Q4L3AIGAJ8BBwCzBT0qu9ZL8tsH0jMBjYW9KbJf0tlQnbWwGLCLfzHGAC8GHCQ9gWWAbMB74BfEPSit496boN2+8A7gc+IOkvFWhWjaWkU5rNQ48YlO3ticUwo9C1nNYEyKcBL1NZS49Kx1+V9F0AbA2c2gK+6sUXgBvqpBWxAFYCI6sR2u5n+zzgEWAK8BpwE3AZcCcwArgS+GHv2G4PbE8HRgNHlimnhFbLxBGE7N8C/B3wVWBfQileDtwMDAO+Btxou1+Va71lIWk5cDfVvYP8WDYdZUHyEcCbxBs6j5E0WUHZ3g0YB9xYSUMTwvgK8Otih6RfEhbJZ203GvBfY9jeglDm99VBOwT4J+B2YB6wfY0g5H8A/wo8AXRJ2l/SiZKmSJoIbJf6n1zDx+gz2J4BTAQOlvTbCjR9IRMTgBeAn6VrfBTYTtJRkqZKOh7YHXgaOJLIQL5dcR/wySr9+bFsOspiUCuB9YENCVMX2wcQb5jLK10opZLPB06V9O8l/TsDCwjFt29KYR4P9AO+VUJ/IXBmrmmF7ezvYyTNTn/fQJjph9D31sQHgcWS/lgH7ZeJZ50MTAX2Il4G/1MktD0ZOJYYr/0kLS3SpMU7zfbGvea+BLZHA18kXkjvBH5PWBjnZ65Ob+ba9peATwBjJD1WhYWWyoTtTYlM4vXJgrurjAlJz9m+hrDmDiKsqj6H7Y2AScAxwM7A88BXgIsIV3+hpOGJdgzxPJcB1wNnAwcS6/ku4MT0XEOIl9s4Yp3/HPi8pKdKWJgL7Gt7YNFlLhnLrL1pfJQpqDlErcqlti8m3iRX5ZithMziGlah/yJgA+C0XH3FOMJau7eE/gFgFvBpwszML+Sf5P7+RTq2Q0GNouQtXoTticAY4ApJC2zPT10jKSgo2+8hFsUbwMfLlFMeVayMhmF7GqE85wHXEMHsvwfOI5TGeYm0obm2fSVwNDAeeMn21onulZI4Uatl4m8Sb9+uwHsey9OxLVks2wMId34/wp39ErAVseD3AAYSY5IhCxvsBvwv8APg68BhxNhvaPtq4JuEophFKN8PA9elv4t4nFAsXemaeVQay6bx0UNBSXrW9nHAhYTWfhCYCZxB9cU4Lx2HFjtSIPlvCbP9F6ltQHroBWVZGkk32h5ECOMsSddWuO/96XhgFd4yPiYRQeZ6MVfSd6r070Sky6vdcxPgUsIMPic1Z2NVFoeaBGxEBL/7rJAxBZ6/AFwMTMleIravJRbBZNvTkhXV0FwDn0/HYhmG6R6TvpKJCcCfgTsqnJvx0p+Qfwi3vB34CqGczga+mJuT2YTignIFtQ9hec9L9OcCTxHhiBHAIZLuSX0bEGGCA21vJOm1PAOSXrO9jJD1ooKqNJZN46O0zEDSNwnttlpzGW3unGdsv0hBaFOAcTphleXN820JzfxslctmD/pAJQJJf7L9GpHhqoVJwA510GWYBXynSv/mQC337hxgG+BkSVlaPW9BFTE+Ha+ri8MmwPY2hHV0D1HhvSq1K+lB248RlvT2wO8anWtJ9QaZWyoTyV06DPhBcSGW4ELCQrxNUp8nImzvBxxFZHvPy/dJ+pHtp4jnK1NQx2ZKIdEvtb2QUP7/nCmF1LfM9uPE3A4gkjFFLCVkPc9ftbFsGh+NfupSC/OAg2xvJ+mZ1DaR0KQXSVqYo90iHSvWwhAPupzuBV0JLxKmb1VI2rEWTYPYgPIJBcD2UCKb9AjhMmV8LLL9ArCL7U0yNy6VIexGxAFrBt4L95oJbCXp8FzbSMI1uEbSibn2iUQQfgdJi4k5GgBMr5BSz6yZfNatkbmuF62WiUMIt6iqe2f7VOB0Ithes3wknbOQxl5+/yXpU1X6T0rHaRX6XyAW89x0/wGE7PxWUpnFtwMxJj1ie6lvqaQXKtzrNULW8ygdy2bz0WwF9RDhPw4Fnkla9nxgcTrmkcVONiq7UDKxhwOPSnq9xn03zl2vL/EqMUmVcCUxxqeVpNTnE2M1gu4MyLvS8eVe1DYtIQQjjzMIa2ZQoX0yMDspJ4hU8QrgtgrX3pZQUotybY3Mdb1otUx8jEj83FrpJNsnE7GeR4Gxkl6sg2+A31DlZVWCRTX6DyWU0JwK/e8BnsjFKPcisvJ3Fglt70hYQLek0oF830BgV3q6b3lsQsh6HpXGsql89E+da/RRYM6Ez8y5YURwchKhFT8r6eXCadni2IJyDCEEtaIpD5BSyYOA/6vFZwtiUIuJmpuyex1FZPkA7shlm4oYSbeCyiyVjW2vX6VOqAwvAZvl7v9eIkV+LbBLrv1AIrj/qfS7P2H1/LFMKaaiya2B7xesq0bmul60TCZsrw98BLhLUmncMMnHDOBhQjktLqMrg6Sx9dLWQlL27ybkr8fatL07MSc/yTVnblVZbVi1urERRAKkdEyT2z4QeC7XVm0sm8pHf2goRlALq7I7tt9NZIQeJiL4RTwL/IH4jKYMXelY6+Pk9xEPNrcO/ibR3BjUE5QHijcFLiFckdmEy1bEjsBYYmIAkLTY9u8SjwfRM6icv8d6BYWxhJyCIp71NiJgPCrXfjqhbB5Pv4cSKd4NSq6Z0UMoujwamet60UqZOJBQfKXune0zibjTXCJ4W0/pSKvwZvq3eYX+f0nHsvhTmcU1qkpfJn+VlP7mhEWUT5BVG8um8lHTxXNje0A9QgzsUCJDsykwucwSSOnnnwFH2t5VUrHgMHuL1nob75eOP67FXAtiUPcCZ7nn1hQmTPCLJZ1ZdqLtvQnlUQyUzyDqza6yfUSxZii90Q4DjgM+nutaZUHZ3gz4h0T3rlz7YCI1PCZ3XiY0gxL9KjfP9klE7dLtkoof9dY91/WixTIxgXBjv1sktv1vxEfwvwIObcCtawkkLU8B4yG2xyr3EXqak+PSz6KCWka8JIqoZrnUSjoMJzLVj+baKo5ls/moJwbVRXcg7hJgTxW+Ts+QUpK/BvZMN7xVUo9CxBxuJtyQD9GzIjp7iGm2hxHuzyOS/rtAdyixUMoGq9W4m6iR2YXEv+3hwMlEOrXazg/ZAt+9kN69ghi/44H5tu8g3l7LiaDoaKKK/PrC9ZYAA5P5/Y/AfEl3p6K5QYlmEjBHUr7qNxOa7wE32b6esGIOIHYbmENJJXEv5rpeNF0mklIfD9wj6fk8oe1PE/P0JlEoeGqJO75Q0szeP1KvcAFhfd9q+1uEizWa+IbxMcJKfADA9oaE+ztP0rKSa40isq9lQfCRRKxuQQU+uohMXVakW20sm85HPZ+HdNFtUu8D/LIG/UOEy7CSCNJWw81E3OGYYkdaRKcQQngKUebQladJlsJ4wmV5usa9mo40CbOJatoMWWB8UlktT+7cvxAuYn8isJi1r5R0AlG09n3imU8iLKI9iVKAY+n5rdmSdNwi9V2Sfr8MbObYe+lYoro3j1HEG+8TRHD4cCKIviVR5XtArjyiiEbmul60Qib2JpR72fdi2R5e6xMKXCX/ju310/QSkv6TmMffE9nRiYSh8H6641PZvAwD3kGJZWJ7B0Imyvo2JAo+51WxfA9mdbe92lg2nY/VdjNw+R5QPyYG56Z08wwLJA2p8FB1w92fTYyU1NBmeLZPISyOAyRVy0K0DI7K75mVrMo+5GM4Ebg+mwiA7yFphe1dCUWYLbTBmRAka2spMZejSi/cBjRbJmyfT8TIdpZUM5myNsOxl9Z1RB3RpS2+15bADZLG5dr6dCxXWVDu3gPqPsLvnEL3HlBzgA8k0n2J+Mr+TeJhBrXdoR5wfIM2Fbi5XcoJovIeeCC5HO3EknScDFyWC3Zn8ZrTgMsLb6ghRDq+alasDWi2TEwAHlpXlJPt9VPiodg+jtjh4WlydXUtxAlEfDGPPh3LfAzqy0QcYUr6/aTt8cQeUItS0d9S4P6y1GdvkWIZRwNjbA+o5hYVsCORWZrZLF7WAOcA59qe0syxaRCZub+M1avQszTwSnpm2DKraa3axrnZMiFpj+Zy2HIMAe537Mv2G8Jz6SJiUH8AjlCL9z9LLtkbkn6eb+/rsczqoLI9oPYp9Of3gBpBaM6mL8AUW2houwZJC8h9x9VOSHrdsZXITkDpNiJ9wMMrRGq92P56WXtCpqDWNgtqnZeJNcQyIpu6L5EsWEHUdF1MVPs/X+XcZmEb4rOltiKzoKrtAfXT9HcXa9mbdm2CpOdqU61dUOyA2PRdEDtYM6QatbbuQaXcd3LtRBaDyu8BBay2B1SmlPaiu3q4gw466KDlyCyoevaA6k/U7GwDvCppSR/y2UEHHbwNsR6sykQdR1QSPwycRQQaX6W7xP0sYvOyZ4gisg466KCDlqL0f3XpoIMOOlgb8P8t/H9fj4f9awAAAABJRU5ErkJggg==\n", + "text/latex": [ + "$\\displaystyle \\frac{d}{d t} v{\\left(t \\right)} = \\frac{\\frac{A C_{W} \\rho v^{2}{\\left(t \\right)}}{2} - g m}{m}$" + ], + "text/plain": [ + " 2 \n", + " Aâ‹…C_Wâ‹…Ïâ‹…v (t) \n", + " ───────────── - gâ‹…m\n", + "d 2 \n", + "──(v(t)) = ───────────────────\n", + "dt m " + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "F_W_expr = rho/2 * v(t)**2 * A * C_W\n", + "\n", + "DGL_v_W = sp.Eq(v(t).diff(t), (F_W_expr - F_G_expr)/m)\n", + "DGL_v_W # Kontrolle" + ] + }, + { + "cell_type": "markdown", + "id": "a535839b", + "metadata": {}, + "source": [ + "Lösung der DGL (kann einige Sekunden dauern):" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "9f7bcc8a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/latex": [ + "$\\displaystyle - \\frac{\\sqrt{2} \\sqrt{\\frac{1}{A C_{W} g m \\rho}} \\log{\\left(- \\sqrt{2} g m \\sqrt{\\frac{1}{A C_{W} g m \\rho}} + v{\\left(t \\right)} \\right)}}{4} + \\frac{\\sqrt{2} \\sqrt{\\frac{1}{A C_{W} g m \\rho}} \\log{\\left(\\sqrt{2} g m \\sqrt{\\frac{1}{A C_{W} g m \\rho}} + v{\\left(t \\right)} \\right)}}{4} + \\frac{t}{2 m} = C_{1}$" + ], + "text/plain": [ + " _____________ ⎛ _____________ ⎞ _______\n", + " ╱ 1 ⎜ ╱ 1 ⎟ ╱ 1\n", + " √2â‹… ╱ ─────────── â‹…log⎜- √2â‹…gâ‹…mâ‹… ╱ ─────────── + v(t)⎟ √2â‹… ╱ ──────\n", + " ╲╱ Aâ‹…C_Wâ‹…gâ‹…mâ‹…Ï âŽ â•²â•± Aâ‹…C_Wâ‹…gâ‹…mâ‹…Ï âŽ â•²â•± Aâ‹…C_Wâ‹…\n", + "- ─────────────────────────────────────────────────────────── + ──────────────\n", + " 4 \n", + "\n", + "______ ⎛ _____________ ⎞ \n", + " ⎜ ╱ 1 ⎟ \n", + "───── â‹…log⎜√2â‹…gâ‹…mâ‹… ╱ ─────────── + v(t)⎟ \n", + "gâ‹…mâ‹…Ï âŽ â•²â•± Aâ‹…C_Wâ‹…gâ‹…mâ‹…Ï âŽ t \n", + "─────────────────────────────────────────── + ─── = Câ‚\n", + " 4 2â‹…m " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_v_t_W = sp.dsolve(DGL_v_W, v(t))\n", + "res_v_t_W # Ergebnis" + ] + }, + { + "cell_type": "markdown", + "id": "664cfd60", + "metadata": {}, + "source": [ + "Hier bestätigt sich die Vermutung aus der Vorüberlegung. Die Lösung der nichtlinearen DGL lässt sich nicht explizit nach $v(t)$ auflösen. Die Gleichung ist auch bereits so sehr komplex. Wir beschließen daher, dass die geschlossene analytische Betrachtung ab hier nicht mehr sinnvoll ist. Möglicherweise gibt es noch mathematische Tricks, um eine geschlossene analytische Lösung zu erhalten, aber dies ist keine Mathematikvorlesung. Wir geben uns daher in dieser Aufgabenstellung für diese Ãœbung mit der analytischen exakten Formulierung für die Geschwindigkeit im Kräftegleichgewicht zufrieden. Diese ist noch gut überschaubar und liefert uns den Endzustand, falls die Fallhöhe hoch genug sind. Die Verläufe für die Geschwindigkeit und Höhe mit der Zeit wollen wir nun nicht mehr analytisch lösen. Wir sind dennoch an den Verläufen interssiert. Das bringt uns zum Ausblick.\n", + "\n", + "## <font color='blue'> **Ausblick**\n", + "\n", + "Wir haben gesehen, dass eine analytische Betrachtung von Differentialgleichungen abhängig vom Typ der DGL (hier nichtlinear) sehr komplex und nicht explizit lösbar werden kann. Dies gilt insbesondere, wenn wir noch weitere Dinge berücksichtigen möchten, wie z.B. die Abhängigkeit der Lutdichte von der Höhe, das Öffnen eines Fallschirms (also eine zeitliche Variation von $A$ und $C_W$) usw. \n", + "Wenn wir die analytische Exaktheit aufgeben, lassen sich die gesuchten Werte für gegebene Fälle aber gut numerisch berechnen. Dies ist der Grund, warum im Ingenieurswesen viel auf numerische Simulationen zurückgegriffen wird, wenn die Modelle komplex werden. Um zu einer Lösung für unser Fallmodell zu kommen, werden wir in der kommenden Ãœbung ein einfaches numerisches Verfahren kennenlernen, implementieren und somit ein sinnvolles (wenn auch nicht mehr analytisch exaktes) Ergebnis zu erzielen.\n", + " \n", + "## <font color='blue'> **Schlussbemerkung**\n", + " \n", + "Auch wenn wir in der letzten Aufgabe für uns an eine Grenze der (automatisierten) analytischen Betrachtung gestoßen sind, zeigen dieses Ãœbungsnotebook und das SymPy-Grundlagen-Notebook, wie hilfreich das digitale Werkzeug CAS (Computer-Algebra-System) in Form von *Python* mit *SymPy* bei der Herleitung von analytischen Ausdrücken und der Lösung von Gleichungen und Differentialgleichungen sein kann.\n", + " \n", + "## <font color='blue'> **Aufgaben zum selbst probieren**\n", + " \n", + " \n", + "* Leite analog zu den obigen Rechnungen weitere eindimensionale Bewegungsgleichungen $v(t)$ und $s(t)$ für beliebige Kraftverläufe über $a = \\frac{F(v,t)}{m}$ her. Diese können von der Zeit oder Geschwindigkeit abhängig sein, das ist nicht grundsätzlich problematisch. Das Problem in der letzten Herleitung oben war die **nichtlineare** (quadratische) Abhängigkeit von der Geschwindigkeit. Hier ein paar Anregungen (beide sind explizit analytisch lösbar):\n", + " * Beschleunigung eines Fahrzeugs, wobei die beschleunigende Kraft zeitabhängig ist. (z.B. $F(t) = F_{max} \\cdot e^{-t}$, also zu Beginn viel Gas ($F_{max}$), nach weiterer Zeit weniger Gas)\n", + " * Beschleunigung eines Fahrzeugs, wobei die beschleunigende Kraft linear Geschwindigkeitsabhängig ist (z.B. $F(v,t) = F_{max}-v(t) \\cdot \\frac{F_{max}}{v_{max}}$, also $F_{max}$ zu Beginn, dies lässt mit steigender Geschwindigkeit linear nach, bis bei der gewählten Maximalgeschwindigkeit $v_{max}$ keine Kraft mehr ausgeübt wird)\n", + "* Nutze *SymPy* zum Ãœberprüfen und Nachvollziehen einiger **bereits händisch gelöster Aufgaben** oder Herleitungen aus anderen Fächern, z.B. Physik. Du solltest aber immer in der Lage bleiben, die Aufgaben selbst händisch zu lösen, Gleichungen aufzustellen, umzuformen, einzusetzen und aufzulösen. Nutze die Hilfe durch CAS also verantwortungsvoll.\n", + "\n", + "Füge deiner Kopie des Notebooks beliebig viele Codefelder hinzu, um dir beliebig viele Zwischenschritte anzeigen zu lassen." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}