From acd11ab361a98eb6eb598b4c675d8be222c19871 Mon Sep 17 00:00:00 2001
From: Malte Woidt <m.woidt@tu-braunschweig.de>
Date: Tue, 17 Jan 2023 23:00:46 +0100
Subject: [PATCH] Uebung09

---
 Uebung09/Grundlagen_fstring_added.ipynb | 1150 ++++++++++++++++++
 Uebung09/SciPy_Grundlagen.ipynb         |  657 +++++++++++
 Uebung09/Uebung_09.ipynb                | 1028 ++++++++++++++++
 Uebung09/Uebung_09_LSG.ipynb            | 1443 +++++++++++++++++++++++
 4 files changed, 4278 insertions(+)
 create mode 100644 Uebung09/Grundlagen_fstring_added.ipynb
 create mode 100644 Uebung09/SciPy_Grundlagen.ipynb
 create mode 100644 Uebung09/Uebung_09.ipynb
 create mode 100644 Uebung09/Uebung_09_LSG.ipynb

diff --git a/Uebung09/Grundlagen_fstring_added.ipynb b/Uebung09/Grundlagen_fstring_added.ipynb
new file mode 100644
index 0000000..cd317b7
--- /dev/null
+++ b/Uebung09/Grundlagen_fstring_added.ipynb
@@ -0,0 +1,1150 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "7c04a295-5911-4631-bc24-6dc2975f2a35",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Einleitendes Thema**</font>\n",
+    "Python ist eine Programmiersprache, die unter anderem in den Ingenieurswissenschaften weite Verbreitung gefunden hat. Python besitzt einen eingebauten Packetmanager, mit dem Zusatzfunktionalität schnell und einfach installiert werden kann. Z.B. Funktionen zum Auslesen oder Erstellen von Excel-Datein, Anbindun an verschiedene Datenbanksysteme oder Programmbibliotheken zur grafischen Ausgabe. Zum einen können in Python klassische Anwendungen programmiert werden, Python bietet allerdings auch einen interaktiven Modus. Dieser eignet sich sehr gut für Datenanalyse oder das Erstellen von Diagrammen aus verschiedenen Datenquellen.\n",
+    "Python besitzt eine Syntax, die vergleichsweise gut von Menschen lesbar ist und eine strukturierte Darstellung des Quelltextes erzwingen soll. So ist in Python z.B. eine Zeile ein zusammenhängender Ausdruck der mit der Zeile endet, sodass nicht mehrere Programmzeilen in eine Textzeile geschreiben werden können. Zusammenhängende Zeilen bzw. Code-Blöcke werden durch Einrückung der Zeilen mit Leerzeichen definiert.\n",
+    "Python selbst ist ursprünglich eine Scriptsprache, d.h. das Programm wird als Quelltext verteilt und der Benutzer des Programms benötigt einen sogenannten Python-Interpreter, um es auf seinem Computer laufen zu lassen. Das führt dazu, dass Python-Programme relativ unabhängig vom verwendeten Betriebssystem oder der verwendeten Computerarchitektur funktionieren, so lange ein Python-Interpreter für das Zielsystem existiert. Python selbst bietet viel Funktionalität um Programme zu schreiben, die unanhängig des verwendeten Betriebssystems funktioniern. Ob diese benutzt werden liegt allerdings auch beim Programmierer.\n",
+    "Mit Python lassen sich auch Programmteile steuern, die in anderen Programmiersprachen geschrieben wurden. Da Python-Programme selbst relativ langsam sind, ist diese Möglichkeit für eine Verwendung im wissenschaftlichen Rahmen sehr wichtig, da oft große Datenmengen bearbeitet werden."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4356c612-2040-4567-8d97-b11bcc16d234",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Ãœbersicht - Python Grundlagen**</font>\n",
+    "Das folgende Notebook beschreibt einige Grundlagen der Programmiersprache Python, die für die erste Übung benötigt werden. Es ist eine Art mini-Referenz von den bereits verwendeten Teilen der Programmiersprache. Im laufe der ersten paar Übungen werden wir die einzelnen Abschnitte des Dokuments noch etwas erweitern, sodass es zum Schluss eine Referenz der strukturierten Programmierung in Python darstellt, die alle in den Übungen enthaltenen Aspekte der Programmiersprache enthält. Unter den einzelnen Abschnitten findest du einige Dinge etwas detaillierter beschrieben, als in den Übungen besprochen. Insgesammt sind allerdings alle Themen kurz gehalten. Das Dokument soll nicht als Eratz zur Übung dienen, sondern als Nachschlagewerk für die Bearbeitung der Aufgaben."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "9c407ee4-f407-4c18-ab8b-dfbbea4a8680",
+   "metadata": {
+    "tags": []
+   },
+   "source": [
+    "### <font color='blue'>*Lernziele des Notebooks*</font>\n",
+    "Das Notebook ist in mehrere thematische Abschnitte gegliedert.\n",
+    "\n",
+    "* [Syntax](#Syntax)\n",
+    "* [Literale](#Literale)\n",
+    "* [Variablen](#Variablen)\n",
+    "* [Wichtige Funktionen](#Funktionen)\n",
+    "* [Operatoren](#Operatoren)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1a43032b-9076-4f88-92cc-98ddb86cfa76",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'> **Syntax** </font> <a name=\"Syntax\"> </a>\n",
+    "## <font color='blue'>*Kommentare*</font>\n",
+    "Es ist möglich, den Quelltext direkt zu kommentieren. Kommentare dienen nur der Nachvollziebarkeit des Quelltextes und werden vom Python-Interpreter ignoriert.\n",
+    "Es gibt es zwei Möglichkeiten Kommentare zu schreiben, die beide in der nächsten Code-Zelle dargestellt sind. Mit einem #-Zeichen, wird der Rest der Zeile zum Kommentar. Der Kommentar endet also mit dem nächsten Zeilenumbruch. Um mehrzeilige Kommentare zu schreiben, kann ein dreifaches Anführungszeichen am Anfang einer Zeile verwendet werden. Der Kommentar endet durch drei weitere Anführungszeichen. Ein mehrzeiliger Kommentar muss innerhalb der selben Code-Zelle beendet werden, in der er beginnt, ansonsten wird ein Fehler ausgelöst\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 144,
+   "id": "25992d88-dc99-461e-a987-cd611ff70c04",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "5\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=3+2 #das hier ist ein Kommentar.\n",
+    "#eine ganze Zeile als Kommentar\n",
+    "\"\"\"\n",
+    "das ist ein \n",
+    "mehrzeiliger Kommentar. Er kann sich über beliebig\n",
+    "viele Zeilen der Zelle erstrecken\n",
+    "\"\"\"\n",
+    "print(x)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1448301e-51b6-4e3d-934f-248d2a0934c7",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*Reihenfolge der Auswertungen in einer Zeile*\n",
+    "Wenn mehrere Operatoren in einer Zeile stehen, bzw. mehrere Funktionen ausgewertet werden müssen, kann die Reihenfolge in der das passiert wichtig werden. Operatoren folgen den Punkt vor Strich Rechenregeln. Trotzdem kann die Reihenfolge manchmal sehr schwer nachvollziebar sein. Es ist daher möglich, wie in mathematischer Schreibweise, runde Klammern einzusetzen, um die Auswertereihenfolge festzulegen"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 145,
+   "id": "ec2c445f-2763-4608-bda0-33e044f900e7",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "39\n",
+      "63\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=4+5*7\n",
+    "y=(4+5)*7\n",
+    "print (x)\n",
+    "print (y)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4c49646f-9210-4860-9605-8dfc4f7c59a0",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*Zeilenumbrüche*\n",
+    "\n",
+    "Ein \"Ausdruck\" in Python ist normalerweise eine Zeile im Quelltext"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "id": "640fc218-ed8a-4f24-8e1d-c9a2898559d0",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "14\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=3+4+7\n",
+    "print (x)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "22ed06fe-2e87-448f-bb6c-7f592c1fee65",
+   "metadata": {},
+   "source": [
+    "Sollte es passieren, dass eine Zeile zu lang wird und aus optischen Gründen auf mehrere Zeilen aufeteilt werden soll, kann mit einem \\ am Ende der Zeile der folgende Zeilenumbruch ignoriert werden, er existiert für den Python-Interpreter nicht. Das \\\\-Zeichen muss am Ende der Zeile stehen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 137,
+   "id": "12a585f2-7dcf-49e9-af78-6684cf5e6049",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "14\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=3+4+\\\n",
+    "   7 #Die nächste Zeile darf eingerückt werden, muss aber nicht. Es sieht allerdings besser aus\n",
+    "print (x)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2f0b7f16-d7b0-46b2-951a-227763a91d8b",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Literale**</font> <a name=\"Literale\"> </a>\n",
+    "\n",
+    "Literale sind feststehende Werte, die in den Programmcode eingebaut werden können. Z.B. Zahlen oder Texte. Sie können verwendet werden, um Variablen einen initialen Wert zu geben oder Textabschnitte zu definieren, die im Rahmen der Benutzerinteraktion vom Programm ausgegeben werden. Mit Literalen können diese Werte in einer für den Programmierer praktischen Formatierung eingegeben werden. Gerade bei numerischen Literalen gibt es daher verschiedene Möglichkeiten eine Zahl zu schreiben, die in unterschiedlichen Szenarien sinnvoll werden können. Literale, bzw. die Werte die sie beschreiben, haben, wie auch Variablen, einen Typ. Literale sind unveränderbare (bzw. konstante) Werte. Das heißt, sie können niemals auf der linken Seite einer Zuweisung stehen.\n",
+    "Einige Beispiele:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 138,
+   "id": "af634aba-0393-4480-9905-9b05d23ab8a9",
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "SyntaxError",
+     "evalue": "cannot assign to literal (1432500936.py, line 9)",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;36m  Cell \u001b[1;32mIn [138], line 9\u001b[1;36m\u001b[0m\n\u001b[1;33m    3=x ##Funktioniert nicht. Ein Literal darf nicht auf der linken Seite einer Zuweisung stehen\u001b[0m\n\u001b[1;37m    ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m cannot assign to literal\n"
+     ]
+    }
+   ],
+   "source": [
+    "3 #Eine ganze Zahl\n",
+    "7e9 #Eine Fließkommazahö\n",
+    "5.234 #Eine Fließkommazahl\n",
+    "0b1001010 #Eine ganze Zahl in binärer Schreibweise\n",
+    "0o2347 #Eine ganze Zahl in oktaler Schreibweise\n",
+    "0xAF #Eine ganze Zahl in hexadezimaler Schreibweise\n",
+    "\"Ich bin eine Zeichenkette\"\n",
+    "(2+4j) #Eine komplexe Zahl\n",
+    "3=x ##Funktioniert nicht. Ein Literal darf nicht auf der linken Seite einer Zuweisung stehen"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1afdb19b-0b12-4aed-b642-5d8cd7317260",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*Numerische Literale*</font>\n",
+    "\n",
+    "Es gibt drei Arten von numerischen Literalen in Python:\n",
+    "\n",
+    "* Fließkommawerte\n",
+    "* ganzzahlige Werte\n",
+    "* imaginäre Werte\n",
+    "\n",
+    "\n",
+    "Bei allen numerischen Literalen ist ein führendes \"-\"-Zeichen für eine negative Zahl zulässig. Bei genauer Betrachtung ist das Minus jedoch nicht Teil des Literals, siehe Abschnitt Operatoren.\n",
+    "\n",
+    "### *Fließkommawerte*\n",
+    "\n",
+    "Fliekommawerte beschreiben eine Zahl mit Nachkommastellen. Fließkommazahlen besitzen in Python den Typ 'float'. Die Nachkommastellen dürfen auch alle 0 sein, womit der Wert technisch gesehen eine Ganzzahl ist. Die Unterscheidung bei Computern liegt allerdings nicht nur im Vorhandensein von Nachkommastellen, sondern auch in der Arithmetik und dem möglichen Wertebereich, der sich von Ganzzahlen unterscheidet. Wie groß oder klein eine Fließkommazahl ist, hängt auch vom Verwendeten Prozessor ab. Normalerweise liegt der gültige Bereich zwischen plus und minus 10 hoch 308.\n",
+    "\n",
+    "Fließkommazahlen werden in Python als Kommazalen in englischer Notation (mit \".\" als Komma) eingegeben."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "9a30ddf4-cc88-403f-8cf7-ba18dbf69d3f",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "x=3.5434 #ein Beispiel für eine Kommazahl\n",
+    "y=-2.4 #eine negative Zahl kann mit einem führenden Minus angegeben werden"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cad863d6-84f2-4b62-83f0-6805d83a23ef",
+   "metadata": {},
+   "source": [
+    "#### Einige praktische Hinweise\n",
+    "Falls die Zahl mit einer 0 vor dem Komma beginnt, kann die 0 optional weggelassen werden. Gleiches gilt, für die 0 nach dem Komma, falls alle Nachkommastellen 0 sind. Außerdem kann am Ende der Zahl optional ein \"e\" gefolgt von einer ganzen Zahl angegeben werden. Die Zahl wird als Exponent zur Basis 10 interpretiert (ein e3 nimmt die eingegebene Zahl mal 10 hoch 3. Das \"e\" kann dabei groß oder klein geschrieben werden).\n",
+    "\n",
+    "Es ist zulässig Unterstriche \"_\" an beliebigen Stellen der Zahl zu verwenden, um Ziffern zu gruppieren. Die Unterstriche werden bei der Interpretation ignoriert. Sie dienen nur dem Programmierer, um z.B. Zahlen mit vielen aufeinanderfolgenden identischen Ziffern besser lesbar zu machen"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 139,
+   "id": "4b84c21c-3065-4aba-a69a-f77fdfb6e038",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0.43\n",
+      "32000.0\n",
+      "0.00032\n",
+      "1.000000001\n",
+      "3.0\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=.43 #führende Nullen können optional weggelassen werden ist identisch mit x=0.43\n",
+    "y=3.2e4 #Hat als Ergebnis 3.2*10**4\n",
+    "z=3.2E-4 #Das funktioniert auch mit negativen Zahlen. Das e darf wahlweise groß oder klein geschrieben werden\n",
+    "a=1.000_000_001 #Unterstriche können zur besseren Darstellung für den Programmierer verwendet werden, um Ziffern zu gruppieren. Sie werden ignoriert\n",
+    "b=3. #eine 0 nach dem Komma kann weggelassen werden\n",
+    "print(x)\n",
+    "print(y)\n",
+    "print(z)\n",
+    "print(a)\n",
+    "print(b)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "edca5fcc-10a6-475c-afa4-6fa165b5bf9c",
+   "metadata": {},
+   "source": [
+    "Eine Besonderheit der Notation mit dem \"E\" als Zehnerpotenz ist, dass der resultierende Wert immer als Fließkommazahl interpretiert wird, auch wenn er keine Nachkommastellen besitzt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "cf98f7e0-b393-4104-a0f7-f5faca365f86",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "<class 'float'>\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=3e5#Wird als Fließkommazahl interpretiert\n",
+    "print(type(x))# gibt den Typ von x aus"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b44b3fe4-7146-4d79-8a53-3ea903000cb5",
+   "metadata": {},
+   "source": [
+    "### *Ganze Zahlen*"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c3a6fa24-f6a2-44f2-b209-7a9827f7f13d",
+   "metadata": {},
+   "source": [
+    "Für die Eingabe von ganzen Zahlen gibt es mehrere Möglichkeiten. Der Wertebereich der ganzen Zahlen in Python ist unbegrenzt, ihr Typ heißt 'int' (Kurzform von Integer). Die einfachste Möglichkeit ist, die Zahl einfach im Dezimalsystem einzugeben. Auch hier dürfen \"_\" Zeichen zur Zahlengruppierung eingesetzt werden, die vom Python-Interpreter ignoriert werden. Führende Nullen, also die Zahl 15 als 015 zu schreiben, ist nicht zulässig!"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "id": "30f6e8d0-907c-4ba1-bdcd-c4969634ecd9",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "x=1032454 #Einge ganze Zahl\n",
+    "y=-223_322_023_000 #Eine negative Zahl. Zur besseren Lesbarkeit des Quelltextes in 3er Gruppen gruppiert\n",
+    "z=0 #Die Null ist in Ordnung"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "id": "8d9e9c64-acd5-499c-b4a9-d64a910ff137",
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "SyntaxError",
+     "evalue": "leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers (1519621152.py, line 1)",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;36m  Cell \u001b[1;32mIn [15], line 1\u001b[1;36m\u001b[0m\n\u001b[1;33m    a=010\u001b[0m\n\u001b[1;37m        ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers\n"
+     ]
+    }
+   ],
+   "source": [
+    "a=010 #Diese Zelle löst einen Fehler aus"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a7cd09f0-0438-4d43-8acf-af5386ed22e2",
+   "metadata": {},
+   "source": [
+    "#### Eingaben in anderen Zahlensystemen\n",
+    "Neben Eingaben im Dezimalsystem sind auch Zahleneingaben im binärsystem (mit den Ziffern 0 und 1), im Octalsystem (mit den Ziffern 0...7) und im Hexadezimalsystem (mit den \"Ziffern\" 0..9 A..F) möglich. Dazu werden vor die Zahl 0b für binär, 0o für Octal pder 0x für Hexadezimal geschrieben. Alle Buchstaben dürfen hierbei wahlweise groß oder klein geschrieben werden. Der resultierende Wert ist unabhängig der Eingabeform immer ein normaler Zahlenwert. Die Ausgabe von Ganzzahlen erfolgt normalerweise im Zehnersystem (was einstellbar ist). Die folgende Zelle definiert den gleichen Wert über unterschiedliche Literale.\n",
+    "\n",
+    "Diese Möglichkeit existiert, da Computer im allgemeinen im Binärsystem rechnen und dadurch manche Werte in diesen Zahlensystemen aussagekräftiger oder praktischer dargestellt werden können."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "id": "c630976e-2a71-4332-9b2f-d8ab469bab65",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "4863\n",
+      "4863\n",
+      "4863\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=0x12FF #Eine Hexadezimale Zahl\n",
+    "y=0o11377 #Eine Oktalzahl\n",
+    "z=0b0001_0010_1111_1111 #eine binäre Zahl\n",
+    "print (x)\n",
+    "print (y)\n",
+    "print (z)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4a08a900-fff9-4e47-be61-3d5d3c9be955",
+   "metadata": {},
+   "source": [
+    "### *Imaginäre Zahlen*\n",
+    "Python kann auch mit imaginären Zahlen umgehen. Statt einem \"i\" wird allerdings ein \"j\" an die imaginäre Zahl angehängt. Der Type der komplexen Zahlen in Python heißt 'complex'. Es gibt kein spezielles Literal, um komplexe Zahlen mit realteil zu erzeugen. Diese müssen durch Addieren von Real- und Imaginärteil selbst \"zusammengebaut\" werden. Damit z.B. bei komplitzierteren Ausdrücken mit Multiplikationen etc. keine Fehler passieren, ist es empfehlenswer,t eine Imaginäre Zahl mit Realteil in einer Klammer zu schreiben, wie bei der Variable z. Das ist aber kein Muss. Komplexe Zahlen sind in Python immer aus zwei Fließkommazahlen zusammengesetzt."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "id": "d56aec6e-c337-4d28-bc9c-f33bfc81dfca",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "x=12j#Eine komplexe Zahl\n",
+    "y=3+4j#Eine komplexe Zahl mit dem Realteil \n",
+    "z=(3+4j)#Am besten die ganze komplexe Zahl in Klammern schreiben, um Fehler zu vermeinden"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6d16809c-aa29-4e74-a5c4-70ba94c33e9f",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*Zeichenketten*</font>\n",
+    "Zeichenketten haben in Python den Typen \"str\". Es sind Aneinanderreihungen von lesbaren Buchstaben beliebiger Länge. Python unterstützt die meisten Sonderzeichen (verwendet sogenannte Unicode-Zeichen). Es ist zu beachten, dass Eine Zeichenkette auch Ziffern enthalten kann. Auch wenn die Zeichenkette nur Ziffern enthält, bleibt sie eine Zeichenkette. Python unterscheidet, wie die allermeisten Programmiersprachen, Zeichenketten strikt von Zahlen. Man kann mit diesen Zeichenketten nicht rechnen (man kann sie allerdings in Zahlen umwandeln). Eine Zeichenkette wird in einfache oder doppelte Anführungzeichen gesetzt. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "id": "4af6d5fd-c62a-4a34-814e-4c6c29762e2e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "a=\"Ich bin ein Text\"\n",
+    "b='Ich bin ein Text'#beide Möglichkeiten sind gleichwertig"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "104718ca-9145-46b1-8a05-d839aa0da608",
+   "metadata": {},
+   "source": [
+    "Ein Problem dabei ist, dass je nach verwendeter Schreibweise das einfache oder doppelte Anführungszeichen nicht innerhalb der Zeichenkette verwendet werden kann, da die Zeichenkette damit beendet werden würde. Aus diesem Grund wird innerhalb von Zeichenketten das \\\\-Zeichen als sogenannter Escape-Character verwendet. Das Zeichen nach dem \\ hat eine besondere Bedeutung. Z.b. kann über \\\\\" Ein Anführungszeichen innerhalb der Zeichenkette als Buchstabe verwendet werden. um ein \\ als Buchstaben zu erhalten muss \\\\\\\\ verwendet werden. Über diesen Mechanismus werden auch weitere Zeichen dargestellt, die ansonsten nicht verwendbar wären. ein \\n ist zum Beispiel ein Zeilenumbruch. Es gibt neben dem \\n noch weitere sogenannte Steuerzeiche. Die nächste Zelle soll das Verhalten verdeutlichen"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "id": "0a8ec550-dab3-45e6-9c22-426441d68709",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Ein doppeltes Anführungszeichen: \". \n",
+      "ein einfaches Anführungszeichen kann in dieser Zeichenkette einfach geschrieben werden ' es ist allerdings auch als ' möglich\n",
+      "Hier ist ein \" einfach. Ein einfaches Anführungszeichen muss hier ein ' sein\n",
+      "Ein Rückstrich ist nur durch \\ schreibbar\n"
+     ]
+    }
+   ],
+   "source": [
+    "a=\"Ein doppeltes Anführungszeichen: \\\". \\nein einfaches Anführungszeichen kann in dieser Zeichenkette einfach geschrieben werden ' es ist allerdings auch als \\' möglich\"\n",
+    "b='Hier ist ein \" einfach. Ein einfaches Anführungszeichen muss hier ein \\' sein'\n",
+    "c=\"Ein Rückstrich ist nur durch \\\\ schreibbar\"\n",
+    "print(a)\n",
+    "print(b)\n",
+    "print(c)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "08406a63-b7bf-4b99-8d7d-acc8f95b5a37",
+   "metadata": {},
+   "source": [
+    "### Weitere Möglichkeiten\n",
+    "Es gibt in Python noch weitere Möglichkeiten rund um das Thema Zeichenkettenliterale. Wie bei den ganzen Zahlen ist allerdings nur die Schreibweise eine andere.\n",
+    "\n",
+    "Sehr nützlich ist der \"f-String\". Dieser wird mit ````f\"```` begonnen. Dann können Ausdrücke und Variablen in geschweiften Klammern direkt in den String gesetzt werden und mit einer Formatierungsangabe versehen werden:\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "07f53ca4",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Die Zahl 123.45678 mit nur 1 Nachkommastellen: 123.5, in Exponentialdarstellung mit 3 Nachkommastellen: 1.235e+02\n"
+     ]
+    }
+   ],
+   "source": [
+    "zahl = 123.45678\n",
+    "a = f\"Die Zahl {zahl} mit nur 1 Nachkommastellen: {zahl:.1f}, in Exponentialdarstellung mit 3 Nachkommastellen: {zahl:.3e}\"\n",
+    "print(a)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "661532cf",
+   "metadata": {},
+   "source": [
+    "Für die Formatoptionen stehen sehr viele Optionen zur Verfügung (Bei Interesse gerne entsprechende Dokumentationen ansehen). Hier werden nur die wichtigsten für Fließkommazahlen gezeigt, da sie sie für uns am nützlichsten sind. Mit ````.n```` werden n Nachkommastellen definiert. Dahinter kommt entweder ````f````, ````e````, ````g````, oder ````%````. Die Bedeutung ist:\n",
+    "\n",
+    "|Zeichen|Bedeutung|\n",
+    "|----|----|\n",
+    "|f| Fließkommazahl |\n",
+    "|e| Exponentialschreibweise |\n",
+    "|g| f bei kleinen, e bei großen Exp. |\n",
+    "|%| Prozentwert (z.B. 0.1 wird zu \"10%\" |"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cff61752",
+   "metadata": {},
+   "source": [
+    "Zwei Optionen für Zeichenketten die in Sonderfällen praktisch sein können sind hier noch aufgeführt:\n",
+    "\n",
+    "Es ist möglich Zeichenketten mit drei Anführungszeichen zu beginnen und zu beenden, wie bei mehrzeiligen Kommentaren. Auch hier sind einfache und doppelte Anführungszeichen möglich. Der Effekt ist, dass die Zeichenkette Zeilenumbrüche enthalten kann. Sie ist also für lange Texte besser geeignet. Die Zeilenumbrüche befinden sich als Steuerzeichen in der Zeichenkette, werden also mit print auch ausgegeben\n",
+    "\n",
+    "Außerdem kann vor das erste Anführungszeichen ein R oder r gesetzt werden. Dann wird das \\\\-Zeichen als normales Zeichen interpretiert. Es ist nicht mehr möglich Steuerzeichen oder Anführungszeichen über das \\\\ zu schreiben. Diese Version wird gerne verwendet, wenn eine Zeichenkette keine Anführungszeichen aber viele Rückstriche enthält (z.B. Dateinamen bei Windows-Betriebssystemen)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 141,
+   "id": "29be2463-0542-402e-916d-ce79e3d54a2b",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Es sind auch drei Anführungszeichen möglich, damit sind bis zu 2 Anführungszeichen in Reiche innerhalb der Zeichenkette normal schreibbar \"\". Sie wird durch drei Anführungszeichen beendet\n",
+      "Dieser String kann über mehrere Zelen gehen, was bei langen Texten sehr praktisch ist\n",
+      "bei einem R oder r vor der Zeichenkette ist das \\ ein normales Zeichen. Damit sind allerdings Steuerzeichen und Anführungszeichen nicht mehr schreibbar\n"
+     ]
+    }
+   ],
+   "source": [
+    "a=\"\"\"Es sind auch drei Anführungszeichen möglich, damit sind bis zu 2 Anführungszeichen in Reiche innerhalb der Zeichenkette normal schreibbar \"\". Sie wird durch drei Anführungszeichen beendet\n",
+    "Dieser String kann über mehrere Zelen gehen, was bei langen Texten sehr praktisch ist\"\"\" #geht auch mit einfachen Anführungszeichen. Kann sich über mehrere Zeilen erstrecken\n",
+    "b=R\"bei einem R oder r vor der Zeichenkette ist das \\ ein normales Zeichen. Damit sind allerdings Steuerzeichen und Anführungszeichen nicht mehr schreibbar\"\n",
+    "print (a)\n",
+    "print (b)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a7a36225-e2eb-4dae-8eee-bacc2e6b8ced",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>Boolsche Werte</font>\n",
+    "Boolsche Werte können Wahr oder Falsch sein. Die Zugehörigen Literale sind \"True\" und \"False\". Boolsche Werte werden immer dort verwendet, wo zwischen zwei Optionen unterschieden werden muss. Z.B sind sie das Ergebnis von Vergleichsoperatoren"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 104,
+   "id": "7b7d000c-3d5c-450e-b808-1f59b3e5538b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "a=True\n",
+    "b=False#Literale für boolsche Werte"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "763734b2-222a-45a2-a4c3-dc160db9622c",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Variablen**</font> <a name=\"Variablen\"> </a>\n",
+    "Variablen speichern Werte unter einem Namen, den der Programmierer frei wählen kann (unter Einhaltung einiger Regeln). Eine Varaible wird bei der ersten Zuweisung eines Wertes erstellt. Der Wert kann dabei ein Literal, der Wert einer anderen Variable oder auch das Ergebnis eines Funktionsaufrufs sein. Jede Variable hat einen Typ (z.B. Ganzzahl, Fließkommazahl, Zeichenkette). Sie übernimmt den Typ vom zugewiesenen Wert. Damit besitzt eine Variable also einen Wert und einen Namen (auch als Identität bezeichnet). Der Name einer Variable darf beliebig lang sein und Buchstaben, Zahlen und das Sonderzeichen \"\\_\" enthalten. Er darf nicht mit einer Zahl anfangen. Außerdem sollte er nicht mit einem \"\\_\" angangen, da der Unterstrich am Anfang einer Variablen im Kontext der objektorientierten Programmierung eine spezielle Bedeutung hat. Das ist allerdings eine Übereinkunft bzw. Empfehlung und kein Muss. Nach Möglichkeit sollten Variablen gerade in komplizierteren Programmen sinnvolle Namen gegeben werden! Ohne sinnvolle Variablennamen sind selbst kurze Quelltextabschnitte teilweise extrem schwer nachzuvollziehen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 59,
+   "id": "11133077-4508-4129-9e9a-7d187c9d11ae",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "7\n",
+      "7\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=7 #Erstellt eine Variable mit dem Namen x und weist ihr den Wert 7 als Ganzzahl zu\n",
+    "Variable_2=x #Erstellt eine Variable mit dem Namen Variable_2 und weist ihr den Wert von x zu (das ist in diesem Fall die 7). Auch Variable_2 ist damit eine Ganzzahl \n",
+    "print (x)#Gibt den Wert von x aus\n",
+    "print (Variable_2)#Gibt den Wert von Variable2 aus"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "379be8b7-faae-4697-b890-553fd65d9690",
+   "metadata": {},
+   "source": [
+    "Einer Variable kann jederzeit ein neuer Wert zugewiesen werden. Da Python eine sogenannte schwach-typisierende Programmiersprache ist, kann der neue Wert auch einen anderen Typ besitzen als die Variable. Sie verändert dann ihren Typ. Variablen sind außerdem nicht statisch. Das heißt, sie existieren erst, wenn ihnen ein Wert zugewiesen wird. Vorher ist der Variablenname nicht bekannt. Außerdem können Variablen auch wieder gelöscht werden. Sie hören dann auf zu existieren"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 60,
+   "id": "4a5c12c6-8c5f-4919-86e6-8279f6ce6ddb",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Ich bin jetzt ein Text\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=\"Ich bin jetzt ein Text\" #x kann ein neuer Wert zugwiesen werden. Der Wert kann einen anderen Typ besitzen. x war vor der Zuweisung eine Ganzzahl, jetzt ist x eine Zeichenkette\n",
+    "print (x)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 61,
+   "id": "6c9f0d01-5909-41f7-a1a0-e54ef3ab4c8f",
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "NameError",
+     "evalue": "name 'x' is not defined",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
+      "Cell \u001b[1;32mIn [61], line 2\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m(x) \u001b[38;5;66;03m#Löscht die Variable x\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28mprint\u001b[39m (\u001b[43mx\u001b[49m)\n",
+      "\u001b[1;31mNameError\u001b[0m: name 'x' is not defined"
+     ]
+    }
+   ],
+   "source": [
+    "del(x) #Löscht die Variable x\n",
+    "print (x) #Löst jetzt einen Fehler aus, da keine Variable mit dem Namen x bekannt ist"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ce8fbb20-8f01-459e-b952-38e304dc5346",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Wichtige Funktionen**</font> <a name=\"Funktionen\"> </a>\n",
+    "Funktionen werden auch als Methoden, Routinen oder Unterprogramme bezeichnet. Über sie wird ein großer Teil der Funktionalitäten von Python bereitgestellt.\n",
+    "Funktionen besitzen einen Namen, der den gleichen Regeln wie Variablennamen unterliegt.\n",
+    "\n",
+    "Das Prinzip der Funktionen soll an einem Beispiel erklärt werden:\n",
+    "Die Funktion print gibt einen Wert in Textform aus. Damit sie einen Wert ausgeben kann, muss sie aufgerufen werden und benötigt den auszugebenden Wert (z.B. ein Literal, der Wert einer Variablen, etc). Optional können Funktionen auch einen Wert als Ergebnis zurückliefern, was print nicht tut. Aufgerufen werden Funktionen über ihren Namen, gefolgt von runden Klammern. Innerhalb der runden Klammern können Parameter an die Funktion übergeben werden. Bei mehreren Parametern sind die einzelnen Parameter durch Kommas getrennt. Falls kein Parameter übergeben wird, bleiben die Klammer leer. Das Beispiel print wurde bereits in vielen Beispielen verwendet. Ob eine Funktion Parameter benötigt, bzw. wie viele Parameter sie erwartet, ist allein von der Funktion abhängig. Es gibt auch Funktionen, die mit einer variablen Zahl an Parametern umgehen können. Die Reihenfolge der Parameter ist durch die Funktion festgelegt. Teilweise gibt es auch benannte Parameter (siehe print). Funktionen können durch den Programmierer selbst in Python geschrieben werden, aus sogenannten Paketen importiert werden oder fest zum Sprachkern von Python gehönren (sogenannte built-in Funktionen)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 142,
+   "id": "c9b6ee6f-1c3c-4816-ac95-759f67b6233e",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "3.4\n",
+      "Hallo Welt\n",
+      "3 Hallo 4.3\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(3.4)#Ruft die Funktion \"print\" auf. Als Parameter wird der Wert 3.4 übergeben\n",
+    "eineVariable=\"Hallo Welt\"\n",
+    "print(eineVariable)#Statt eines Literals kann auch eine Variable verwendet werden. Die Funktion bekommt dann den Wert der Variable übergeben\n",
+    "print(3,\"Hallo\",4.3)#print kann mit beliebig vielen Parametern aufgerufen werden, das ist nicht bei allen Funktionen so\n",
+    "print()#beliebige Anzahl heißt in diesem Fall auch kein Parameter"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8d8feb3f-ff99-411f-b004-f6aafed61f20",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*print*</font>\n",
+    "\"print\" ist eine Funktion, die Werte als Text ausgeben kann. Die Funktion kann beliebig viele Parameter übergeben bekommen. Im Fall von keinem Parameter, wird eine leere Zeile ausgegeben. Bei mehreren Parametern werden die Parameter mit einem Trennzeichen getrennt in einer Zeile ausgegeben. \"print\" kann Werte mit beliebigen Typ übergeben bekommen. Sie werden vor der Ausgabe in eine geeignete Textform überführt. Je nach Datentyp kann das besser oder schlechter funktionieren. Zahlen und Text lassen sich jedoch sehr gut ausgeben.\n",
+    "Das Trennzeichen zwischen den Einzelwerten kann über einen sogenannten \"benannten Parameter\" frei gewählt werden und hat ein Leerzeichen als Standardwert, falls kein eigenes Trennzeichen angegeben wird. Das Trennzeichen muss auch kein einzelnes Zeichen sein, sondern kann eine beliebige Zeichenkette sein. Im Beispiel in der nächsten Codezeile ist das Trennzeichen auf :-: gesetzt. Das ist ein Beispiel für die Verwendung eines benannten Parameters. In den allermeisten Fällen wird print allerdings mit nur einem Parameter verwendet. \"print\" gibt keinen Wert zurück"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 73,
+   "id": "763c5bfe-48f8-4cc4-9f7b-03c49cd3aea7",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "3\n",
+      "A:-:3:-:4:-:5.4\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=3\n",
+    "print(x)\n",
+    "print(\"A\",x,4,5.4,sep=\":-:\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7115d783-39af-4953-98f6-590b4ff5d108",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*help*</font>\n",
+    "\"help\" ist eine Funktion, die zu einer Funktion einen Hilfetext liefert. Es ist sozusagen ein Hilfe-System, das in die Programmiersprache eingebaut ist. Programmierer können ihre Funktionen so dokumentieren, dass help automatisch den verfassten Hilfetext findet. Es ist also möglich, dass nicht zu jeder Funktion ein Hilfetext gefunden wird. Die Funktion \"help\" gibt den Hilfetext direkt aus und wird meistens bei der interaktiven Verwendun von Python genutzt. \"help\" kann auch ohne Parameter aufgerufen werden, was ein interaktives Hilfeprogramm startet das läuft, bis quit zum Beenden eingegeben wird. Du kannst es in diesem Notebook ausprobieren, auch wenn die Verwendung der interaktiven Hilfe in einem Jupyter-Notebook eher weniger zu empfehlen ist. Die Code-Zelle blockiert den Python-Kernel des Notebooks, bis die interaktive Hilfe beendet wurde\n",
+    "\n",
+    "Wie hilfreich die ausgegebenen Texte sind variiert sehr stark, da die Texte durch die jeweiligen Programmierer verfasst wurden"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 143,
+   "id": "9551e0bc-0884-41bb-987e-25c66bec55c8",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Help on built-in function print in module builtins:\n",
+      "\n",
+      "print(...)\n",
+      "    print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\n",
+      "    \n",
+      "    Prints the values to a stream, or to sys.stdout by default.\n",
+      "    Optional keyword arguments:\n",
+      "    file:  a file-like object (stream); defaults to the current sys.stdout.\n",
+      "    sep:   string inserted between values, default a space.\n",
+      "    end:   string appended after the last value, default a newline.\n",
+      "    flush: whether to forcibly flush the stream.\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "help(print)#gibt den Hilfetext der Funktion print aus."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "580a0764-0558-496e-b34b-d5052053534c",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*type*</font>\n",
+    "\"type\" ist eine Funktion, mit der man den Typ von Variablen oder Werten ermittel kann. Die Verwendung von \"type\" in Programmen ist bei Python eher unüblich und wird selten benötigt. Es kann aber eine sehr praktische Hilfe sein, um die Funktion von Python näher zu betrachten.\n",
+    "\"type\" erwartet einen Parameter, von dem der Typ bestimmt werden soll. Die Funktion gibt den Typ nicht aus, sondern gibt ihn als Ergenis des Funktionsaufrufs zurück. Das Ergebnis kann dann mit \"print\" ausgegeben werden. Das Ergebnis kann auch in einer Variable gespeichert werden. Das ist ein Beispiel, wie ein Funktionsaufruf rechts des Zuweisungsoperators genutzt werden kann"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 95,
+   "id": "1f199866-0c60-447f-9184-d69c3c8b9324",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "<class 'str'>\n",
+      "<class 'int'>\n",
+      "<class 'float'>\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(type(\"Hallo\"))\n",
+    "x=4\n",
+    "print(type(x))\n",
+    "erg=type(2.3)\n",
+    "print(erg)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "38023d3c-888b-470d-b738-c36564043da4",
+   "metadata": {},
+   "source": [
+    "\"type\" funktioniert auch bei Funktionen und anderen Objekten. Die Ausgabe kann aber unter Umständen etwas schwierig zu interpretieren sein"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 99,
+   "id": "38241019-1cc6-44e2-9115-4f0e15b970cf",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "<class 'builtin_function_or_method'>\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(type(print))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "adc5e372-f5ea-41b4-a179-61520da3f655",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>Typenumwandlung</font>\n",
+    "Gelegentlich muss der Inhalt einer Variablen in einen anderen Typ konvertiert werden. Zwischen ganzen Zahlen und Fließkommazahlen passiert das automatisch. Zwischen Zeichenketten und Zahlen generell nicht. Es gibt für jeden dieser Datentypen ein Funktion, die so heißt wie der zugehörige Typ, der die Umwandlung, sofern sinvoll möglich, durchführt. Der umgewandelte Wert wird als Ergebnis zurückgegebe\n",
+    "\n",
+    "### str\n",
+    "Mit der Funktion können Zahlen in Zeichenketten umgewandelt werden. Z.B. um sie für die Ausgabe in einem Text vorzubereiten"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 152,
+   "id": "f9cdd943-cdb9-4a81-8f70-13f052ef5f24",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Die Zahl ist:3.45\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=3.45\n",
+    "als_Zeichenkette=str(x)\n",
+    "print(\"Die Zahl ist:\"+als_Zeichenkette)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "e62d5e48-c1b1-44af-922f-ad5883d4c43e",
+   "metadata": {},
+   "source": [
+    "### float\n",
+    "Wandelt eine Zeichenkette oder eine ganze Zahl in eine Fließkommazahl um. Die Zeichenkette muss dafür eine Zahl darstellen, also keine Buchstaben enthalten (genau genommen gelten die Regeln der Fließkomma-Literale hier auch)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 157,
+   "id": "c2990bb3-9f5f-4f72-9930-c9e5d297b882",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "4.22345\n"
+     ]
+    }
+   ],
+   "source": [
+    "eine_Zeichenkette=\"3.22345\"\n",
+    "x=float(eine_Zeichenkette)\n",
+    "x+=1\n",
+    "print(x)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f33e38d9-40d7-4ee4-b87d-eb9c78229cd0",
+   "metadata": {},
+   "source": [
+    "### int\n",
+    "Wandelt eine Fließkommazahl oder eine Zeichenkette in eine ganze Zahl um. Bei einer Zeichenkette muss der Inhalt eine ganze Zahl sein im Dezimalsystem sein (Binär-,Oktal- oder Hexadezimalzahlen funktionieren nicht). Wenn eine Fließkommazahl umgewandelt wird, wird sie grundsätzlich abgerundet"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 159,
+   "id": "bf1e790b-36a9-4ffa-b962-51d53d579ef6",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1244\n",
+      "3\n"
+     ]
+    }
+   ],
+   "source": [
+    "zeichenkette=\"1234\"\n",
+    "x=int(zeichenkette)\n",
+    "print(x+10)\n",
+    "y=3.9\n",
+    "print(int(y))#Fließkommazahlen werden immer abgerundet"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "eb7a2164-a37b-47cf-a53e-247b50647746",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Operatoren**</font> <a name=\"Operatoren\"> </a>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1190808f-7277-4002-b4c3-611ad3b6c741",
+   "metadata": {},
+   "source": [
+    "Operatoren bzw. die Operatorenschreibweise ist in Programmiersprechen üblich, um den Quelltext an die Gewohnheiten des natürlichen Sprachgebrauchs anzupassen. Sie benötigt im Vergleich zur Funktionsschreibweise weniger Platz Ein Beispiel ist das +-Zeichen, das einen Operator darstellt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 100,
+   "id": "e67d9706-a563-4685-9765-dd204852cf35",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "7"
+      ]
+     },
+     "execution_count": 100,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "4+3"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "49b40984-af01-456e-a4a4-c138c2f922c4",
+   "metadata": {},
+   "source": [
+    "Operatoren funktionieren ähnlich wie Funktionen. Das Plus hat zwei Parameter und ein Ergebnis. Der Operator steht allerdings zwischen den Parametern. Operatoren wie das Plus heißen binärer Operator, da sie zwei Parameter benötigen (im Beispiel die 4 und die 3). Der Operator selbst steht zwischen den Parametern. Neben den binären Operatoren gibt es auch unäre Operatoren, die nur ein Parameter erwarten. Sie stehen vor ihrem Parameter. Ein Beispiel ist das - als Vorzeichen"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "id": "334fc718-6847-42c5-865c-a7a0c4955ab3",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "-7"
+      ]
+     },
+     "execution_count": 101,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "-7"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f7c1f1d3-8996-4808-973b-b1daa9b5b668",
+   "metadata": {},
+   "source": [
+    "Im Gegensatz zu vielen anderen Programmiersprachen ist das Minus bei Python nicht Teil des Literals, sondern ein unärer Operator vor dem Literal (auch wenn praktische Auswirkungen dieses Unterschieds eher nicht vorhanden sind und es eine technische Spitzfindigkeit ist).\n",
+    "\n",
+    "Es gibt verschiedene Operatoren in Python. Welche Zeichen ein Operator sind ist vordefiniert und nicht erweiterbar. Es ist allerdings in manchen Fällen möglich zu verändern, was der Operator tut (im Kapitel über objektorientierte Programmierung beschreiben). Die für arithmetische Operationen genutzten Operatoren (+,-,*,etc.) werden in der Potenz vor Punkt vor Strich Reihenfolge ausgeführt, wenn sie in einer Zeile stehen! Das ist bei Rechnungen praktisch, in anderen Fällen evtl. nicht erwünscht. Im Zweifelsfall Klammer setzen.\n",
+    "## <font color='blue'>*Zuweisungsoperator*</font>\n",
+    "Der Zuweisungsoperatpor ist in Python das =-Zeichen. Der Zuweisungsoperator weist den Wert, der auf seiner rechten Seite steht der Variablen auf seiner linken Seite zu. Er wird immer als letztes Ausgewertet. Das heißt, sollten auf der rechten Seite der Zuweisung mehrere Operationen stehen werden alle zu erst Ausgewertet. Der resultierende Wert wird dann der Variable auf der linken Seite zugewiesen. Sollte die Variable auf der linken Seite nicht existieren, wird sie angelegt. Literale können nicht auf der linken Seite der Zuweisung stehen. Python folgt einer \"Alles ist eine Variable\" logik. Daher sind technisch betrachtet auch alle Funktionen Variablen. Es sollte vermieden werden wichtige Funktionen wie print o.ä. mit Werten zu überschreiben. Es ist möglich, aber bis zum neustart des Python-Interpreters ist dann die Funktion nicht mehr verfügbar!"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "9b5a15fb-a387-446d-9d19-f8c9ed15dc69",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "x=4 #Falls x unbekannt ist wird eine Variable x erstellt\n",
+    "x=4+3*9*11#Auf der rechten Seite des Zuweisungsoperators können auch komplexe Ausdrücke stehen. Der Wert von x wird überschrieben\n",
+    "y=x*4#Die rechte Seite wird vor Zuweisung ausgewertet. Das Ergebnis wird in y geschrieben. Wenn x verändert wird, bleibt y unverändert, da bei der Auswertung der rechten Seite nur der Wert relevant ist, der momentan in x gespeichert ist!"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2eab76af-6673-4816-9179-3ba7dc4c1fb1",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*Arithmetische Operatoren*</font>\n",
+    "Die Grundrechenarten. Die Arithmetischen Operatoren sind binäre Operatoren und erwarten Zahlen als Parameter. Die meisten arithmetischen Operatoren funktionieren sowohl mit Fließkommazahlen, als auch mit ganzen Zahlen. Die Operatoren // und % sind eigentlich nur für ganze Zahlen definiert. Werden sie auf Fließkommazahlen angewendet, werden diese zunächst in ganze Zahlen umgewandelt (siehe Abschnitt über Typumwandlung)\n",
+    "\n",
+    "\n",
+    "|Operator | Bedeutung| Anmerkung|\n",
+    "|---------|----------|----------|\n",
+    "|+        |Addition  |          |\n",
+    "|-        |Subtraktion|         |\n",
+    "|/ |Geteilt durch| Ergebnis ist immer Fließkommazahl|\n",
+    "|//| Ganzzahliges teilen. Der Rest entfällt 7//3 = 2 (Rest 1)|Ergebnis ist immer ganze Zahl|\n",
+    "|% |Modulo. Der Rest beim ganzzahligen Teilen 7%3= 1|Ergebnis ist immer ganze Zahl|\n",
+    "|** |Potenz. Ersatz für Hoch-Zeichen|Ergebnis ist immer Fließkommazahl|\n",
+    "\n",
+    "### Kombinationsoperatoren\n",
+    "Alle Arithmetischen Operatoren können mit einem Zuweisungsoperator komibiniert werden. Z.B. +=. Das ist lediglich eine abkürzende Schreibweise und bietet keine neue Funktionalität"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "b841fd14-ff64-4464-a16a-a122bc319a34",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "7\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=3\n",
+    "x+=4 #Eine Abkürzung für x=x+3\n",
+    "print (x)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3f488cda-28ea-42b5-8bc6-bf0deaae564a",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>*Vergleichsoperatoren*</font>\n",
+    "Die Vergleichsoperatoren vergleichen Zahlen miteinander. Das Ergebnis ist ein boolscher Wert (Wahr oder Falsch). Die Vergleichsoperatoren in Python sind\n",
+    "\n",
+    "|Operator | Bedeutung |\n",
+    "|---------|-----------|\n",
+    "|==|ist gleich|\n",
+    "| <|kleiner|\n",
+    "|> |größer|\n",
+    "|<= |kleiner oder gleich|\n",
+    "|>= |größer oder gleich|\n",
+    "|!= |ungleich|\n",
+    "\n",
+    "Der \"ist gleich\" und \"ungleich\" Operator sollte nach möglichkeit nicht auf Fließkommazahlen angewendet werden! Das gilt im Übrigen nicht nur für Python-Programmierung sondern ist ein generelles Problem bei Computern"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 147,
+   "id": "e500889b-7395-4774-a6c3-57411f9b9dff",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "True"
+      ]
+     },
+     "execution_count": 147,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "3>2"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a90e0157-cef9-4fce-bbf3-bc2a131fed9f",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>Operatoren und Zeichenketten</font>\n",
+    "Einige Operatoren sind auch auf Zeichenketten anwendbar.\n",
+    "\n",
+    "Der Vergleich auf Gleichheit und Ungleichheit \"==\", \"!=\" funktionieren wie erwartet. Sie sind Case-Senstitive (also beachten groß und Kleinschreibung).\n",
+    "\n",
+    "Auch <,>,<=,>= funktionieren. Sie sortieren die Zeichenketten so, wie man es in einem Aktenschrank erwarten würden. Sie vergleichen von links nach rechts Zeichen für Zeichen, bis ein Unterschied auftritt. Dabei gilt die Regel Ziffern vor Buchstaben, alle großen Buchstaben vor allen kleinen Buchstaben. Bei den Buchstaben ist die Sortierung alphabetisch.\n",
+    "\n",
+    "Die Arithmetischen Operatoren sind teilweise auf Zeichenketten Anwendbar, haben dann aber andere Bedeutung\n",
+    "\n",
+    "|Operator| Bedeutung | Typen der Parameter|\n",
+    "|--------|-----------|--------------------|\n",
+    "|+       |fügt Zeichenketten zusammen| str und str|\n",
+    "|*       | Hängt die Zeichenkette n mal hintereinander| str und ganze Zahl|\n",
+    "\n",
+    "Beim *-Operator muss die Zeichenkette auf der linken Seite des Operators sein. Die Reihenfolge der Parameter ist also nicht austauschbar!"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 130,
+   "id": "4f429086-0aab-4639-9770-78ca651fef05",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "hallo welt\n",
+      "hallo welthallo welthallo welt\n"
+     ]
+    }
+   ],
+   "source": [
+    "x=\"hallo\"+\" \"+\"welt\"\n",
+    "y=\"hallo welt\"*3\n",
+    "print(x)\n",
+    "print(y)"
+   ]
+  }
+ ],
+ "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.8.7"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/Uebung09/SciPy_Grundlagen.ipynb b/Uebung09/SciPy_Grundlagen.ipynb
new file mode 100644
index 0000000..6f0b8a9
--- /dev/null
+++ b/Uebung09/SciPy_Grundlagen.ipynb
@@ -0,0 +1,657 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "f0b13807-b3b2-4f55-9581-9f8d4ffaa3b5",
+   "metadata": {},
+   "source": [
+    "### <font color='blue'>**Einleitendes Thema**</font>\n",
+    "Nicht nur kommerzielle Software (z.B. CAD, FEM, CFD, etc.), sondern auch eigene kleinere eigene Computerprogramme können eine große Hilfe beim wissenschaftlichen Arbeiten sein. Bei Experimenten können zum einen große Mengen an Messdaten gewonnen werden, für die es nahezu unmöglich ist sie manuell auszuwerten oder zwischen denen interpoliert werden muss. Zum anderen kann man auf Probleme stoßen wie komplizierte Funktionen, die sich nur numerisch integrieren lassen. Für solche Zwecke ist es sinnvoll Werkzeuge zur Hand zu haben, mit denen sich schnell Programme schreiben lassen, die einem helfen solche Hürden zu bewältigen."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "78480fdf-603c-48e5-b671-5b634c94fbaa",
+   "metadata": {},
+   "source": [
+    "### <font color='blue'>**Kompaktes Fallbeispiel**</font>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "c54061cb",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Das Volumen unter der Funktion beträgt:  2.78\n",
+      "Ungefährer Wert bei x = 0,3:  1.32\n",
+      "Funktion:\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Integralgrenzen:\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Interpolation:\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "import scipy.integrate as integrate\n",
+    "import scipy.interpolate as interpolate\n",
+    "import numpy as np\n",
+    "from matplotlib import pyplot as plt\n",
+    "\n",
+    "#Ausgangsfunktion\n",
+    "def f(x, y):\n",
+    "    return np.exp(x)*np.exp(y)\n",
+    "\n",
+    "    \n",
+    "#Integralgrenzen \n",
+    "# -1 < x < 1\n",
+    "# 0 < y < (1 - x^2)^(1/2)\n",
+    "lowerLimit_x, upperLimit_x = -1, 1\n",
+    "lowerLimit_y, upperLimit_y = 0, lambda x: np.sqrt(1-x**2)\n",
+    "\n",
+    "#Integral\n",
+    "integral = integrate.dblquad(f, lowerLimit_x, upperLimit_x, lowerLimit_y, upperLimit_y)\n",
+    "print(\"Das Volumen unter der Funktion beträgt: \", np.round(integral[0], 2))\n",
+    "\n",
+    "\n",
+    "#Funktion bei y = 0 an wenigen Stützstellen (x) auswerten\n",
+    "x = np.linspace(-1, 1, 5)\n",
+    "values = f(x, 0)\n",
+    "\n",
+    "#Zwischen den Werten interpolieren (z.B.: x = 0,25)\n",
+    "approx = interpolate.interp1d(x, values, kind='linear')\n",
+    "print(\"Ungefährer Wert bei x = 0,3: \", np.round(approx(0.25), 2))\n",
+    "\n",
+    "\n",
+    "\n",
+    "#Darstellung mit MatplotLib\n",
+    "print(\"Funktion:\")\n",
+    "X_mesh, Y_mesh = np.meshgrid(np.linspace(-2, 2, 10), np.linspace(0, 2, 5))\n",
+    "values_3d = f(X_mesh, Y_mesh)\n",
+    "ax = plt.figure().add_subplot(projection='3d')\n",
+    "ax.plot_surface(X_mesh, Y_mesh, values_3d)\n",
+    "plt.show()\n",
+    "\n",
+    "print(\"Integralgrenzen:\")\n",
+    "x_integral = np.linspace(-1, 1, 50)\n",
+    "y_integral = np.sqrt(1 - x_integral**2)\n",
+    "x_integral = np.append(x_integral, -1)\n",
+    "y_integral = np.append(y_integral, 0)\n",
+    "plt.plot(x_integral, y_integral)\n",
+    "plt.show()\n",
+    "\n",
+    "print(\"Interpolation:\")\n",
+    "x_interpolate = np.linspace(-1, 1, 50)\n",
+    "plt.scatter(x, values, label=\"Werte\")\n",
+    "plt.plot(x_interpolate, approx(x_interpolate), label=\"Interpolierte Funktion\")\n",
+    "plt.scatter(0.25, approx(0.25), label=\"Interpolierter Wert bei x = 0,25\")\n",
+    "plt.legend()\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "9837909c-0cc2-43bd-9692-bb149a7a87ba",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Ãœbersicht - \"SciPy\"**</font>\n",
+    "In diesem Notebook wird die Python Bibliothek SciPy vorgestellt. Mit SciPy werden Funktionen zur Verfügung gestellt, die besonders im wissenschaftlichen Bereich von Interesse sind. Es werden Möglichkeiten zur numerischen Integration von Ein- und Mehrfachintegralen, verschiedene Varianten von Interpolationen und, aufbauend auf NumPy, Methoden der Linearen Algebra bereitgestellt."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3b34e520-f385-4530-b2c7-4b6df641d72b",
+   "metadata": {},
+   "source": [
+    "### <font color='blue'>**Lernziele des Notebooks**</font>\n",
+    "* Integration\n",
+    "    * Einfachintegration\n",
+    "    * Mehrfachintegration\n",
+    "* Interpolation\n",
+    "* Lineare Algebra\n",
+    "    * Spezielle Matrizen\n",
+    "* DGL numerisch Lösen"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f6012101-a726-4880-8bbc-ccfee49d9ceb",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**\"SciPy\"**</font>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "97a85106-b815-4d8b-bc87-ecd93aae5312",
+   "metadata": {},
+   "source": [
+    "### **<font color='blue'>Grundlagen</font>**\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2db54f1d",
+   "metadata": {},
+   "source": [
+    "#### **Integrieren**\n",
+    "Mit SciPy lassen sich Differenzialgleichungen numerisch integrieren. Zunächst muss hierfür die Funktion definiert werden. Ist die Funktion nur von einer Variable abhängig kann die ```quad```-Funktion zum Differenzieren verwendet werden. \n",
+    "\n",
+    "$\\int_1^3 0+3x\\ dx$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "3dd9f6e3",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "12.0\n"
+     ]
+    }
+   ],
+   "source": [
+    "import scipy.integrate as integrate\n",
+    "\n",
+    "#zu integrierende Funktion\n",
+    "def f(x, a, m):\n",
+    "    return a + x*m\n",
+    "\n",
+    "a, m = 0, 3\n",
+    "lowerLimit, upperLimit = 1, 3\n",
+    "\n",
+    "integral, integral_error = integrate.quad(f, lowerLimit, upperLimit, args=(a, m))\n",
+    "\n",
+    "print(integral)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b6bba853",
+   "metadata": {},
+   "source": [
+    "Für Doppel-, Dreifach- oder Mehrfachintegrale können mit\n",
+    "```dblquad```,```tplquad```,```nquad``` Mehrfachintegrale gelöst werden. Es ist auch möglich die Integralgrenzen von den Integrationsvariablen abhängen zu lassen oder aus der NumPy Bibliothek ```inf``` zu verwenden.\n",
+    "\n",
+    "$\\int^2_0 \\int^{x+1}_x x \\cdot y \\ dy\\ dx$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "05423178",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Wert:  3.6666666666666665\n"
+     ]
+    }
+   ],
+   "source": [
+    "import scipy.integrate as integrate\n",
+    "\n",
+    "#zu integrierende Funktion\n",
+    "#Alternative zu 'def'\n",
+    "f = lambda x, y: x*y\n",
+    "\n",
+    "\n",
+    "lowerLimit_x, upperLimit_x = 0, 2\n",
+    "lowerLimit_y = lambda x: x\n",
+    "upperLimit_y = lambda x: 1 + x\n",
+    "\n",
+    "integral = integrate.dblquad(f, lowerLimit_x, upperLimit_x, lowerLimit_y, upperLimit_y)\n",
+    "\n",
+    "print('Wert: ', integral[0])"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "67ca64dd",
+   "metadata": {},
+   "source": [
+    "> <font color='grey'>*Weitere Informationen zur Intergralen können in der [offiziellen SciPy Dokumentation](https://docs.scipy.org/doc/scipy/tutorial/integrate.html) gefunden werden*"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "439492b8",
+   "metadata": {},
+   "source": [
+    "#### **Interpolation**\n",
+    "Häufig hat man es mit diskreten und eben nicht kontinuierlichen Verläufen von Messdaten zu tun. Um Messwerte zwischen zwei diskreten Messwerten zu ermitteln bedient man sich der Interpolation. Es gibt verschiedene Interpolationstypen, die genutzt werden können: ```linear```,```zero```,```cubic```,```nearest```,```previous```,..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "301a6ae6",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Der Interpolierte Wert für x = 2,5 ist  -0.28856707317073166\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "import scipy.interpolate as interp\n",
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np\n",
+    "\n",
+    "#Datenset\n",
+    "x_data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n",
+    "y_data = [0, 0.1, -0.2, -0.2, 0.5, 0.8, 0.1, -1.4, -0.2, 2.3]\n",
+    "\n",
+    "#Interpolierte Funktion\n",
+    "#Ändern sie den Parameter 'cubic', um die Veränderung der Interpolation zu beobachten\n",
+    "f_lin = interp.interp1d(x_data, y_data)\n",
+    "f = interp.interp1d(x_data, y_data, kind='cubic')\n",
+    "\n",
+    "#Einzelne Werte auslesen\n",
+    "print(\"Der Interpolierte Wert für x = 2,5 ist \", f(2.5))\n",
+    "\n",
+    "#Visualisierung mit MatplotLib\n",
+    "x = np.linspace(0, 9, 100)\n",
+    "plt.scatter(x_data, y_data) #ursprüngliche Daten\n",
+    "plt.plot(x, f_lin(x))           #interpolierte Funktion\n",
+    "plt.plot(x, f(x))           #interpolierte Funktion\n",
+    "plt.legend(['linear', 'cubic', 'data'], loc='best')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "9514d0ae",
+   "metadata": {},
+   "source": [
+    "> <font color='grey'>*Weitere Informationen zur Interpolation können in der [offiziellen SciPy Dokumentation](https://docs.scipy.org/doc/scipy/tutorial/interpolate.html) gefunden werden*"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "20986113",
+   "metadata": {},
+   "source": [
+    "#### Lineare Algebra\n",
+    "An dieser Stelle sollten Sie schon mit [NumPy](link) vertraut sein, das Ihnen viele Möglichkeiten der Linearen Algebra bietet. Viele dieser Funktionen werden direkt von SciPy übernommen, sodass sie auf identische Art und Weise genutzt werden können, indem ```scipy.linalg``` statt ```numpy.linalg``` importiert wird. Dies sei jedoch mit Vorsicht zu genießen, da sie leicht abweichen können, sodass Sie immer die [Dokumentation](https://docs.scipy.org/doc/scipy/reference/linalg.html#module-scipy.linalg) überprüfen sollten.\n",
+    "\n",
+    "```inv```,```det```,```norm```,```eig```,..."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "80fc0fd7",
+   "metadata": {},
+   "source": [
+    "SciPy erweitert diese NumPy Bibliothek mit Funktionen, die effizienteres Speichern und Rechnen mit häufig vorkommenden Matrizen ermöglicht.\n",
+    "\n",
+    "Wie zum Beispiel Dreiecksmatrizen, Tridiagonalmatrizen, LU oder Choleski Zerlegungen, ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "7dc22fc3",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Lösung der Dreiecksmatrix:  [ 1.66666667 -3.33333333 -0.44444444  2.14814815]\n",
+      "\n",
+      "Tridiagonalmatrix:\n",
+      "[[ 3. -1.  0.  0.]\n",
+      " [-1.  3. -1.  0.]\n",
+      " [ 0. -1.  3. -1.]\n",
+      " [ 0.  0. -1.  3.]]\n",
+      "Eigenwerte:  [1.38196601 2.38196601 3.61803399 4.61803399]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import scipy.linalg as linalg\n",
+    "\n",
+    "    #Dreiecksmatrix\n",
+    "A = np.array([[3, 0, 0, 0],\n",
+    "              [2, 1, 0, 0],\n",
+    "              [4, 1, 3, 0],\n",
+    "              [1, 2, 1, 3]])\n",
+    "v = np.array([5, 0, 2, 1])\n",
+    "x = linalg.solve_triangular(A, v, lower=True)\n",
+    "print(\"Lösung der Dreiecksmatrix: \", x)\n",
+    "\n",
+    "\n",
+    "    #Tridiagonalmatrix\n",
+    "#Diagonalelemente\n",
+    "d = 3*np.ones(4)\n",
+    "e = -1*np.ones(3)\n",
+    "\n",
+    "#Nur zu Verständniszwecken: die Tridiagonalmatrix A\n",
+    "A = np.diag(d) + np.diag(e, k=1) + np.diag(e, k=-1)\n",
+    "\n",
+    "#Eigenwerte und Eigenvektoren\n",
+    "w, v = linalg.eigh_tridiagonal(d, e)\n",
+    "\n",
+    "print(\"\\nTridiagonalmatrix:\")\n",
+    "print(A)\n",
+    "print(\"Eigenwerte: \", w)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "960ff95c",
+   "metadata": {},
+   "source": [
+    "#### Numerisches Lösen von Differentialgleichungen (Anfangswertproblemen)\n",
+    "\n",
+    "Differentialgleichungen (DGL) sind Gleichungen, in denen (unbekannte) Funktionen und ihre Ableitungen vorkommen und die das Ziel haben, die unbekannte Funktion zu bestimmen. Numerisch kann keine analytische Funktionsvorschrift wemittelt werden, aber für einen gegebenen Anfangswert $y_0$ können darauffolgende Wertepaare $t_n, y(t_n)$ bestimmt werden. Dabei wird die kontinuierliche Lösung in kleine aber diskrete Zeitschritte unterteilt und die Lösung über diese angenähert.\n",
+    "\n",
+    "````scipy.integrate```` bringt eine Funktion für das numerische Lösen von DGL-Systemen mit: ````solve_ivp()````. Diese Funktion erhält eine Reihe von Parametern. Mindestens: Eine Funktion, die die DGL repräsentiert, eine Zeitspanne, die berechnet werden soll, und einen Anfangswert. Optionale Parameter (keyword arguments) sind unter anderem ````max_step```` für die maximale Zeitschrittweite, ````args```` für die Übergabe weiterer Paramameter außer y und t an die Funktion der DGL, und ````events```` - das sind Funktionen mit denen das Eintreten bestimmter Bedingungen überwacht werden kann.\n",
+    "\n",
+    "Die Gleichung, die die DGL repräsentiert erhält als Parameter zunächst t und y, und anschließend weitere Parameter (diejenigen, die der ````solve_ivp```` per ````args```` übergeben werden). Sie gibt als Rückgabewert die Änderung von y zu den gegebenen Parametern an. Dies entspricht der rechten Seite einer nach $y'(t)=f(y(t),t)$ aufgelösten DGL. \n",
+    "\n",
+    "Y, die Rückgabewerte der DGL-Funktion und die Anfangsbedingungen sind Listen bzw. Arrays mit mindestens einem Eintrag. Mehrere Einträge weden zum Beispiel für ein DGL System oder eine DGL höherer Ordnung (die in ein System erster Ordnung überführtwird) benötig. Für jede Berechnung müssen diese Listen alle gleich lang sein.\n",
+    "\n",
+    "Das Ergebnis der Berechnung ist ein Dictionary mit diversen Informationen über die Lösung, unter anderem den Datenreihen für die Größen t und y und das Eintreten der Events.\n",
+    "\n",
+    "Das Beispiel zeigt die DGL $y'(t) = a\\cdot y(t)$ mit den Anfangsbedingungen y(0) = 0.5, a=0.5,, wir rechnen bis 10s und wir lassen per Eventfunktion überwachen, ob und wann y = 10 eingetreten ist."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "b29ca17e",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "  message: 'The solver successfully reached the end of the integration interval.'\n",
+      "     nfev: 128\n",
+      "     njev: 0\n",
+      "      nlu: 0\n",
+      "      sol: None\n",
+      "   status: 0\n",
+      "  success: True\n",
+      "        t: array([ 0.        ,  0.11491575,  0.61491575,  1.11491575,  1.61491575,\n",
+      "        2.11491575,  2.61491575,  3.11491575,  3.61491575,  4.11491575,\n",
+      "        4.61491575,  5.11491575,  5.61491575,  6.11491575,  6.61491575,\n",
+      "        7.11491575,  7.61491575,  8.11491575,  8.61491575,  9.11491575,\n",
+      "        9.61491575, 10.        ])\n",
+      " t_events: [array([5.99146352])]\n",
+      "        y: array([[ 0.5       ,  0.52957033,  0.67998179,  0.87311394,  1.12110053,\n",
+      "         1.43952164,  1.84838246,  2.37337015,  3.04746773,  3.91302619,\n",
+      "         5.02442531,  6.45149008,  8.28387759, 10.63670983, 13.65780636,\n",
+      "        17.53697126, 22.5179178 , 28.91358003, 37.12577325, 47.67043852,\n",
+      "        61.21005732, 74.20664104]])\n",
+      " y_events: [array([[10.]])]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import scipy.integrate\n",
+    "\n",
+    "# Die Funktion zur Repräsentation der DGL. Dies kann beliebig komplex werden, solange Zahlen zurückgegeben werden\n",
+    "def dgl_func(t,y,a):\n",
+    "    return [a*y,] #Liste mit einem Eintrag der Änderung der entpsrechenden Komponente\n",
+    "\n",
+    "# Funktion zur Überwachung von Ereignissen. Das Ereignis gilt als eingetreten, wenn 0 zurückgegeben wird,\n",
+    "# bzw. sich zwischen zwei Schritten das Vorzeichen ändert. Die Funktion benötigt immer exakt die selbe Parameterliste wie \n",
+    "# die zugehörige DGL-Funktion.\n",
+    "\n",
+    "def event_func(t,y,a):\n",
+    "    return y[0]-10\n",
+    "\n",
+    "timespan = [0,10] \n",
+    "y0 = [0.5,]\n",
+    "\n",
+    "solution = scipy.integrate.solve_ivp(dgl_func, timespan, y0, max_step = 0.5, args = [0.5,], events = event_func)\n",
+    "print(solution)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a398cee1",
+   "metadata": {},
+   "source": [
+    "Und ein Plot des Ergebnisses:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "d9647b1c",
+   "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"
+    }
+   ],
+   "source": [
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "plt.plot(solution[\"t\"],solution[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"y\")\n",
+    "plt.grid()\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "9d5632ed",
+   "metadata": {},
+   "source": [
+    "### **<font color='blue'>Erweiterungen</font>**"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "824cc08c",
+   "metadata": {},
+   "source": [
+    "#### **Differenzieren**\n",
+    "Analog zum Integrieren lassen sich Funktionen auch Differenzieren."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "addfee00",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Ableitung an der Stelle x = 5:  3.561915818739436\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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EB0dbcPDNsrdC988Bb2mw4j7bL9/IYQ4RXtaSveiQa6U+hY41z2Kfqu1/rRxm98CZmDp+fajtX4deB2MrpXLqvZ86quMmZsegXCDXNwUQnQuFw1yrfXVF/q6UuouYCYwRdtrTM63z0DREbjzU/AKtksJQghhL1fUtaKUugb4DTBBa11tm5IuUfYu2PlvSFgIsRPsUoIQQtjTlY4j/wfgA3yjlEpWSi252BtsylwPnz0EvhEw5ak2PbQQQrQXVxTkWuueWusorfWQxkfbLmay9RXIT4EZfwU3n4tvL4S4JE1jwE99ODk58eWXX17Rfq+77jpKS0spLS3l1Vdfvax9fP/99yil+Prrr5tfu9BythMnTuRiw57vvffe5iUEnn/++cuqyx4cd2Zn0VH47i/Q/wboc629qxGiQ5ozZw7JycnNj/vvv59x48adNf39Uq1ZswZ/f/8rCvJly5YxduxYli1bdkW1nOqNN96gf//+gGMFueOutfLV4+DsBtf+2d6VCNFm/rzzz6QVp9l0n30D+/KbhIvO4+PQoUP84Q9/YOvWrTg5OXH//fdzzTXXMGvWLObMmUNAQABvvfUWb775JhkZGTz77LO89957vPLKK9TX1zNixAheffVVTCYTMTExJCYm8thjj3H06FGGDBnC1KlTefHFF3nxxRf58MMPqaurY86cOfz+978/qxatNStWrOCbb75h3Lhx1NbW4u7uDoDZbOauu+7i+++/p3fv3rzzzjt4ep4+w3vt2rX87ne/o66ujh49evCf//wHb29vJk6cyKJFi1ixYkXzjNYBAwbw3HPPMXPmzOZlahctWkRlZSXPPPMMEydOZMSIEaxfv57S0lLefPNNxo0bR3V1NXfffTdpaWn069ePzMxM/vnPfxIff9Z8nivmmC3y9O/g8Ncw7pfgc66RkUIIW2poaGDevHksWrSoeR7I+PHj2bRpEwDHjx9v7pLYvHkz48aNIzU1leXLl7NlyxaSk5MxmUwsXXr6COUXXniBHj16kJyczIsvvsjatWs5fPgwO3fuJDk5maSkJDZu3HhWPVu2bKF79+706NGDiRMnnna3n4MHD7Jw4UL27t2Lr6/vWS3+wsJCnn32Wb799lt2795NfHw8L7300ll1Na36eGbN52I2m9m5cyeLFy9u/sXz6quvEhAQwN69e3nqqadISkq66H4ul+O1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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "import scipy.misc as diff\n",
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np\n",
+    "\n",
+    "f = lambda x: np.exp(x)/(x**2)\n",
+    "\n",
+    "print(\"Ableitung an der Stelle x = 5: \", diff.derivative(f, 5, dx=1e-6))\n",
+    "\n",
+    "#100 Stützstellen zwischen 1 und 5 erzeugen\n",
+    "x = np.linspace(1, 5, 100)\n",
+    "\n",
+    "#Dartsellung der Ableitungen mit MatplotLib\n",
+    "plt.plot(x, f(x), label=\"Ausgangsfunktion\")\n",
+    "plt.plot(x, diff.derivative(f, x, dx=1e-6), label=\"Erste Ableitung\")\n",
+    "plt.plot(x, diff.derivative(f, x, dx=1e-6, n=2), label=\"Zweite Ableitung\")\n",
+    "plt.legend()\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "505053f3",
+   "metadata": {},
+   "source": [
+    "#### Parameterschätzung\n",
+    "Neben Interpolation können Werte auch einer spezifischen Funktion zugeordnet werden.\n",
+    "Ist bekannt, um welche Art von Funktion es sich handelt, kann diese auch vorgegeben und deren Parameter bestimmt werden. Es musst zunächst der Funktionstyp definiert werden, sodass dann ausgehend von Startwerten die Parameter numerisch bestimmt werden.\n",
+    "\n",
+    "Zum Beispiel für:\n",
+    "\n",
+    "$F(t) = A\\cdot sin(\\omega t + \\beta)$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "efeb6772",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[4.         3.14159265 1.57079633]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import scipy.optimize as opt\n",
+    "import numpy as np\n",
+    "\n",
+    "#Harmomische Schwingung\n",
+    "f = lambda t, A, omega, beta: A*np.sin(omega*t+beta)\n",
+    "\n",
+    "#Werte in der Regel direkt gegeben, Funktion nicht bekannt\n",
+    "t = np.linspace(0, 10, 10)\n",
+    "data = f(t, 4, np.pi, np.pi/2)\n",
+    "\n",
+    "\n",
+    "#Funktionsparameter approximieren\n",
+    "A_initialGuess, omega_initialGuess, beta_initialGuess = 2, 3, 1.5\n",
+    "parameters, convergence = opt.curve_fit(f, t, data, p0=(A_initialGuess, omega_initialGuess, beta_initialGuess))\n",
+    "\n",
+    "print(parameters)"
+   ]
+  }
+ ],
+ "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.8.7"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/Uebung09/Uebung_09.ipynb b/Uebung09/Uebung_09.ipynb
new file mode 100644
index 0000000..928175a
--- /dev/null
+++ b/Uebung09/Uebung_09.ipynb
@@ -0,0 +1,1028 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "f0754a21",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Ãœbung 9 - Numerische Berechnung DGL am Beispiel der Modellierung eines Falls mit Luftwiderstand - SciPy**"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "24a057fb",
+   "metadata": {},
+   "source": [
+    "In dieser Übung möchten wir uns noch einmal mit der Modellierung von freiem und gebremsten Fall in der Erdatmosphäre (z.B. Fallschirmsprung) beschäftigen. In Übung 8 haben wir gesehen, dass die analytische Modellierung bei komplexeren Fällen schnell sehr komplex bis zu unmöglich werden kann. In dieser Übung sollen daher numerische Lösungen für die Problemstellungen entwickelt werden. Mit der numerischen Lösung können wir die Komplexität der Gleichung und Randbedingungen auch relativ leicht weiter erhöhen. Wir wollen beginnen, ein sehr einfaches numerisches Verfahren selbst zu implementieren, um die grundlegende Funktionsweise von numerischen Verfahren nachzuvollziehen. Anschließend werden wir höherwertige Verfahren nutzen, die uns das *SciPy* Package zur Verfügung stellt. Als Nebenthema wollen wir die Ergebnisse in Dateien schreiben und aus Dateien einlesen. Das ermöglicht den Datenaustausch oder das Aufteilen von Berechnung und Auswertung auf verschiedene Programme. Im Gegensatz zu den Übungen 5-7 mit dem Fachwerk wollen wir diesmal keine große Klassenstruktur aufbauen, sondern die Bearbeitung eher in Form von kompakten Skripten vornehmen.\n",
+    "\n",
+    "### <font color='blue'>**Vorkenntnisse - Notebooks**\n",
+    "* Ãœbung 1\n",
+    "* Ãœbung 2\n",
+    "* Ãœbung 4\n",
+    "* Ãœbung 8\n",
+    "* Grundlagen Python\n",
+    "* Grundlagen Matplotlib\n",
+    "* Grundlagen Numpy\n",
+    "* Grundlagen SciPy\n",
+    "    \n",
+    "\n",
+    "### <font color='blue'>**Lernziele**\n",
+    "* Skripten einfacher numerischer Lösungsverfahren\n",
+    "* Einsatz von *SciPy* zur numerischen Lösung von Problemstellungen"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "5a2d5757",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>**Problemstellung 1: Freier Fall mit Luftwiderstand - eigene Implementierung**\n",
+    "\n",
+    "#### <font color='blue'>**Aufgabenstellung**\n",
+    "Für einen freien Fall mit Luftwiderstand sollen angenäherte Ergebnisse für den Geschwindigkeits-Zeit und den Höhe-Zeit Verlauf ermittelt werden. Aus diesen Werten können gesuchte Größen, wie die Zeit bis zum Boden, die Geschwindigkeit am Boden etc. abgelesen bzw. interpoliert werden. Dabei soll ein selbst implementiertes Verfahren (z.B. Euler explizit) zum Einsatz kommen.\n",
+    "Zusatz: Das Skript soll möglichst schnelle Rechenzeit haben. Dazu sollen die Numpy Arrays auf verschiedene Arten verwendet werden. (1. Anhängen neuer Ergebnisse an \"wachsende\" Arrays und 2. Arrays der vollen benötigten Länge vor der Rechnung anlegen und mit Nullen füllen, und während der Rechnung die Einträge mit den neuen Ergebnissen überschreiben.) "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c518817f",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Vorüberlegung**\n",
+    "    \n",
+    "Zunächst sollten wir das Prinzip der numerischen Berechnung von gewöhnlichen Differentialgleichungen (z.B. $y'(t) = f(y(t),t)$) mithilfe von *Einschrittverfahren* ansehen. Es gibt Fachvorlesungen, in denen diese Verfahren genauer hergeleitet und hinsichtlich ihrer Qualität analysiert werden. Wir wollen uns in dieser Übung daher nur das Prinzip ansehen und ein gegebenes Verfahren (*Euler explizit*) implementieren.\n",
+    "Die Idee eines Einschrittverfahrens ist es, die kontinuierliche Zeit in kleine diskrete Zeitschritte aufzuteilen. Für jeden Zeitschritt wird dann mithilfe der verfügbaren Informationen angenähert, welche Werte am nächsten Zeitschritt gelten. Mit diesen wird dann wiederum der darauffolgende Zeitschritt angenähert. So geht es immer weiter. Wie die Werte des nächsten Zeitschritts angenähert werden, hängt vom Verfahren ab. Das bereits angesprochene *Euler explizit* (auch *Euler vorwärts* genannt) ist recht intuitiv zu verstehen. In einem Zeitschritt $t_n$ stehen (entweder als Anfangsbedingung oder als Ergebnis des vorherigen Schritts) Werte für $t$ und $y$ zur Verfügung. Diese Werte können in die rechte Seite der Differentialgleichung eingesetzt werden. Alle Variablen und Parameter für diese sind dann bekannt. Daher führt das Einsetzen zu einem **Zahlenwert**, der $y'(t)$, also der Steigung von $y(t)$ entspricht. In der analytischen Lösung gilt diese Steigung nur exakt am Punkt $t_n$. Nur ein infinitesimales Stück weiter in der Zeit könnte eine andere Steigung haben. Im numerischen *Euler explizit* Verfahren nehmen wir jedoch diese Steigung für den kompletten Zeitschritt an. Damit setzen wir eine lineare Funktion mit der entsprechenden Steigung an den bisherigen Punkt ($t_n$, $y_n$) an und ermitteln so das nächste Wertepaar ($t_{n+1}$, $y_{n+1}$). Wir können die Berechnungsvorschrift also schreiben als $y_{n+1} = y_n + \\Delta t \\cdot y'(y_n,t_n)$. Dieses Verfahren ist auch in der folgenden Abbildung skizziert. In der Abbildung ist der Zeitschritt $\\Delta t$ sehr groß, wodurch die Lösungen sich schnell voneinander entfernen. Man kann vermutlich gut nachvollziehen, dass eine Verringerung der Zeitschrittweite eine bessere Abbildung der Lösung zur Folge hat. Man nennt das Konvergenz (die numerische Lösung konvergiert gegen die exakte Lösung). Je gekrümmter die Lösung ist, desto kleiner müssen die Zeitschritte sein, um der Krümmung zu folgen."
+   ]
+  },
+  {
+   "attachments": {
+    "expl_Einschrittverfahren_small.PNG": {
+     "image/png": "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"
+    }
+   },
+   "cell_type": "markdown",
+   "id": "924aefc3",
+   "metadata": {},
+   "source": [
+    "![expl_Einschrittverfahren_small.PNG](attachment:expl_Einschrittverfahren_small.PNG)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2ef484d3",
+   "metadata": {},
+   "source": [
+    "Für unsere Problemstellung nutzen wir die in Uebung 8 mit *SymPy* hergeleitete DGL:\n",
+    "$\\frac{\\mathrm{d}}{\\mathrm{d}t}v(t) = \\frac{\\frac{\\rho}{2}v(t)^2C_WA-mg}{m}$ und $\\frac{\\mathrm{d}}{\\mathrm{d}t}h(t) = v(t)$. Wir haben also zwei gekoppelte DGL. Das ist aber kein Problem. Wir können einfach in jedem Zeitschritt beide Gleichungen lösen, da alle Daten vorhanden sind. Wir setzen also die bekannte Geschwindigkeit $v(t_n)$ in $\\frac{\\frac{\\rho}{2}v(t)^2C_WA-mg}{m}$ ein und erhalten den Wert für die aktuelle Beschleunigung. Mit diesem errechnen wir den Wert der Geschwindigkeit im nächsten Zeitschritt. Für die Höhe setzen wir auch die momentane Geschwindigkeit in $v(t)$ ein. Das entspricht bereits der Änderung der Höhe, sodass wir den Wert der nächsten Höhe ermitteln können.\n",
+    "\n",
+    "Nun wissen wir, wie wir das Ergebnis rechnerisch ermitteln wollen. Nun müssen wir noch überlegen, wie wir diese Berechnung im Programm umsetzen wollen. Als Ergebnis bieten sich numpy-Arrays an, die die Zeitreihen von $t$,$v$ und $h$ speichern, da wir diese einfach mit ````plt.plot(t,v)```` ansehen können. Dann benötigen wir die Parameter für den Berechnungsfall ($g, m, \\rho, C_W, A$) mit Anfangsbedingungen $v_0, h_0$). Zuletzt benötigen wir Parameter für die Zeitsteuerung. Eine Anfangszeit, Endzeit und den Zeitschritt $\\Delta t$, den wir ````dt```` nennen. Mit diesen Daten können wir eine Schleife aufbauen, die über alle Zeitschritte iteriert, die Berechnungen ausführt und die neuen Ergebnisse in das entsprechende Array einträgt. Nachdem alle Zeitschritte berechnet sind, möchten wir die Ergebnisse plotten."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cc66e876",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Umsetzung**\n",
+    "    \n",
+    "Wir wollen unseren Code anhand des Beispiels 1 aus Ãœbung 8 testen. Dazu verwenden wir folgende Werte (in SI Basiseinheiten):\n",
+    "\n",
+    "|Größe|Wert|\n",
+    "|-----|-----|\n",
+    "|$g$ | 9.81 |\n",
+    "|$m$ | 1 |\n",
+    "|$rho$ | 1.225 |\n",
+    "|$C_W$ | 0.18 |\n",
+    "|$A$ | 0.008 |\n",
+    "|$v_0$ | 0 |\n",
+    "|$h_0$ | 1200 |\n",
+    "    \n",
+    "Die Zeit soll von 0s bis 20s gehen, bei einer Zeitschrittweite von 0.25s.\n",
+    "    \n",
+    "Diese Variablen definieren wir zunächst. Dann erstellen wir die numpy-Arrays für t, v, und h. t füllen wir gleich komplett mithilfe von  ````np.arange()```` und den Variablen zur Zeitsteuerung. v und h  legen wir in dieser Version als Array mit zunächst nur einem Eintrag, der Anfangsbedingung, an.\n",
+    "    \n",
+    "Dann iterieren wir in einer for-Schleife über alle Elemente des Arrays mit den Zeitwerten. Da wir immer den folgenden Zeitschritt berechnen, lassen wir die Schleife nur bis zum vorletzten Eintrag gehen. Sonst hätten wir Ergebnisse für einen Zeitschritt später, aber keinen Wert für t im Array. Innerhalb der Schleife berechnen wir zunächst a mithilfe der aktuellen Werte (darauf greifen wir mit dem Index [-1] zu. und führen anschließend die Berechnung von $v_{n+1}$ und $h_{n+1}$ aus. Die Ergebnisse hängen wir an die Arrays an. Allerdings könn neue Elemente an numpy Arrays nicht wie an Listen angehängt werden. Es gibt eine Funktion ````np.append(array, value)````, die wir nutzen. Sie erzeugt aber einen neuen Array, den wir mit dem gleichen Namen wie vorher abspeichern.\n",
+    "    \n",
+    "(Hintergrund: numpy arrays stehen im Speicher immer zusammen, während bei Listen die Elemente nur wissen, wo im Speicher das nächste Element zu finden ist. Das auszuwerten und den Sprung im Speicher zu machen ist aber langsamer, als einfach einen Platz im Speicher weiterzugehen. Dafür können beliebig neue Listenelemente angehängt werden. Bei numpy arrays steht der Geschwindigkeitsvorteil im Vordergrund. Dafür kann der Array nicht beliebig erweitert werden, da der Speicher ja belegt sein könnte. Es muss also immer ein neuer Array an einer Stelle mit genug Platz im Speicher angelegt werden)\n",
+    "    \n",
+    "Zuletzt geben wir die Ergebnisse mit Matplotlib aus.\n",
+    "    \n",
+    "In der Notebookversion ohne Lösung kannst du dich selbst daran versuchen, die Zeilen zu füllen. Die Kommentare und angefangenen Zeilen geben den Rahmen vor. An Stellen, wo etwas ergänzt werden muss, steht ein '?'. Wenn du an einer Stelle nicht weiterkommst, nimm ruhig das Notebook mit Lösung zur Hilfe. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "9593b4b7",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a34131fd",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Parameter (zusätzliche Ergänzen)\n",
+    "g = '?'\n",
+    "'?'\n",
+    "\n",
+    "#Zeitschritte\n",
+    "t0 = '?'\n",
+    "te = '?'\n",
+    "dt = '?'\n",
+    "\n",
+    "#Anfangswerte\n",
+    "'?'\n",
+    "\n",
+    "#Lösungsfelder anlegen\n",
+    "t = np.arange(t0,te,dt)\n",
+    "v = np.array([v_0,])\n",
+    "h = '?'\n",
+    "\n",
+    "#Zeitschrittverfahren - Schleife über t (da immer von t bis t+dt gerechnet wird, wird das letzte t ausgeklammert)\n",
+    "for '?' in '?':\n",
+    "    \n",
+    "    #Ermittle Beschleunigung zum aktuellen Zeitpunkt\n",
+    "    #Mit [-1] wird immer auf das neueste Element, also den aktuellen Zustand zugegriffen\n",
+    "    \n",
+    "    a = '?'\n",
+    "    \n",
+    "    #Ermittle v und s des nächsten Schrittes unter Annahme konstanter a und v für den Schritt\n",
+    "    v_step = v[-1] + '?'\n",
+    "    h_step = '?'\n",
+    "    \n",
+    "    #Hinzufügen der Ergebnisse in die Arrays. (Durch das neu speichern nicht sehr effizient)\n",
+    "    v = np.append(v, v_step)\n",
+    "    h = '?'\n",
+    "    \n",
+    "#Plotten der Ergebnisse v(t)\n",
+    "'?'"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d0483bdf",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Plotten der Ergebnisse h(t)\n",
+    "'?'"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d52779ed",
+   "metadata": {},
+   "source": [
+    "Wir haben nun numerische Lösungen für die Problemstellung 1 gefunden. Man kann den Einfluss des Luftwiderstands gut erkennen. Nutze den oben stehenden Code gerne, um verschiedene Parametervariationen zu untersuchen, oder die Zeitschrittweite zu verändern und diesen Einfluss zu beobachten.\n",
+    "\n",
+    "Hier noch ein kleiner Exkurs zur Zeitschrittweite in expliziten Verfahren: Wie in den Mathematikvorlesungen genauer behandelt wird, können explizite Methoden instabil werden, wenn die Zeitschritte für gegebene Problemstellungen zu groß sind. Ohne die Bedingungen und Hintergründe zu vertiefen, kannst du dir das hier ansehen (Alle der im Folgenden aufgeführten Zeitschritte sind deutlich zu groß für eine realitätsnahe Simulation). Lass dazu die Zeit z.B. bis 500 s laufen und verwende Zeitschrittweiten 10 s, 12 s, 16 s und 17 s. Bei 10 s siehst du in der Geschwindigkeit eine Oszillation, die aber abklingt und sich auf der Gleichgewichtsgeschwindigkeit einpendelt. Bei 12 s baut sich eine Oszillation auf, die nicht abklingt. Bei 16 s ist diese Oszillation deutlich ungleichmäßiger und bei 17 s wird die Oszillation extrem angefacht, sodass jedes lokale Maximum Größenordnungen größer ist, als das vorherige. Die Rechnung bricht ab, da die Werte den maximalen Wert für float Variablen ($1.797\\cdot10^{308}$) überschreiten. Die kritische Zeitschrittweite ist problemabhängig. Man kann daher nicht ganz allgemein sagen, wie groß Zeitschritte sein müssen. Es gibt auch numerische Verfahren (implizite Verfahren), die nicht instabil werden können. Das bedeutet aber nur, dass solch exzessives Aufschaukeln ausgeschlossen ist. Es bedeutet nicht automatisch, dass die Ergebnisse bei großen Zeitschritten viel mit der exakten Lösung zu tun haben.\n",
+    "\n",
+    "#### <font color='blue'> **Performance**\n",
+    "\n",
+    "In der Aufgabenstellung war gefordert, das Skript möglichst rechenzeitschonend aufzubauen und dazu verschiedene Arten der Arbeit mit den Arrays zu vergleichen. Bevor wir die zweite Variante programmieren, wollen wir dafür sorgen, dass wir die Geschwindigkeit der Rechnung vergleichen können. Dazu messen wir die Zeit, die die Schleife benötigt. Das Paket ````time```` bietet eine Methode ````time()````, die die aktuelle Uhrzeit, gemessen in s (inkl. Nachkommastellen) seit dem Zeitpunkt 01.01.1970, 0:00:00, ausgibt. Die Differenz dieser Zeit vor und nach dem Durchlaufen der Schleife gibt uns die Laufzeit. Um die Zeit besser vergleichen zu können, erhöhen wir die Anzahl an Iterationen, indem wir die Zeitschrittweite auf 0.001 s reduzieren und bis 50 s (also 50.000 Iterationen) rechnen. Wir speichern das Ergebnis und die benötigte Zeit, um es später mit der verbesserten Methode vergleichen zu können."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "fceff05a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Wiederholung der Rechnung mit mehreren Zeitschritten und Rechenzeitmessung\n",
+    "\n",
+    "import time \n",
+    "\n",
+    "#Zeitschritte\n",
+    "'?'\n",
+    "\n",
+    "#Lösungsfelder anlegen bzw, zurücksetzen\n",
+    "'?'\n",
+    "\n",
+    "#Zeitmessung starten\n",
+    "clock_start = '?'\n",
+    "\n",
+    "#Zeitschrittverfahren - Schleife über t (kann von oben übernommen werden, oder ohne Vorlage nochmal ausprobiert werden)\n",
+    "for '?':\n",
+    "    \n",
+    "    #Ermittle Beschleunigung zum aktuellen Zeitpunkt\n",
+    "    '?'\n",
+    "    #Ermittle v und s des nächsten Schrittes unter Annahme konstanter a und v für den Schritt\n",
+    "    '?'\n",
+    "    #Hinzufügen der Ergebnisse in die Arrays. (Durch das neu speichern nicht sehr effizient)\n",
+    "    '?'\n",
+    "\n",
+    "#Speichern der Ergebnisse für den Vergleich\n",
+    "v_var1 = v\n",
+    "\n",
+    "#Zeit seit start der Zeitmessung\n",
+    "elapsed_time = '?'\n",
+    "\n",
+    "\n",
+    "# Das folgende ist ein \"f-string\": Eine komfortable Art, Variablen mit bestimmtem Format in einem String auszugeben.\n",
+    "# Ein aktualisiertes Version des ersten Notebooks \"Python Grundlagen\" mit einer Erklärung dazu steht nun bereit.\n",
+    "print(f\"elapsed time: {elapsed_time:.3f}s\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d34214db",
+   "metadata": {},
+   "source": [
+    "Wie in der Erklärung zu ````np.append()```` bereits angesprochen, wird in jeder Iteration das Array neu angelegt. Diese Les- und Schreibvorgänge benötigen Zeit. Wir können daher das Skript hinsichtlich der Laufzeit verbessern, indem wir von Beginn an die Arrays in der geforderten Größe anlegen und überall eine 0 speichern. Dann müssen diese nicht ständig neu geschrieben werden. Wir können dann allerdings nicht mehr mit [-1] auf den neuesten Wert zugreifen, sondern wir müssen den entsprechenden Eintrag mit dem passenden Index ansteuern. Wir iterieren in der Schleife also über eine Zählvariable i, die dem Index des aktuellen Zeitpunkts entspricht. Die Ergebnisse tragen wir in das Array in das Feld i+1 ein. Durch die feste Zeitschrittweite ist die Anzahl benötigter Iterationen bekannt. Der Array t hat die benötigte Länge, die wir mit ````len(array)```` heruasfinden. Die anderen Arrays benötigen die selbe Länge und wir müssen die Zählvariable von 0 bis zum vorletzten Eintrag laufen lassen. Die benötigte Zeit ermitteln wir analog. Zum Schluss lassen wir uns die Zeit ausgeben, einen prozentualen Vergleich mit der zuvor benötigten Zeit, sowie einen Plot mit den Ergebnissen aus beiden Rechnungen, um die Gleichheit zu verifizieren."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2dec5164",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Modifizierte Version, in der die np.arrays nicht ständig neu gespeichert werden, sondern mit der bekannten Anzahl an Zeitschritten mit 0 initialisiert werden.\n",
+    "\n",
+    "#Zeitschritte\n",
+    "\n",
+    "#Lösungsfelder anlegen bzw, zurücksetzen\n",
+    "t = np.arange(t0,te,dt)\n",
+    "v = np.zeros('?')\n",
+    "h = '?'\n",
+    "\n",
+    "v[0] = '?'\n",
+    "h[0] = '?'\n",
+    "\n",
+    "#Zeitmessung starten\n",
+    "'?'\n",
+    "             \n",
+    "#neue Schleife, diesmal über i             \n",
+    "for '?' in '?':\n",
+    "    \n",
+    "    #Ermittle Beschleunigung zum aktuellen Zeitpunkt\n",
+    "    a = '?'\n",
+    "    \n",
+    "    #Ermittle v und s des nächsten Schrittes unter Annahme konstanter a und v für den Schritt\n",
+    "    v_step = '?'\n",
+    "    h_step = '?'\n",
+    "    \n",
+    "    #Hinzufügen der Ergebnisse in die Arrays\n",
+    "    v['?'] = '?'\n",
+    "    h['?'] = '?'\n",
+    "\n",
+    "#Zeitmessung auswerten\n",
+    "elapsed_time_2 = '?'\n",
+    "\n",
+    "#Auswertung der Zeitmessung und Plot diesmal vorgegeben\n",
+    "print(f\"elapsed time: {elapsed_time_2:.4f}s \\n{(elapsed_time-elapsed_time_2)/elapsed_time:.1%} faster\")\n",
+    "\n",
+    "plt.plot(t,v_var1, label = \"append to array\")\n",
+    "plt.plot(t,v, label = \"preallocate array\")\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.legend()\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cd3e6b0d",
+   "metadata": {},
+   "source": [
+    "Wir sehen also, dass die Rechenzeit stark davon profitiert, wenn die Arrays nicht ständig neu gespeichert werden müssen. Bei der Arbeit mit Numpy Arrays ist es also anzuraten, die Größe der Arrays konstant zu halten, falls möglich. Man nennt das auch *preallocate*, also vorzeitig Speicher anfordern."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1d419556",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>**Problemstellung 2: Fall mit Fallschirmöffnung - SciPy**\n",
+    "\n",
+    "#### <font color='blue'>**Aufgabenstellung**\n",
+    "\n",
+    "Es soll ein Skript entwickelt werden, das einen Fall mit Luftwiderstand mit Öffnen eines Fallschirms simuliert. Dabei soll nicht das selbst implementierte *Euler explizit* Verfahren genutzt werden, sondern das Paket SciPy verwendet werden, das höherwertige Verfahren in sehr effizienter Implementierung zur Verfügung stellt, genutzt werden. Es ist zu empfehlen das Skript durch schrittweises Hinzufügen von Komplexität zu entwickeln, um den Umgang mit der Lösungsmethode von SciPy zu erlernen. Zum Schluss soll das Skript einen freien Fall simulieren, bei dem in einer bestimmten Höhe der Fallschirm ausgelöst wird, was eine bestimmte Sekundenanzahl dauert (Öffnen des Fallschirms durch Veränderung von $A$ und $C_W$, linear interpoliert über die Öffnungszeit)."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f61a35f9",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Vorüberlegung**\n",
+    "\n",
+    "Wie in der Aufgabenstellung vorgeschlagen, lassen wir das Skript schrittweise komplexer werden. Bei der Entwicklung von Programmen bietet es sich an, kleine Bestandteile einzeln oder nach kleinen Änderungen zu testen, ob es so funktioniert, wie erwartet. Das grenzt bei Fehlern die Anzahl der möglichen problematischen Stellen ein.\n",
+    "\n",
+    "Wir wollen also ganz simpel beginnen, und zunächst anhand einer noch einfacheren DGL, der der gleichförmigen Beschleunigung (also ohne Luftwiderstand) testen, ob wir die Funktion aus *SciPy* ````scipy.integrate.solve_ivp()```` (ivp bedeuted initial value problem, also Anfangswertproblem) korrekt verwenden.\n",
+    "    \n",
+    "* Anschließend wollen wir den Luftwiderstand einbauen.  \n",
+    "* Danach ein plötzliches Öffnen des Fallschirms nach vorgebener Zeit realisieren\n",
+    "* Dann soll das Öffnen des Fallschirms nach bestimmter Zeit eine gewisse Zeit dauern.  \n",
+    "* Der nächste Schritt ist das plötzliche Öffnen bei gegebener Höhe (der Zeitpunkt ist unbekannt).   \n",
+    "* Zuletzt wollen wir das Öffnen bei gegebener Höhe (zu unbekanntem Zeitpunkt) und einer benötigten Zeit der Öffnung (zeitabhängig, aber zu unbekanntem Zeitpunkt) einbauen. "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ce3585dc",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Umsetzung**\n",
+    "    \n",
+    "Wir beginnen mit dem Import der nötigen *SciPy* Module."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "65a9748c",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import scipy.integrate\n",
+    "import scipy.interpolate"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "58615438",
+   "metadata": {},
+   "source": [
+    "Der erste Fall, den wir betrachten wollen, ist die Gleichförmig beschleunigte Bewegung. In dieser ist die DGL sehr übersichtlich, sodass sie sich gut eignet, um die Verwendung der Lösungsfunktion ````scipy.integrate.solve_ivp()```` zu testen. Diese Funktion benötigt als Parameter in allen Fällen eine Funktion, die die Änderungsrate von y ausgibt (entspricht also der rechten Seite der DGL), eine Liste mit zwei Einträgen für die zu berechnende Zeitspanne, und einen Anfangswert y_0.\n",
+    "\n",
+    "Y eine Liste, bzw. 1D-Array mit mindestens einem Eintrag. Mehrere Einträge sind für für gekoppelte DGL Systeme mit mehreren Unbekannten notwendig. Das ist bei uns der Fall, denn wir haben eine Gleichung für die Geschwindigkeit, und eine Gleichung für die Höhe, die aber von der Geschwindigkeit abhängig ist. Wir definieren also ````y[0]```` als die Geschwindigkeit und ````y[1]```` als die Höhe. Das bedeuted, dass unser Anfangswert y_0 eine Liste oder ein Array mit zwei Einträgen sein muss, und dass unsere Funktion, die wir der Lösungsfunktion übergeben werden, auch eine Liste oder Array mit zwei Einträgen ausgibt. Diese Ausgabe ist einmal die Änderung der Geschwindigkeit (also Beschleunigung) und einmal die Änderung der Höhe (also Geschwindigkeit). Diese Funktion beschreibt die DGL und wird von der Lösungsfunktion in den Zeitschritten ausgewertet. Ich nenne sie ab jetzt DGL-Funktion.\n",
+    "\n",
+    "Zur Erinnerung: $ \\frac{\\mathrm{d}}{\\mathrm{d}t} v = -g$ und $ \\frac{\\mathrm{d}}{\\mathrm{d}t} h = v$ ist unser DGL System für die DGL-Funktion. Die DGL-Funktion benötigt immer als erste Parameter die Zeit (t) und den aktuellen Ergebniswert (y). Danach können weitere selbst definierte Parameter kommen, falls erforderlich, wie zum Beispiel bei uns für das g.\n",
+    "\n",
+    "Wenn die DGL-Funktion weitere Parameter bekommt, so muss auch die Lösungsfunktion diese Parameter bekommen, damit sie die DGL-Funktion damit aufrufen kann. Das wird über den optionalen Parameter ````args```` gemacht. Args ist eine Liste mit den Parametern in genau der richtigen Reihenfolge für die DGL-Funktion.\n",
+    "\n",
+    "Der letzte optionale Parameter der Lösungsfunktion, den wir hier verwenden ist ````max_step````. Mit diesem geben wir eine maximale Schrittweite vor. Ist dieser nicht gegeben, entscheidet sich die Lösungsfunktion selbst für eine Schrittweite, die ihr sinnvoll erscheint. Wir möchten aber eine schön glatte Lösung haben und definieren deshalb eine maximale Schrittweite von 0.1.\n",
+    "\n",
+    "Im folgenden Code-Abschnitt definieren wir zunächst die DGL-Funktion (wir nennen sie ````func````) und legen anschließend die Felder für die Anfangswerte und das Zeitintervall an (wir nutzen die gleichen Werte wie in Übung 8: $v_0 = 1$, $h_0 = 10$. Dann rufen wir die Lösungsfunktion mit allen besprochenen Parametern auf und speichern diese in einer Variablen ````sol1````, die wir uns mit ````print()```` genauer ansehen wollen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "9a41ec39",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [],
+   "source": [
+    "#DGL Funktion\n",
+    "def func(t,y,g):\n",
+    "    return['?', '?'] #y[0] ist die aktuelle Geschwindigkeit\n",
+    "\n",
+    "#Anfangswerte\n",
+    "v_0, h_0 = 1, 10\n",
+    "y_0 = '?'\n",
+    "\n",
+    "#Zeitspanne\n",
+    "t_span = '?'\n",
+    "\n",
+    "#Lösung der DGL (hier einmal vorgegeben)\n",
+    "sol1 = scipy.integrate.solve_ivp(func, t_span, y_0, max_step = 0.1, args=(g,))\n",
+    "print(sol1)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d3a1f0ef",
+   "metadata": {},
+   "source": [
+    "Das Ergebnis ist ein Dictionary mit vielen Informationen über die Lösung. Für uns nun am interessantesten sind die Arrays mit den Zeit- und Ergebnisdaten hinter den Indizes \"t\" und \"y\". Wir nutzen Matplotlib, um die Verläufe von v und h über t zu plotten. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "fe135be9",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Plots nun immer gegeben. Beachte den Zugriff auf das Dictionary\n",
+    "plt.plot(sol1[\"t\"], sol1[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4936e08c",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "plt.plot(sol1[\"t\"], sol1[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()\n",
+    "\n",
+    "#t_e und v_e durch Interpolieren Herausfinden:\n",
+    "t_e = scipy.interpolate.interp1d(sol1[\"y\"][1],'?')('?')\n",
+    "v_e = '?'\n",
+    "print(f\"t_e = {t_e:.2f} s \\nv_e = {v_e:.2f} m/s\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "feaf1955",
+   "metadata": {},
+   "source": [
+    "In Aufgabe 8 war nach der Zeit des Erreichens von h=0 $t_e$ und der erreichten Geschwindigkeit gefragt. Wir können nun die Interpolationsmethoden von SciPy verwenden, um diese Werte aus den Datenreihen zu ermitteln. Dazu interpolieren wir zuerst, bei welchem t eine Höhe von 0 erreicht wird, und anschließend, welche Geschwindigkeit bei dem gefundendenen $t_e$ anliegt. Diese Werte lassen wir uns ausgeben und sehen, dass diese gut mit den Werten aus Übung 8 übereinstimmen.\n",
+    "\n",
+    "Unser Verfahren funktioniert also, sodass wir die Komplexität erhöhen können. Wir bringen den Luftwiderstand ein. Dazu verwenden wir nach wie vor die DGL $\\frac{\\mathrm{d}}{\\mathrm{d}t}v(t) = \\frac{\\frac{\\rho}{2}v(t)^2C_WA-mg}{m}$ für v. Wir erweitern also die DGL-Funktion um die entpsrechenden Parameter und ändern die Rückgabe der Änderung der Geschwindigkeit. Zudem wählen wir passendere Anfangsbedingungen für diesen geänderten Fall wie in Problemstellung 1 ($v_0 = 0, h_0 = 1200$) und Zeitintervall 0 - 20s. Für die restlichen Parameter haben wir noch die Werte aus Problemstellung 1 zur Verfügung und lassen diese unverändert. Wir passen den Aufruf der Lösungsfunktion an und erhöhen die maximale Schrittgröße auf 0.25. Wir lassen uns die Ergebnisse wieder mit matplotlib grafisch darstellen und interpolieren für $t_e$ und $v_e$."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "20c0045e",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def func2(t,y,g,'?'):\n",
+    "    return '?'\n",
+    "\n",
+    "v_0, h_0 = 0, 1200\n",
+    "y_0 = [v_0, h_0]\n",
+    "\n",
+    "t_span = [0,20]\n",
+    "\n",
+    "sol2 = scipy.integrate.solve_ivp('?')\n",
+    "\n",
+    "plt.plot(sol2[\"t\"], sol2[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e5d25624",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "plt.plot(sol2[\"t\"], sol2[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "428ebd1a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#t_e durch interpolieren Herausfinden:\n",
+    "#t_e und v_e durch Interpolieren Herausfinden:\n",
+    "t_e = '?'\n",
+    "v_e = '?'\n",
+    "print(f\"t_e = {t_e:.2f} s \\nv_e = {v_e:.2f} m/s\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7639511e",
+   "metadata": {},
+   "source": [
+    "Die Ergebnisse stimmen gut mit Aufgabenstellung 1 überein. Als nächstes wollen wir noch ein Problem mit der hergeleiteten Gleichung angehen. Die Herleitung besagte, dass die Luftwiderstandskraft der Gewichtskraft entgegengerichtet ist. Das ist nur für eine Abwärtsbewegung gültig. In einer Aufwärtsbewegung bremst (bei dieser Herleitung) der Luftwiderstand den Aufstieg nicht, sondern verlängert ihn, oder lässt ihn sogar über alle Grenzen steigen, wenn die Anfangsgeschwindigkeit höher ist als die Gleichgewichtsgeschwindigkeit (da dann die Kraft nach oben gößer ist, als nach unten). Wir können das ganz einfach das mit der Anfangsbedingung $v_0 = 110$ überprüfen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "502ab30d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "v_0, h_0 = 110, 1200\n",
+    "y_0 = [v_0, h_0]\n",
+    "\n",
+    "t_span = [0,20]\n",
+    "\n",
+    "sol3 = scipy.integrate.solve_ivp(func2, '?')\n",
+    "plt.plot(sol3[\"t\"], sol3[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "16654a4e",
+   "metadata": {},
+   "source": [
+    "Wir könnten jetzt sagen, unser Modell soll nur für die Abwärtsbewegung genutzt werden. Das wäre aber eine starke Einschränkung. Stattdessen werden wir die Funktion erweitern, sodass sie unterscheidet und das Vorzeichen der Widerstandskraft abhängig von der Bewegungsrichtung setzt.\n",
+    "\n",
+    "Außer der neuen Version der Funktion bleibt das Vorgehen gleich. Wir werden allerdings in den nächsten Schritten meist nur die Geschwindigkeit überprüfen. Du kannst gerne Plots für die Höhe und die Interpolationen ergänzen, wenn du interessiert bist."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "21aa5eaf",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "def func3(t,y,'?'):\n",
+    "    if '?' > '?':\n",
+    "        return ['?']\n",
+    "    else:\n",
+    "        return ['?']\n",
+    "\n",
+    "sol3 = scipy.integrate.solve_ivp('?')\n",
+    "plt.plot(sol3[\"t\"], sol3[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7b64d873",
+   "metadata": {},
+   "source": [
+    "Jetzt steigt die Geschwindigkeit bei einer Aufwärtsbewegung nicht mehr an. Wenn man den Luftwiderstand oben etwas erhöht (z.B. durch Eintragen von 0.1 statt A (0.008) in args), sieht man noch besser, wie der Luftwiderstand vor allem in Betragsmäßig hohen Geschwindigkeiten einen Einfluss hat, und um 0 herum nur wenig.\n",
+    "\n",
+    "Für die nächsten Schritte verwenden wir die Anfangsbedingungen $v_0 = 10, h_0 = 500$.\n",
+    "\n",
+    "Im nächsten Schritt wollen wir simulieren, was passiert, wenn sich ein kleiner Fallschirm öffnet. Dadurch steigen A und C_W an. Diese Änderung können wir einfach in der DGL Funktion vornehmen. Wir könnten die Details der Änderung (Zeitpunkt und neue Werte) entweder direkt festlegen (\"hardcoden\"), oder als weitere Parameter übergeben. Hier entscheiden wir uns für das Übergeben als Parameter. In der Funktion überprüfen wir zu Beginn, ob die Zeit hinter dem Zeitpunkt des Öffnens liegt. In diesem Fall werden C_W und A mit den neuen Werten ersetzt. Dabei sollten wir im Hinterkopf haben, dass die Funktion in jedem Zeitschritt neu aufgerufen wird, und so die Änderung der Parameter auch immer funktionieren muss. Oder in anderen Worten, es reicht nicht, die Parameter einmal zu ändern. Die Funktion merkt es sich nicht. Wir geben der Lösungsmethode beispielsweise die Werte 10s für den Zeitpunkt und $C_{W,neu} = 1.33$ und $A_{neu} = 0.2$ als Parameter. Wir können diese Werte als Literale übergeben, müssen also nicht zwingend Variablen dafür anlegen.\n",
+    "\n",
+    "Als weitere Verbesserung nutzen wir nicht mehr eine Fallunterscheidung für die Richtung der Bewegung, sondern die Funktion ````np.sign()````. Mathematisch ist diese definiert als $\\frac{x}{|x|}$. Wir erhalten also bei einem positiven Wert 1, und bei einem negativen Wert -1. Bei 0 wird eine 0 ausgegeben, auch wenn das strenggenommen mathematisch ein Grenzwert ist (da wir nicht durch 0 teilen können). Wir nutzen diese Funktion mit der Geschwindigkeit, um das Vorzeichen der Kraft zu beeinflussen. Da wir bei positiver Geschwindigkeit ein negatives Vorzeichen für die Kraft benötigen und umgekehrt, multiplizieren wir -1. dazu. Das schöne ist, dass wir nun nur ein return Statement benötigen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b94915ce",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "v_0, h_0 = 10, 500\n",
+    "y_0 = [v_0, h_0]\n",
+    "\n",
+    "#Leg den Namen der neuen benötigten parameter selbst fest\n",
+    "def func4(t, y, g, '?'):\n",
+    "    # Änderung der Parameter\n",
+    "    if '?':\n",
+    "        C_W = '?'\n",
+    "        '?'\n",
+    "    # Kompaktere Version der Unterscheidung der Richtung durch Nutzen von -1*np.sign(y[0]) -> Ergibt -1, falls v positiv. \n",
+    "    return [(-1*np.sign(y[0])*'?', '?'\n",
+    "    \n",
+    "sol4 = scipy.integrate.solve_ivp('?')\n",
+    "plt.plot(sol4[\"t\"], sol4[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1a1df676",
+   "metadata": {},
+   "source": [
+    "Wir sehen, dass nach 10 s der Betrag der Geschwindigkeit stark reduziert wird, da der Fallschirm für mehr Luftwiderstand sorgt. So stellt sich eine signifikant langsamere Gleichgewichtsgeschwindigkeit ein. Hier lassen wir uns auch einmal die Höhe ausgeben:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "69c9cc7a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "plt.plot(sol4[\"t\"], sol4[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cebc30f2",
+   "metadata": {},
+   "source": [
+    "Der nächste Schritt ist eine Vorbereitung auf komplexere Parameteränderungen.\n",
+    "Wir wollen vielleicht nicht noch mehr Parameter mit der Lösungsfunktion an die DGL-Funktion übergeben und die DGL-Funktion so groß mit vielen Fallunterscheidungen werden lassen. (Das ist aber eine Design-Entscheidung. Theoretisch wäre das kein Problem).\n",
+    "\n",
+    "Um das zu verhindern können wir auch Funktionen für die entsprechenden Parameter definieren, und der Lösungs- bzw. DGL-Funktion diese Funktionen anstelle von diskreten Werten übergeben. Dann können wir in den Funktionen für die Parameter alles definieren, wie wir es wollen, und müssen in der DGL-Funktion nur noch die Funktion mit ihren entsprechenden Abhängigkeiten aufrufen. Programmieren wir also den selben Fall wie eben, aber mit diesem anderen Ansatz.\n",
+    "\n",
+    "Wir erstellen also von t abhängige Funktionen für A und C_W, die je nach Zeitpunkt einen anderen Wert ausgeben. Die Werte sind hier hard-gecodet. Wir verstehen die Funktionen als eine komplexere Möglichkeit der Parameterdefinition.\n",
+    "\n",
+    "In der DGL Funktion muss nun berücksichtigt werden, dass A und C_W keine Skalare mehr sind, sondern Funktionen von t. Wir müssen daher in der Formel bei jedem A und C_W dafür sorgen, dass es ein Aufruf der Funktion von t ist.\n",
+    "\n",
+    "In der Lösungsfunktion übergeben wir für A und C_W nun nicht die Skalaren Werte, sondern die Funktionen (mithilfe des Funktionsnamens aber ohne Parameteraufruf).\n",
+    "\n",
+    "Das Prüfen der Ergebnisse folgt wie zuvor."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "923eb6b0",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def func_A('?'):\n",
+    "    if '?':\n",
+    "        return '?'\n",
+    "    else:\n",
+    "        '?'\n",
+    "\n",
+    "def '?':\n",
+    "    '?'\n",
+    "\n",
+    "#In der Funktion behandeln wir nun C_W und A als Funktionen, da wir wissen, dass hier zum Lösen auch eine Funktion übergeben wird\n",
+    "def func5('?'):\n",
+    "    return ['?']\n",
+    "\n",
+    "#Übergabe der Funktionen über ihren Namen als Parameter\n",
+    "sol5 = scipy.integrate.solve_ivp('?')\n",
+    "\n",
+    "plt.plot(sol5[\"t\"], sol5[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "9182e1c9",
+   "metadata": {},
+   "source": [
+    "An diesem Beispiel konnten wir sehen, dass das Ãœbergeben von Funktionen als Parameter auch funktioniert.\n",
+    "\n",
+    "Damit können wir zum nächsten Schritt kommen: Statt des plötzlichen Sprungs der Parameter, wollen wir das langsame Öffnen des Fallschirms innerhalb von 4s durch eine lineare Interpolation annähern. Wir ändern also die Funktionen für A und C_W so, dass wir zunächst die Parameter einstellen, wann das Öffnen beginnt (8s), wann es endet (12s), wie der Wert vorher ist, und wie der Wert nachher ist (s.o.). Dann wird mittels Fallunterscheidung geprüft, ob die aktuelle Zeit t vor, während, oder nach dem Öffnen liegt, und ein entsprechender Wert ausgegeben. Liegt der Zeitpunkt innerhalb des Öfnnungsintervalls wird linear zwischen den beiden Werten interpoliert. Das kann manuell, oder mit der SciPy Funktion gemacht werden.\n",
+    "\n",
+    "An der DGL-Funktion müssen wir nichts ändern und an der Lösungsfunktion nur die Funktionsnamen für A und C_W, da wir diese mit einem Hinweis auf die lineare Funktion (ramp) versehen haben.\n",
+    "\n",
+    "In der Auswertung sehen wir einen glatteren Geschwindigkeitsverlauf. Je länger wir den Zeitraum einstellen und je niedriger der erhöhte Luftwiderstand ist, desto glatter wird er."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a6be2f0d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def func_A_ramp'?':\n",
+    "    t_start = '?'\n",
+    "    '?'\n",
+    "    if '?':\n",
+    "        return '?'\n",
+    "    elif '?':\n",
+    "        return '?' #linear interpoliert\n",
+    "    else:\n",
+    "        return '?'\n",
+    "\n",
+    "def '?':\n",
+    "    '?'\n",
+    "\n",
+    "def func5('?'):\n",
+    "    return ['?']\n",
+    "\n",
+    "sol5 = scipy.integrate.solve_ivp('?')\n",
+    "\n",
+    "plt.plot(sol5[\"t\"], sol5[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "34074597",
+   "metadata": {},
+   "source": [
+    "Als nächstes wollen wir den Schirm nicht zu einer bestimmten (bekannten) Zeit öffnen, sondern zu einer bestimmten Höhe (300m) öffnen. Allerdings ist der Zeitpunkt dieser Änderung unbekannt, da er von der Lösung der DGL abhängt. Zunächst wollen wir wieder das plötzliche Öffnen ohne Interpolation umsetzen. Wir ändern also die Funktionen für A und C_W so, dass sie nicht mehr von t, sondern von h abhängig sind.\n",
+    "\n",
+    "Nun müssen wir auch wieder die DGL_Funktion anpassen und A und C_W die aktuelle Höhe, anstatt der aktuellen Zeit mitgeben. Auf die Höhe können wir über y zugreifen.\n",
+    "\n",
+    "Am Aufruf der Lösungsfunktion und der grafischen Darstellung ändert sich nichts."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b3ba319a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def func_A('?'):\n",
+    "    if '?':\n",
+    "        return '?'\n",
+    "    else:\n",
+    "        '?'\n",
+    "\n",
+    "def '?':\n",
+    "    '?'\n",
+    "\n",
+    "#In der Funktion behandeln wir nun C_W und A als Funktionen von h (also y[1]), da wir wissen, dass hier zum Lösen auch eine Funktion übergeben wird\n",
+    "def func6('?'):\n",
+    "    return ['?']\n",
+    "\n",
+    "#Übergabe der Funktionen über ihren Namen als Parameter\n",
+    "sol6 = scipy.integrate.solve_ivp('?')\n",
+    "\n",
+    "plt.plot(sol6[\"t\"], sol6[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a3c0b4b3",
+   "metadata": {},
+   "source": [
+    "Das hat funktioniert. Bis hierhin konnten wir alles gut in einer solchen Funktion für einen Parameter definieren.\n",
+    "\n",
+    "Das Ziel der Problemstellung ist etwas schwieriger. Der Fallschirm soll sich bei einer Höhe von 300m öffnen und dafür 4 Sekunden brauchen. Das können wir aber nicht so leicht in eine Funktion programmieren, da der Zeitpunkt des Öffnens nicht übergeben werden kann, weil wir ihn vor der Lösung nicht wissen. Wir können auch nicht in der Funktion selbst den Zeitpunkt  bei erreichen speichern, da die Funktion ja jedes mal neu ausgewertet wird und gespeicherte Werte somit zurückgesetzt werden. Wir benötigen aber für den zeitabhängigen Verlauf des Öffnens irgendwie die Startzeit.\n",
+    "\n",
+    "Wir werden daher stattdessen die Möglichkeit nutzen, eine Simulation abhängig von einer Bedingung abzubrechen (Hier: Erreichen der Auslösehöhe) und dann eine neue Berechnung für den Rest der Simulation starten. Darin können wir dann problemlos die 4 Sekunden Öffnungszeit berücksichtigen, da dann der Zeitpunkt bekannt ist. Zum Schluss werden wir die Ergebnisse aneinanderfügen.\n",
+    "\n",
+    "Wir beginnen erst einmal nur mit der ersten Hälfte, um zu prüfen, ob mit dem Event zum Beenden alles klappt. Wir benötigen also für den ersten Abschnitt wieder die ursprüngliche DGL-Funktion, ohne zeitabhängige Parameter.\n",
+    "\n",
+    "Dann erstellen wir die Funktion für das \"Event\". Die Funktion erhält die gleichen Argumente wie die DGL-Funktion und das Event gilt als eingetreten, wenn der Rückgabewert 0 erreicht, bzw. zwischen zwei Schritten das Vorzeichen wechselt. Das bedeuted, wir müssen die Differenz von der aktuellen Höhe und der gewünschten Auslösehöhe zurückgeben. Auf der Auslösehöhe wird 0 zurückgegeben.\n",
+    "\n",
+    "Die Funktion wird noch mit dem Attribut ````.terminal = True```` versehen. Das signalisiert der Lösungsfunktion, dass die Berechnung bei eintreten des Events beendet werden soll. Ansonsten würde die Berechnung weiterlaufen und das Eintreten des Events lediglich mit Zeit und y-Werten protokolliert.\n",
+    "\n",
+    "Diese Eventfunktion wird der Lösungsfunktion als zusätzlicher optionale parameter ````events```` übergeben.\n",
+    "\n",
+    "Hier lassen wir uns noch einmal die Lösung per ````print()```` ausgeben, um anzusehen, wie das Event protokolliert wird."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "48a754aa",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [],
+   "source": [
+    "#Konstanten\n",
+    "A = 0.008\n",
+    "C_W = 0.18\n",
+    "\n",
+    "#Funktion für DGL eigentlich bereits implementiert. Hier mit besserem Namen\n",
+    "def func_const_param('?'):\n",
+    "    return ['?']\n",
+    "\n",
+    "#Funktion zur Definition des Events (Erreichen von Auslösehöhe 300). \n",
+    "def event_reach_300m('?'):\n",
+    "    return '?'\n",
+    "\n",
+    "event_reach_300m.terminal = True #Dieses Attribut sorgt dafür, dass die Rechnung bei Eintreten des Events beendet wird. Ansonsten wird nur der Zeitpunkt und das Eintreten protokolliert\n",
+    "\n",
+    "sol_to_event = scipy.integrate.solve_ivp('?')\n",
+    "\n",
+    "print(sol_to_event)\n",
+    "\n",
+    "plt.plot(sol_to_event[\"t\"], sol_to_event[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "24cad3b5",
+   "metadata": {},
+   "source": [
+    "Wir können einerseits im Dictionary der Lösung sehen, dass (message), wann (t_events) und mit welchen Werten (y_events) das Event eingetreten ist, und sehen auch im Plot und den t,y Daten im Dictionary, dass die Simulation beendet wurde. Nun schauen wir uns an, wie man die Rechnung fortsetzen kann wir benötigen dazu zunächst die neuen Anfangsbedingungen. Diese bekommen wir entweder aus den Event-Informationen aus dem Dictionary, oder aus dem letzten y Datensatz:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "fb05cc05",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Nutzung der Event-Informationen:\n",
+    "y0_restart = sol_to_event[\"y_events\"][0][0]\n",
+    "t0_restart = '?'\n",
+    "print(y0_restart, t0_restart)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b10fe113",
+   "metadata": {},
+   "source": [
+    "Nun müssen wir eine Designentscheidung treffen, hier gibt es wieder kein richtig oder falsch. Lassen wir t da weiterlaufen, wo es aufgehört hat, oder beginnen wir erneut bei 0 und verschieben es im Nachhinein? Wenn wir t weiterlaufen lassen, ist das Zusammenfügen und das Ergebnis intuitiver. Dafür müssen wir mithilfe eines zusätzlichen Parameters für die DGL-Funktion dafür sorgen, dass wir der Rampenfunktion für A und C_W mitteilen können, zu welchem t die Simulation beginnt. Das wäre bei der anderen Variante nicht nötig. Dafür müsste man hinterher bei der Interpretation der Ergebnisse die Verschiebung bedenken. Ich möchte gerne die erste Variante zeigen, in der t weiterläuft.\n",
+    "\n",
+    "Wir passen also die Rampenfunktionen an, die nun sowohl t als auch t0 erhalten. Hierbei verzichten wir auf eine Fallunterscheidung, sondern nutzen für jedes mögliche t die Interpolationsfunktion von Scipy. Dazu definieren wir durch 3 Wertepaare eine schrittweise lineare Funktion. Zwischen t0 und t0+4s steigt der Wert vom Anfangswert zum Endwert, und zwischen t0+4 und t0+100000 bleibt der Endwert bestehen. Um die Werte vor t0 kümmern wir uns hier nicht, da wir wissen, dass die Funktion frühestens bei t0 verwendet wird. Allerdings müssen wir aufpassen, da wir die Funktion nur bis t0+100000 definiert haben. Wollen wir längere Zeit simulieren, muss das angepasst werden.\n",
+    "\n",
+    "Die DGL-Funktion muss dahingehend angepasst werden, dass sie A und C_W in Abhängigkeit der beiden Parameter auffruft.\n",
+    "\n",
+    "Der Lösungsfunktion müssen für den zweiten Schritt ebenfalls die angepassten Daten verwendet werden. Das betrifft das Zeitintervall (t0 bis 20 s), die Anfangsbedingungen y (haben wir eben schon ermittelt), die angepasste DGL-Funktion mit entsprechender Parameterliste. Ein Event brauchen wir nun nicht mehr."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ef96d3c1",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "t_span_restart = '?' #Anpassen des Zeitintervalls\n",
+    "\n",
+    "# 4s Rampe von t0 an. Diesmal ohne Fallunterscheidung, sondern durch weiterführende Definition der interpolierten Funktion\n",
+    "def func_A_4s('?'):\n",
+    "    A_before = 0.008\n",
+    "    A_after = 0.2\n",
+    "    return scipy.interpolate.interp1d(('?','?','?'),('?', '?', '?'))(t) #Zur Erklärung siehe Text oben\n",
+    "\n",
+    "def func_C_W_4s('?'):\n",
+    "     '?'\n",
+    "\n",
+    "# Angepasste DGL-Funktion zur Ãœbergabe von t0\n",
+    "def func_restart_variable('?'):\n",
+    "    return ['?']\n",
+    "\n",
+    "#Lösung des zweiten Teils\n",
+    "sol_restart = scipy.integrate.solve_ivp('?')\n",
+    "\n",
+    "plt.plot(sol_restart[\"t\"], sol_restart[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4c0e5fc4",
+   "metadata": {},
+   "source": [
+    "Das ist der zweite Teil der Rechnung. Fügen wir also die Ergebnisdaten zusammen (und nutzen dabei eine mit den anderen Lösungen vergleichbare Dictionary-Datenstruktur. Man könnte natürlich auch getrennte Arrays verwenden):"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4214e0aa",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "sol_combined = {}\n",
+    "sol_combined[\"t\"] = np.append(sol_to_event[\"t\"], sol_restart[\"t\"])\n",
+    "sol_combined[\"y\"] = [np.append(sol_to_event[\"y\"]'?', sol_'?'), np.append('?'.'?')]\n",
+    "\n",
+    "plt.figure(figsize=(10,4))\n",
+    "plt.subplot(1,2,1)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.subplot(1,2,2)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c4d68732",
+   "metadata": {},
+   "source": [
+    "Damit haben wir die Problemstellung 2 erfüllt.\n",
+    "\n",
+    "Durch die Zerstückelung des Codes mit den Zwischenerklärungen ist es allerdings nicht kompakt, und wenn man Werte verändern möchte, müsste man erst suchen, in welchem der Codeabschnitte diese erstellt wurden.\n",
+    "\n",
+    "Wir wollen daher noch einmal die Berechnung kompakt zusammenstellen. Dazu löschen wir mit dem nächsten Abschnitt ALLE Variablen des Notebooks (die angezeigten Ergebnisse bleiben da, aber wir können nicht mehr im Code darauf zugreifen). So können wir sicher sein, dass im dann folgenden Codeabschnitt alles nötige für die komplette Berechnung definiert wird. Wir kopieren (nur) die einzelnen Abschnitte aus den oben stehenden Segmenten zusammen und lassen unnötige Testausgaben und Zwischenerklärungen weg."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "19bc677c",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%reset"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4d34ec65",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Dies ist eine Zusammenstellung der nötigen Schritte für ein Skript, das Problemstellung 2 erfüllt und\n",
+    "#weniger zerstückelt ist als bei der schrittweise Erstellung oben. Es ist keine einzige neue Anweisung dabei.\n",
+    "\n",
+    "#import der packages\n",
+    "'?'\n",
+    "\n",
+    "#Konstanten\n",
+    "'?'\n",
+    "\n",
+    "#Anfangswerte und Zeitintervall\n",
+    "'?'\n",
+    "\n",
+    "#Zeitabhängige Funktionen für A und C_W\n",
+    "'?'\n",
+    "\n",
+    "#Eventfunktion (mit Zusweisung des Attributs zum Abbrechen der Lösung bei Eintreten)\n",
+    "'?'\n",
+    "\n",
+    "#DGL-Funktionen vor und nach dem Öffnen des Schirms\n",
+    "'?'\n",
+    "\n",
+    "#Lösung bis zum Event\n",
+    "'?'\n",
+    "\n",
+    "#Auslesen der neuen Anfangszeit und Bedingungen und Anpassen des Zeitintervalls:\n",
+    "'?'\n",
+    "\n",
+    "#Lösung nach dem Event\n",
+    "'?'\n",
+    "\n",
+    "#Kombination der Lösungsdictionaries\n",
+    "'?'"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ed33382b",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Testausgabe der finalen Lösung (da es nicht direkt zum Skript gehört in einem neuen Codefeld)\n",
+    "plt.figure(figsize=(10,4))\n",
+    "plt.subplot(1,2,1)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.subplot(1,2,2)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "3b076e14",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'> **Schlussbemerkung**\n",
+    "    \n",
+    "Wir haben nun gesehen, dass wir mit numerischen Methoden auch Problemstellungen bearbeiten können, die analytisch schwer zu erfassen sind. Einerseits ist anhand des *Euler explizit* Verfahrens gezeigt worden, wie man ein solches Verfahren selber implementieren kann und welchen Einfluss ungünstig gewählte Zeitschrittweiten haben können. Danach wurde die in *SciPy* enthaltene Methode für das numerische Lösen der DGL verwendet. Dabei wurde gezeigt, wie man veränderliche Parameter in die Funktion einbringen kann, wie man mit Events auf Bedingungen prüft und mehrere Rechnungen aneinander reihen kann.\n",
+    "\n",
+    "## <font color='blue'> **Ausblick**\n",
+    "\n",
+    "Wir können nun die gewünschten Daten erzeugen. Allerdings müssen wir die Daten direkt weiterverarbeiten, z.B. als Plot. Wenn wir irgendwann mal wieder etwas mit den Daten machen wollen, müssen wir diese neu berechnen. Bei so kleinen Rechenzeiten wie hier ist die Rechenzeit zwar noch kein großes Thema, aber bei längeren Rechenzeiten von Minuten, Stunden oder sogar Tagen ist das ein sehr großes Thema. Außerdem könnte es sein, dass wir die Daten jemand anderem zur Verfügung stellen wollen, aber nicht das Programm weitergeben möchten/können/dürfen. Wir wollen uns daher in der nächsten Übung damit beschäftigen, wie wir die Daten in Dateien langfristig abspeichern können, um sie zum Beispiel in anderen Skripten auszuwerten, oder an andere Personen zu übergeben. Außerdem wollen wir die Dateien auch selbst wieder einlesen können. Ein weiteres Thema wird die Erweiterung auf mehrere Raumdimensionen (x,z statt h) sein.\n",
+    "    \n",
+    "## <font color='blue'> **Aufgaben zum selbst probieren**\n",
+    "\n",
+    "* Wandle das Skript so ab, dass die Rechnung auch beendet wird, wenn die Höhe 0 erreicht wird. So interpoliert die Methode selbst nach $t_e$ und $v_e$. Du kannst dafür dem argument ````events```` eine Liste mit Event-funktionen statt einer einzelnen Funktion übergeben.\n",
+    "* Wandle das Skript weiter ab, dass weitere Event-Markierung gesetzt wird (die Berechnung aber nicht abbricht), wenn der die Geschwindigkeit einen bestimmten Wert ````v_event```` erreicht. Übergebe diesen Wert der Funktion. (Denk daran, dass die Eventfunktion genau die gleichen Parameter haben muss, wie die Funktion der DGL). Teste es beispielsweise mit ````v_event = -20```` in den ````args````. Lass automatisch ausgeben, ob das Event eingetreten ist, und wenn ja, wann und bei welcher Höhe. (Tipp: Lass die das Dictionary ausgeben und such, wie die entsprechenden Daten darin enthalten sind. Insbesondere, wie es aussieht, wenn es mehrere Eventfunktionen gibt, aber nicht alle Events eintreten)\n",
+    "* In Übung 8 wurden einige Anregungen für weitere DGLs gegeben. Rechne diese Beispiele mit selbst gewählten Parametern nach und vergleiche die Ergebnisse mit Ergebnissen aus der analytischen Berechnung.\n",
+    "\n",
+    "Füge deiner Kopie des Notebooks beliebig viele Codezellen hinzu, um die Aufgaben zu lösen."
+   ]
+  }
+ ],
+ "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.8.7"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/Uebung09/Uebung_09_LSG.ipynb b/Uebung09/Uebung_09_LSG.ipynb
new file mode 100644
index 0000000..378d6e4
--- /dev/null
+++ b/Uebung09/Uebung_09_LSG.ipynb
@@ -0,0 +1,1443 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "a359c3a6",
+   "metadata": {},
+   "source": [
+    "# <font color='blue'>**Ãœbung 9 - Numerische Berechnung DGL am Beispiel der Modellierung eines Falls mit Luftwiderstand - SciPy**"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "bebdcb38",
+   "metadata": {},
+   "source": [
+    "In dieser Übung möchten wir uns noch einmal mit der Modellierung von freiem und gebremsten Fall in der Erdatmosphäre (z.B. Fallschirmsprung) beschäftigen. In Übung 8 haben wir gesehen, dass die analytische Modellierung bei komplexeren Fällen schnell sehr komplex bis zu unmöglich werden kann. In dieser Übung sollen daher numerische Lösungen für die Problemstellungen entwickelt werden. Mit der numerischen Lösung können wir die Komplexität der Gleichung und Randbedingungen auch relativ leicht weiter erhöhen. Wir wollen beginnen, ein sehr einfaches numerisches Verfahren selbst zu implementieren, um die grundlegende Funktionsweise von numerischen Verfahren nachzuvollziehen. Anschließend werden wir höherwertige Verfahren nutzen, die uns das *SciPy* Package zur Verfügung stellt. Als Nebenthema wollen wir die Ergebnisse in Dateien schreiben und aus Dateien einlesen. Das ermöglicht den Datenaustausch oder das Aufteilen von Berechnung und Auswertung auf verschiedene Programme. Im Gegensatz zu den Übungen 5-7 mit dem Fachwerk wollen wir diesmal keine große Klassenstruktur aufbauen, sondern die Bearbeitung eher in Form von kompakten Skripten vornehmen.\n",
+    "\n",
+    "### <font color='blue'>**Vorkenntnisse - Notebooks**\n",
+    "* Ãœbung 1\n",
+    "* Ãœbung 2\n",
+    "* Ãœbung 4\n",
+    "* Ãœbung 8\n",
+    "* Grundlagen Python\n",
+    "* Grundlagen Matplotlib\n",
+    "* Grundlagen Numpy\n",
+    "* Grundlagen SciPy\n",
+    "    \n",
+    "\n",
+    "### <font color='blue'>**Lernziele**\n",
+    "* Skripten einfacher numerischer Lösungsverfahren\n",
+    "* Einsatz von *SciPy* zur numerischen Lösung von Problemstellungen"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "dec38dfd",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>**Problemstellung 1: Freier Fall mit Luftwiderstand - eigene Implementierung**\n",
+    "\n",
+    "#### <font color='blue'>**Aufgabenstellung**\n",
+    "Für einen freien Fall mit Luftwiderstand sollen angenäherte Ergebnisse für den Geschwindigkeits-Zeit und den Höhe-Zeit Verlauf ermittelt werden. Aus diesen Werten können gesuchte Größen, wie die Zeit bis zum Boden, die Geschwindigkeit am Boden etc. abgelesen bzw. interpoliert werden. Dabei soll ein selbst implementiertes Verfahren (z.B. Euler explizit) zum Einsatz kommen.\n",
+    "Zusatz: Das Skript soll möglichst schnelle Rechenzeit haben. Dazu sollen die Numpy Arrays auf verschiedene Arten verwendet werden. (1. Anhängen neuer Ergebnisse an \"wachsende\" Arrays und 2. Arrays der vollen benötigten Länge vor der Rechnung anlegen und mit Nullen füllen, und während der Rechnung die Einträge mit den neuen Ergebnissen überschreiben.) "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c9ceb5d3",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Vorüberlegung**\n",
+    "    \n",
+    "Zunächst sollten wir das Prinzip der numerischen Berechnung von gewöhnlichen Differentialgleichungen (z.B. $y'(t) = f(y(t),t)$) mithilfe von *Einschrittverfahren* ansehen. Es gibt Fachvorlesungen, in denen diese Verfahren genauer hergeleitet und hinsichtlich ihrer Qualität analysiert werden. Wir wollen uns in dieser Übung daher nur das Prinzip ansehen und ein gegebenes Verfahren (*Euler explizit*) implementieren.\n",
+    "Die Idee eines Einschrittverfahrens ist es, die kontinuierliche Zeit in kleine diskrete Zeitschritte aufzuteilen. Für jeden Zeitschritt wird dann mithilfe der verfügbaren Informationen angenähert, welche Werte am nächsten Zeitschritt gelten. Mit diesen wird dann wiederum der darauffolgende Zeitschritt angenähert. So geht es immer weiter. Wie die Werte des nächsten Zeitschritts angenähert werden, hängt vom Verfahren ab. Das bereits angesprochene *Euler explizit* (auch *Euler vorwärts* genannt) ist recht intuitiv zu verstehen. In einem Zeitschritt $t_n$ stehen (entweder als Anfangsbedingung oder als Ergebnis des vorherigen Schritts) Werte für $t$ und $y$ zur Verfügung. Diese Werte können in die rechte Seite der Differentialgleichung eingesetzt werden. Alle Variablen und Parameter für diese sind dann bekannt. Daher führt das Einsetzen zu einem **Zahlenwert**, der $y'(t)$, also der Steigung von $y(t)$ entspricht. In der analytischen Lösung gilt diese Steigung nur exakt am Punkt $t_n$. Nur ein infinitesimales Stück weiter in der Zeit könnte eine andere Steigung haben. Im numerischen *Euler explizit* Verfahren nehmen wir jedoch diese Steigung für den kompletten Zeitschritt an. Damit setzen wir eine lineare Funktion mit der entsprechenden Steigung an den bisherigen Punkt ($t_n$, $y_n$) an und ermitteln so das nächste Wertepaar ($t_{n+1}$, $y_{n+1}$). Wir können die Berechnungsvorschrift also schreiben als $y_{n+1} = y_n + \\Delta t \\cdot y'(y_n,t_n)$. Dieses Verfahren ist auch in der folgenden Abbildung skizziert. In der Abbildung ist der Zeitschritt $\\Delta t$ sehr groß, wodurch die Lösungen sich schnell voneinander entfernen. Man kann vermutlich gut nachvollziehen, dass eine Verringerung der Zeitschrittweite eine bessere Abbildung der Lösung zur Folge hat. Man nennt das Konvergenz (die numerische Lösung konvergiert gegen die exakte Lösung). Je gekrümmter die Lösung ist, desto kleiner müssen die Zeitschritte sein, um der Krümmung zu folgen."
+   ]
+  },
+  {
+   "attachments": {
+    "expl_Einschrittverfahren_small.PNG": {
+     "image/png": "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"
+    }
+   },
+   "cell_type": "markdown",
+   "id": "7f231771",
+   "metadata": {},
+   "source": [
+    "![expl_Einschrittverfahren_small.PNG](attachment:expl_Einschrittverfahren_small.PNG)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "93e64bf6",
+   "metadata": {},
+   "source": [
+    "Für unsere Problemstellung nutzen wir die in Uebung 8 mit *SymPy* hergeleitete DGL:\n",
+    "$\\frac{\\mathrm{d}}{\\mathrm{d}t}v(t) = \\frac{\\frac{\\rho}{2}v(t)^2C_WA-mg}{m}$ und $\\frac{\\mathrm{d}}{\\mathrm{d}t}h(t) = v(t)$. Wir haben also zwei gekoppelte DGL. Das ist aber kein Problem. Wir können einfach in jedem Zeitschritt beide Gleichungen lösen, da alle Daten vorhanden sind. Wir setzen also die bekannte Geschwindigkeit $v(t_n)$ in $\\frac{\\frac{\\rho}{2}v(t)^2C_WA-mg}{m}$ ein und erhalten den Wert für die aktuelle Beschleunigung. Mit diesem errechnen wir den Wert der Geschwindigkeit im nächsten Zeitschritt. Für die Höhe setzen wir auch die momentane Geschwindigkeit in $v(t)$ ein. Das entspricht bereits der Änderung der Höhe, sodass wir den Wert der nächsten Höhe ermitteln können.\n",
+    "\n",
+    "Nun wissen wir, wie wir das Ergebnis rechnerisch ermitteln wollen. Nun müssen wir noch überlegen, wie wir diese Berechnung im Programm umsetzen wollen. Als Ergebnis bieten sich numpy-Arrays an, die die Zeitreihen von $t$,$v$ und $h$ speichern, da wir diese einfach mit ````plt.plot(t,v)```` ansehen können. Dann benötigen wir die Parameter für den Berechnungsfall ($g, m, \\rho, C_W, A$) mit Anfangsbedingungen $v_0, h_0$). Zuletzt benötigen wir Parameter für die Zeitsteuerung. Eine Anfangszeit, Endzeit und den Zeitschritt $\\Delta t$, den wir ````dt```` nennen. Mit diesen Daten können wir eine Schleife aufbauen, die über alle Zeitschritte iteriert, die Berechnungen ausführt und die neuen Ergebnisse in das entsprechende Array einträgt. Nachdem alle Zeitschritte berechnet sind, möchten wir die Ergebnisse plotten."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "edc792f7",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Umsetzung**\n",
+    "    \n",
+    "Wir wollen unseren Code anhand des Beispiels 1 aus Ãœbung 8 testen. Dazu verwenden wir folgende Werte (in SI Basiseinheiten):\n",
+    "\n",
+    "|Größe|Wert|\n",
+    "|-----|-----|\n",
+    "|$g$ | 9.81 |\n",
+    "|$m$ | 1 |\n",
+    "|$rho$ | 1.225 |\n",
+    "|$C_W$ | 0.18 |\n",
+    "|$A$ | 0.008 |\n",
+    "|$v_0$ | 0 |\n",
+    "|$h_0$ | 1200 |\n",
+    "    \n",
+    "Die Zeit soll von 0s bis 20s gehen, bei einer Zeitschrittweite von 0.25s.\n",
+    "    \n",
+    "Diese Variablen definieren wir zunächst. Dann erstellen wir die numpy-Arrays für t, v, und h. t füllen wir gleich komplett mithilfe von  ````np.arange()```` und den Variablen zur Zeitsteuerung. v und h  legen wir in dieser Version als Array mit zunächst nur einem Eintrag, der Anfangsbedingung, an.\n",
+    "    \n",
+    "Dann iterieren wir in einer for-Schleife über alle Elemente des Arrays mit den Zeitwerten. Da wir immer den folgenden Zeitschritt berechnen, lassen wir die Schleife nur bis zum vorletzten Eintrag gehen. Sonst hätten wir Ergebnisse für einen Zeitschritt später, aber keinen Wert für t im Array. Innerhalb der Schleife berechnen wir zunächst a mithilfe der aktuellen Werte (darauf greifen wir mit dem Index [-1] zu. und führen anschließend die Berechnung von $v_{n+1}$ und $h_{n+1}$ aus. Die Ergebnisse hängen wir an die Arrays an. Allerdings könn neue Elemente an numpy Arrays nicht wie an Listen angehängt werden. Es gibt eine Funktion ````np.append(array, value)````, die wir nutzen. Sie erzeugt aber einen neuen Array, den wir mit dem gleichen Namen wie vorher abspeichern.\n",
+    "    \n",
+    "(Hintergrund: numpy arrays stehen im Speicher immer zusammen, während bei Listen die Elemente nur wissen, wo im Speicher das nächste Element zu finden ist. Das auszuwerten und den Sprung im Speicher zu machen ist aber langsamer, als einfach einen Platz im Speicher weiterzugehen. Dafür können beliebig neue Listenelemente angehängt werden. Bei numpy arrays steht der Geschwindigkeitsvorteil im Vordergrund. Dafür kann der Array nicht beliebig erweitert werden, da der Speicher ja belegt sein könnte. Es muss also immer ein neuer Array an einer Stelle mit genug Platz im Speicher angelegt werden)\n",
+    "    \n",
+    "Zuletzt geben wir die Ergebnisse mit Matplotlib aus.\n",
+    "    \n",
+    "In der Notebookversion ohne Lösung kannst du dich selbst daran versuchen, die Zeilen zu füllen. Die Kommentare und angefangenen Zeilen geben den Rahmen vor."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "id": "8783b7d9",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import matplotlib.pyplot as plt\n",
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "id": "67206927",
+   "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"
+    }
+   ],
+   "source": [
+    "#Parameter\n",
+    "g = 9.81\n",
+    "m = 1\n",
+    "rho = 1.225\n",
+    "C_W = 0.18\n",
+    "A = 0.008\n",
+    "\n",
+    "#Zeitschritte\n",
+    "t0 = 0\n",
+    "te = 20\n",
+    "dt = 0.25\n",
+    "\n",
+    "#Anfangswerte\n",
+    "v_0 = 0\n",
+    "h_0 = 1200\n",
+    "\n",
+    "#Lösungsfelder anlegen\n",
+    "t = np.arange(t0,te,dt)\n",
+    "v = np.array([v_0,])\n",
+    "h = np.array([h_0,])\n",
+    "\n",
+    "#Zeitschrittverfahren - Schleife über t (da immer von t bis t+dt gerechnet wird, wird das letzte t ausgeklammert)\n",
+    "for t_step in t[:-1]:\n",
+    "    \n",
+    "    #Ermittle Beschleunigung zum aktuellen Zeitpunkt\n",
+    "    #Mit [-1] wird immer auf das neueste Element, also den aktuellen Zustand zugegriffen\n",
+    "    \n",
+    "    a = (0.5*rho*v[-1]**2*C_W*A-m*g)/m\n",
+    "    \n",
+    "    #Ermittle v und s des nächsten Schrittes unter Annahme konstanter a und v für den Schritt\n",
+    "    v_step = v[-1] + a * dt\n",
+    "    h_step = h[-1] + v[-1] * dt\n",
+    "    \n",
+    "    #Hinzufügen der Ergebnisse in die Arrays. (Durch das neu speichern nicht sehr effizient)\n",
+    "    v = np.append(v, v_step)\n",
+    "    h = np.append(h, h_step)\n",
+    "    \n",
+    "#Plotten der Ergebnisse v(t)\n",
+    "plt.plot(t,v)\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "19c93ece",
+   "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"
+    }
+   ],
+   "source": [
+    "#Plotten der Ergebnisse h(t)\n",
+    "plt.plot(t,h)\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b67581b5",
+   "metadata": {},
+   "source": [
+    "Wir haben nun numerische Lösungen für die Problemstellung 1 gefunden. Man kann den Einfluss des Luftwiderstands gut erkennen. Nutze den oben stehenden Code gerne, um verschiedene Parametervariationen zu untersuchen, oder die Zeitschrittweite zu verändern und diesen Einfluss zu beobachten.\n",
+    "\n",
+    "Hier noch ein kleiner Exkurs zur Zeitschrittweite in expliziten Verfahren: Wie in den Mathematikvorlesungen genauer behandelt wird, können explizite Methoden instabil werden, wenn die Zeitschritte für gegebene Problemstellungen zu groß sind. Ohne die Bedingungen und Hintergründe zu vertiefen, kannst du dir das hier ansehen (Alle der im Folgenden aufgeführten Zeitschritte sind deutlich zu groß für eine realitätsnahe Simulation). Lass dazu die Zeit z.B. bis 500 s laufen und verwende Zeitschrittweiten 10 s, 12 s, 16 s und 17 s. Bei 10 s siehst du in der Geschwindigkeit eine Oszillation, die aber abklingt und sich auf der Gleichgewichtsgeschwindigkeit einpendelt. Bei 12 s baut sich eine Oszillation auf, die nicht abklingt. Bei 16 s ist diese Oszillation deutlich ungleichmäßiger und bei 17 s wird die Oszillation extrem angefacht, sodass jedes lokale Maximum Größenordnungen größer ist, als das vorherige. Die Rechnung bricht ab, da die Werte den maximalen Wert für float Variablen ($1.797\\cdot10^{308}$) überschreiten. Die kritische Zeitschrittweite ist problemabhängig. Man kann daher nicht ganz allgemein sagen, wie groß Zeitschritte sein müssen. Es gibt auch numerische Verfahren (implizite Verfahren), die nicht instabil werden können. Das bedeutet aber nur, dass solch exzessives Aufschaukeln ausgeschlossen ist. Es bedeutet nicht automatisch, dass die Ergebnisse bei großen Zeitschritten viel mit der exakten Lösung zu tun haben.\n",
+    "\n",
+    "#### <font color='blue'> **Performance**\n",
+    "\n",
+    "In der Aufgabenstellung war gefordert, das Skript möglichst rechenzeitschonend aufzubauen und dazu verschiedene Arten der Arbeit mit den Arrays zu vergleichen. Bevor wir die zweite Variante programmieren, wollen wir dafür sorgen, dass wir die Geschwindigkeit der Rechnung vergleichen können. Dazu messen wir die Zeit, die die Schleife benötigt. Das Paket ````time```` bietet eine Methode ````time()````, die die aktuelle Uhrzeit, gemessen in s (inkl. Nachkommastellen) seit dem Zeitpunkt 01.01.1970, 0:00:00, ausgibt. Die Differenz dieser Zeit vor und nach dem Durchlaufen der Schleife gibt uns die Laufzeit. Um die Zeit besser vergleichen zu können, erhöhen wir die Anzahl an Iterationen, indem wir die Zeitschrittweite auf 0.001 s reduzieren und bis 50 s (also 50.000 Iterationen) rechnen. Wir speichern das Ergebnis und die benötigte Zeit, um es später mit der verbesserten Methode vergleichen zu können."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "20af9ccd",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "elapsed time: 1.344s\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Wiederholung der Rechnung mit mehreren Zeitschritten und Rechenzeitmessung\n",
+    "\n",
+    "import time \n",
+    "\n",
+    "#Zeitschritte\n",
+    "t0 = 0\n",
+    "te = 50\n",
+    "dt = 0.001\n",
+    "\n",
+    "#Lösungsfelder anlegen bzw, zurücksetzen\n",
+    "t = np.arange(t0,te,dt)\n",
+    "v = np.array([v_0,])\n",
+    "h = np.array([h_0,])\n",
+    "\n",
+    "clock_start = time.time()\n",
+    "\n",
+    "#Zeitschrittverfahren - Schleife über t (da immer von t bis t+dt gerechnet wird, wird das letzte t ausgeklammert)\n",
+    "for t_step in t[:-1]:\n",
+    "    \n",
+    "    #Ermittle Beschleunigung zum aktuellen Zeitpunkt\n",
+    "    a = (0.5*rho*v[-1]**2*C_W*A-m*g)/m\n",
+    "    \n",
+    "    #Ermittle v und s des nächsten Schrittes unter Annahme konstanter a und v für den Schritt\n",
+    "    v_step = v[-1] + a * dt\n",
+    "    h_step = h[-1] + v[-1] * dt\n",
+    "    \n",
+    "    #Hinzufügen der Ergebnisse in die Arrays. (Durch das neu speichern nicht sehr effizient)\n",
+    "    v = np.append(v, v_step)\n",
+    "    h = np.append(h, h_step)\n",
+    "\n",
+    "#Speichern der Ergebnisse für den Vergleich\n",
+    "v_var1 = v\n",
+    "    \n",
+    "elapsed_time = time.time()-clock_start\n",
+    "\n",
+    "# Das folgende ist ein \"f-string\": Eine komfortable Art, Variablen mit bestimmtem Format in einem String auszugeben.\n",
+    "# Ein aktualisiertes Version des ersten Notebooks \"Python Grundlagen\" mit einer Erklärung dazu steht nun bereit.\n",
+    "\n",
+    "print(f\"elapsed time: {elapsed_time:.3f}s\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d73422a5",
+   "metadata": {},
+   "source": [
+    "Wie in der Erklärung zu ````np.append()```` bereits angesprochen, wird in jeder Iteration das Array neu angelegt. Diese Les- und Schreibvorgänge benötigen Zeit. Wir können daher das Skript hinsichtlich der Laufzeit verbessern, indem wir von Beginn an die Arrays in der geforderten Größe anlegen und überall eine 0 speichern. Dann müssen diese nicht ständig neu geschrieben werden. Wir können dann allerdings nicht mehr mit [-1] auf den neuesten Wert zugreifen, sondern wir müssen den entsprechenden Eintrag mit dem passenden Index ansteuern. Wir iterieren in der Schleife also über eine Zählvariable i, die dem Index des aktuellen Zeitpunkts entspricht. Die Ergebnisse tragen wir in das Array in das Feld i+1 ein. Durch die feste Zeitschrittweite ist die Anzahl benötigter Iterationen bekannt. Der Array t hat die benötigte Länge, die wir mit ````len(array)```` heruasfinden. Die anderen Arrays benötigen die selbe Länge und wir müssen die Zählvariable von 0 bis zum vorletzten Eintrag laufen lassen. Die benötigte Zeit ermitteln wir analog. Zum Schluss lassen wir uns die Zeit ausgeben, einen prozentualen Vergleich mit der zuvor benötigten Zeit, sowie einen Plot mit den Ergebnissen aus beiden Rechnungen, um die Gleichheit zu verifizieren."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "id": "39f25155",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "elapsed time: 0.1300s \n",
+      "90.3% faster\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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Y8aMcXf35557zu+4447y7d53333+4osvurv73r17vVOnTuW1HlVcXOz79u0r358OHTp4JBLxDRs2uJn53Llzy78nFacr1lNSUuJDhgzxpUuXeiQS8S5duvjOnTvd3f26664r3/eKjvk3jgLy/AS/V3WkcQrKuqgGcO7OGeqiEqklbdu25fzzzwfKhkCfM2dO+byjQ6PPmzePlStXcv7559O7d2+ef/758sH83nnnHQYOHEiPHj2YOXMmK1ac+GkKCxcuLB8OPSEhgeuvv55Zs2Yxb948LrroItq3bw9QPlT5vn37GDt2LDk5OXz/+98/4bqnTZvGI488Qu/evctH6j3+4UweHfa8Z8+ejBw5snzYc4B27dodM+7W8dMvv/wyffv2pU+fPqxYsYKVK1diZnzzm9/kD3/4AwUFBcydO5fLLrusat/0k9Ad4aeotNsozlr0Pqvz3qbrwK8EXY5I7bnskUA2W9kw50cdHTbc3bn44ouZPHnyMcsWFhZy++23k5eXR9u2bfnpT396wqHVT8fJhjivyE8wLHtFJxv2/GTDpW/YsIHHH3+chQsX0qxZM2688cbyz910001cccUVpKSkMHbsWBISzvxXvo40TlHX8quoNBaVSG3YvHkzc+fOBb44BPpRgwYN4v3332fdunVA2aNd165dW/7Ls0WLFhw4cKD8aqkTGTBgAO+99x75+fmUlpYyefJkhgwZwqBBg5g1axYbNmwAYM+ePcCJhzg/frj0qgzLfrJhz09m//79pKamkpaWxo4dO/j73/9ePq9169a0bt2a//iP/+Cmm26q0vq+jELjFDVq0qysi2rX2+qiEqkFXbp04amnnqJbt27s3buX22677QvLZGRkMGnSJK677jp69uzJ4MGDWb16NU2bNuXmm28mJyeHSy65hP79+590W61ateKRRx5h2LBh9OrVi379+jFq1CgyMjJ45plnGDNmDL169SrvFjvREOfDhg1j5cqV5SfCqzIs+8mGPT+ZXr160adPH7p27co3vvGN8q68iutt27ZttY1WrKHRT0PeX58hN+9HrLrsZboNrLmHnYgELeih0Tdu3Mjll1/O8uXLA6uhrrvzzjvp06cP3/rWtyqdr6HRa0HXi8ZS6InsVxeViMSwfv36sWzZMsaNG1dt69SJ8NPQqEkzFjcaWN5FpeHSRWpGVlaWjjLOwKJF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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#Modifizierte Version, in der die np.arrays nicht ständig neu gespeichert werden, sondern mit der bekannten Anzahl an Zeitschritten mit 0 initialisiert werden.\n",
+    "\n",
+    "#Zeitschritte\n",
+    "t0 = 0\n",
+    "te = 50\n",
+    "dt = 0.001\n",
+    "\n",
+    "#Lösungsfelder anlegen bzw, zurücksetzen\n",
+    "t = np.arange(t0,te,dt)\n",
+    "v = np.zeros(len(t))\n",
+    "h = np.zeros(len(t))\n",
+    "\n",
+    "v[0] = v_0\n",
+    "h[0] = h_0\n",
+    "             \n",
+    "clock_start = time.time()\n",
+    "             \n",
+    "for i in range(len(t)-1):\n",
+    "    \n",
+    "    #Ermittle Beschleunigung zum aktuellen Zeitpunkt\n",
+    "    a = (0.5*rho*v[i]**2*C_W*A-m*g)/m\n",
+    "    \n",
+    "    #Ermittle v und s des nächsten Schrittes unter Annahme konstanter a und v für den Schritt\n",
+    "    v_step = v[i] + a * dt\n",
+    "    h_step = h[i] + v[i] * dt\n",
+    "    \n",
+    "    #Hinzufügen der Ergebnisse in die Arrays\n",
+    "    v[i+1] = v_step\n",
+    "    h[i+1] = h_step\n",
+    "             \n",
+    "elapsed_time_2 = time.time()-clock_start\n",
+    "\n",
+    "print(f\"elapsed time: {elapsed_time_2:.4f}s \\n{(elapsed_time-elapsed_time_2)/elapsed_time:.1%} faster\")\n",
+    "\n",
+    "plt.plot(t,v_var1, label = \"append to array\")\n",
+    "plt.plot(t,v, label = \"preallocate array\")\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.legend()\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "37072d6b",
+   "metadata": {},
+   "source": [
+    "Wir sehen also, dass die Rechenzeit stark davon profitiert, wenn die Arrays nicht ständig neu gespeichert werden müssen. Bei der Arbeit mit Numpy Arrays ist es also anzuraten, die Größe der Arrays konstant zu halten, falls möglich. Man nennt das auch *preallocate*, also vorzeitig Speicher anfordern."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "42efc8a6",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'>**Problemstellung 2: Fall mit Fallschirmöffnung - SciPy**\n",
+    "\n",
+    "#### <font color='blue'>**Aufgabenstellung**\n",
+    "\n",
+    "Es soll ein Skript entwickelt werden, das einen Fall mit Luftwiderstand mit Öffnen eines Fallschirms simuliert. Dabei soll nicht das selbst implementierte *Euler explizit* Verfahren genutzt werden, sondern das Paket SciPy verwendet werden, das höherwertige Verfahren in sehr effizienter Implementierung zur Verfügung stellt, genutzt werden. Es ist zu empfehlen das Skript durch schrittweises Hinzufügen von Komplexität zu entwickeln, um den Umgang mit der Lösungsmethode von SciPy zu erlernen. Zum Schluss soll das Skript einen freien Fall simulieren, bei dem in einer bestimmten Höhe der Fallschirm ausgelöst wird, was eine bestimmte Sekundenanzahl dauert (Öffnen des Fallschirms durch Veränderung von $A$ und $C_W$, linear interpoliert über die Öffnungszeit)."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "77f6816f",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Vorüberlegung**\n",
+    "\n",
+    "Wie in der Aufgabenstellung vorgeschlagen, lassen wir das Skript schrittweise komplexer werden. Bei der Entwicklung von Programmen bietet es sich an, kleine Bestandteile einzeln oder nach kleinen Änderungen zu testen, ob es so funktioniert, wie erwartet. Das grenzt bei Fehlern die Anzahl der möglichen problematischen Stellen ein.\n",
+    "\n",
+    "Wir wollen also ganz simpel beginnen, und zunächst anhand einer noch einfacheren DGL, der der gleichförmigen Beschleunigung (also ohne Luftwiderstand) testen, ob wir die Funktion aus *SciPy* ````scipy.integrate.solve_ivp()```` (ivp bedeuted initial value problem, also Anfangswertproblem) korrekt verwenden.\n",
+    "    \n",
+    "* Anschließend wollen wir den Luftwiderstand einbauen.  \n",
+    "* Danach ein plötzliches Öffnen des Fallschirms nach vorgebener Zeit realisieren\n",
+    "* Dann soll das Öffnen des Fallschirms nach bestimmter Zeit eine gewisse Zeit dauern.  \n",
+    "* Der nächste Schritt ist das plötzliche Öffnen bei gegebener Höhe (der Zeitpunkt ist unbekannt).   \n",
+    "* Zuletzt wollen wir das Öffnen bei gegebener Höhe (zu unbekanntem Zeitpunkt) und einer benötigten Zeit der Öffnung (zeitabhängig, aber zu unbekanntem Zeitpunkt) einbauen. "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fbf0bc5a",
+   "metadata": {},
+   "source": [
+    "#### <font color='blue'>**Umsetzung**\n",
+    "    \n",
+    "Wir beginnen mit dem Import der nötigen *SciPy* Module."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "id": "447c1e9d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import scipy.integrate\n",
+    "import scipy.interpolate"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "9cd514ef",
+   "metadata": {},
+   "source": [
+    "Der erste Fall, den wir betrachten wollen, ist die Gleichförmig beschleunigte Bewegung. In dieser ist die DGL sehr übersichtlich, sodass sie sich gut eignet, um die Verwendung der Lösungsfunktion ````scipy.integrate.solve_ivp()```` zu testen. Diese Funktion benötigt als Parameter in allen Fällen eine Funktion, die die Änderungsrate von y ausgibt (entspricht also der rechten Seite der DGL), eine Liste mit zwei Einträgen für die zu berechnende Zeitspanne, und einen Anfangswert y_0.\n",
+    "\n",
+    "Y eine Liste, bzw. 1D-Array mit mindestens einem Eintrag. Mehrere Einträge sind für für gekoppelte DGL Systeme mit mehreren Unbekannten notwendig. Das ist bei uns der Fall, denn wir haben eine Gleichung für die Geschwindigkeit, und eine Gleichung für die Höhe, die aber von der Geschwindigkeit abhängig ist. Wir definieren also ````y[0]```` als die Geschwindigkeit und ````y[1]```` als die Höhe. Das bedeuted, dass unser Anfangswert y_0 eine Liste oder ein Array mit zwei Einträgen sein muss, und dass unsere Funktion, die wir der Lösungsfunktion übergeben werden, auch eine Liste oder Array mit zwei Einträgen ausgibt. Diese Ausgabe ist einmal die Änderung der Geschwindigkeit (also Beschleunigung) und einmal die Änderung der Höhe (also Geschwindigkeit). Diese Funktion beschreibt die DGL und wird von der Lösungsfunktion in den Zeitschritten ausgewertet. Ich nenne sie ab jetzt DGL-Funktion.\n",
+    "\n",
+    "Zur Erinnerung: $ \\frac{\\mathrm{d}}{\\mathrm{d}t} v = -g$ und $ \\frac{\\mathrm{d}}{\\mathrm{d}t} h = v$ ist unser DGL System für die DGL-Funktion. Die DGL-Funktion benötigt immer als erste Parameter die Zeit (t) und den aktuellen Ergebniswert (y). Danach können weitere selbst definierte Parameter kommen, falls erforderlich, wie zum Beispiel bei uns für das g.\n",
+    "\n",
+    "Wenn die DGL-Funktion weitere Parameter bekommt, so muss auch die Lösungsfunktion diese Parameter bekommen, damit sie die DGL-Funktion damit aufrufen kann. Das wird über den optionalen Parameter ````args```` gemacht. Args ist eine Liste mit den Parametern in genau der richtigen Reihenfolge für die DGL-Funktion.\n",
+    "\n",
+    "Der letzte optionale Parameter der Lösungsfunktion, den wir hier verwenden ist ````max_step````. Mit diesem geben wir eine maximale Schrittweite vor. Ist dieser nicht gegeben, entscheidet sich die Lösungsfunktion selbst für eine Schrittweite, die ihr sinnvoll erscheint. Wir möchten aber eine schön glatte Lösung haben und definieren deshalb eine maximale Schrittweite von 0.1.\n",
+    "\n",
+    "Im folgenden Code-Abschnitt definieren wir zunächst die DGL-Funktion (wir nennen sie ````func````) und legen anschließend die Felder für die Anfangswerte und das Zeitintervall an (wir nutzen die gleichen Werte wie in Übung 8: $v_0 = 1$, $h_0 = 10$. Dann rufen wir die Lösungsfunktion mit allen besprochenen Parametern auf und speichern diese in einer Variablen ````sol1````, die wir uns mit ````print()```` genauer ansehen wollen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "id": "8b520d80",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "  message: 'The solver successfully reached the end of the integration interval.'\n",
+      "     nfev: 128\n",
+      "     njev: 0\n",
+      "      nlu: 0\n",
+      "      sol: None\n",
+      "   status: 0\n",
+      "  success: True\n",
+      "        t: array([0.        , 0.06789714, 0.16789714, 0.26789714, 0.36789714,\n",
+      "       0.46789714, 0.56789714, 0.66789714, 0.76789714, 0.86789714,\n",
+      "       0.96789714, 1.06789714, 1.16789714, 1.26789714, 1.36789714,\n",
+      "       1.46789714, 1.56789714, 1.66789714, 1.76789714, 1.86789714,\n",
+      "       1.96789714, 2.        ])\n",
+      " t_events: None\n",
+      "        y: array([[  1.        ,   0.33392904,  -0.64707096,  -1.62807096,\n",
+      "         -2.60907096,  -3.59007096,  -4.57107096,  -5.55207096,\n",
+      "         -6.53307096,  -7.51407096,  -8.49507096,  -9.47607096,\n",
+      "        -10.45707096, -11.43807096, -12.41907096, -13.40007096,\n",
+      "        -14.38107096, -15.36207096, -16.34307096, -17.32407096,\n",
+      "        -18.30507096, -18.62      ],\n",
+      "       [ 10.        ,  10.04528498,  10.02962789,   9.91587079,\n",
+      "          9.7040137 ,   9.3940566 ,   8.9859995 ,   8.47984241,\n",
+      "          7.87558531,   7.17322822,   6.37277112,   5.47421402,\n",
+      "          4.47755693,   3.38279983,   2.18994273,   0.89898564,\n",
+      "         -0.49007146,  -1.97722855,  -3.56248565,  -5.24584275,\n",
+      "         -7.02729984,  -7.62      ]])\n",
+      " y_events: None\n"
+     ]
+    }
+   ],
+   "source": [
+    "#DGL Funktion\n",
+    "def func(t,y,g):\n",
+    "    return[-g, y[0]] #y[0] ist die aktuelle Geschwindigkeit\n",
+    "\n",
+    "#Anfangswerte\n",
+    "v_0, h_0 = 1, 10\n",
+    "y_0 = [v_0, h_0]\n",
+    "\n",
+    "#Zeitspanne\n",
+    "t_span = [0,2]\n",
+    "\n",
+    "#Lösung der DGL\n",
+    "sol1 = scipy.integrate.solve_ivp(func, t_span, y_0, max_step = 0.1, args=(g,))\n",
+    "print(sol1)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1f7483b7",
+   "metadata": {},
+   "source": [
+    "Das Ergebnis ist ein Dictionary mit vielen Informationen über die Lösung. Für uns nun am interessantesten sind die Arrays mit den Zeit- und Ergebnisdaten hinter den Indizes \"t\" und \"y\". Wir nutzen Matplotlib, um die Verläufe von v und h über t zu plotten. "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "id": "21c0eda8",
+   "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"
+    }
+   ],
+   "source": [
+    "plt.plot(sol1[\"t\"], sol1[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "id": "d9b4f7e1",
+   "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"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "t_e = 1.53 s \n",
+      "v_e = -14.03 m/s\n"
+     ]
+    }
+   ],
+   "source": [
+    "plt.plot(sol1[\"t\"], sol1[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()\n",
+    "\n",
+    "#t_e und v_e durch Interpolieren Herausfinden:\n",
+    "t_e = scipy.interpolate.interp1d(sol1[\"y\"][1],sol1[\"t\"])(0)\n",
+    "v_e = scipy.interpolate.interp1d(sol1[\"t\"],sol1[\"y\"][0])(t_e)\n",
+    "print(f\"t_e = {t_e:.2f} s \\nv_e = {v_e:.2f} m/s\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "1219eaad",
+   "metadata": {},
+   "source": [
+    "In Aufgabe 8 war nach der Zeit des Erreichens von h=0 $t_e$ und der erreichten Geschwindigkeit gefragt. Wir können nun die Interpolationsmethoden von SciPy verwenden, um diese Werte aus den Datenreihen zu ermitteln. Dazu interpolieren wir zuerst, bei welchem t eine Höhe von 0 erreicht wird, und anschließend, welche Geschwindigkeit bei dem gefundendenen $t_e$ anliegt. Diese Werte lassen wir uns ausgeben und sehen, dass diese gut mit den Werten aus Übung 8 übereinstimmen.\n",
+    "\n",
+    "Unser Verfahren funktioniert also, sodass wir die Komplexität erhöhen können. Wir bringen den Luftwiderstand ein. Dazu verwenden wir nach wie vor die DGL $\\frac{\\mathrm{d}}{\\mathrm{d}t}v(t) = \\frac{\\frac{\\rho}{2}v(t)^2C_WA-mg}{m}$ für v. Wir erweitern also die DGL-Funktion um die entpsrechenden Parameter und ändern die Rückgabe der Änderung der Geschwindigkeit. Zudem wählen wir passendere Anfangsbedingungen für diesen geänderten Fall wie in Problemstellung 1 ($v_0 = 0, h_0 = 1200$) und Zeitintervall 0 - 20s. Für die restlichen Parameter haben wir noch die Werte aus Problemstellung 1 zur Verfügung und lassen diese unverändert. Wir passen den Aufruf der Lösungsfunktion an und erhöhen die maximale Schrittgröße auf 0.25. Wir lassen uns die Ergebnisse wieder mit matplotlib grafisch darstellen und interpolieren für $t_e$ und $v_e$."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "id": "b0db3c38",
+   "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"
+    }
+   ],
+   "source": [
+    "def func2(t,y,g,m,rho,C_W,A):\n",
+    "    return[(0.5*rho*y[0]**2*C_W*A-m*g)/m, y[0]]\n",
+    "\n",
+    "v_0, h_0 = 0, 1200\n",
+    "y_0 = [v_0, h_0]\n",
+    "\n",
+    "t_span = [0,20]\n",
+    "\n",
+    "sol2 = scipy.integrate.solve_ivp(func2, t_span, y_0, max_step = 0.25, args=(g, m, rho, C_W, A))\n",
+    "plt.plot(sol2[\"t\"], sol2[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "id": "b057770f",
+   "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"
+    }
+   ],
+   "source": [
+    "plt.plot(sol2[\"t\"], sol2[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "id": "78669282",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "t_e = 18.49 s \n",
+      "v_e = -98.91 m/s\n"
+     ]
+    }
+   ],
+   "source": [
+    "#t_e durch interpolieren Herausfinden:\n",
+    "#t_e und v_e durch Interpolieren Herausfinden:\n",
+    "t_e = scipy.interpolate.interp1d(sol2[\"y\"][1],sol2[\"t\"])(0)\n",
+    "v_e = scipy.interpolate.interp1d(sol2[\"t\"],sol2[\"y\"][0])(t_e)\n",
+    "print(f\"t_e = {t_e:.2f} s \\nv_e = {v_e:.2f} m/s\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "da69f315",
+   "metadata": {},
+   "source": [
+    "Die Ergebnisse stimmen gut mit Aufgabenstellung 1 überein. Als nächstes wollen wir noch ein Problem mit der hergeleiteten Gleichung angehen. Die Herleitung besagte, dass die Luftwiderstandskraft der Gewichtskraft entgegengerichtet ist. Das ist nur für eine Abwärtsbewegung gültig. In einer Aufwärtsbewegung bremst (bei dieser Herleitung) der Luftwiderstand den Aufstieg nicht, sondern verlängert ihn, oder lässt ihn sogar über alle Grenzen steigen, wenn die Anfangsgeschwindigkeit höher ist als die Gleichgewichtsgeschwindigkeit (da dann die Kraft nach oben gößer ist, als nach unten). Wir können das ganz einfach das mit der Anfangsbedingung $v_0 = 110$ überprüfen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "id": "cc356017",
+   "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"
+    }
+   ],
+   "source": [
+    "v_0, h_0 = 110, 1200\n",
+    "y_0 = [v_0, h_0]\n",
+    "\n",
+    "t_span = [0,20]\n",
+    "\n",
+    "sol3 = scipy.integrate.solve_ivp(func2, t_span, y_0, max_step = 0.25, args=(g, m, rho, C_W, A))\n",
+    "plt.plot(sol3[\"t\"], sol3[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "65548b00",
+   "metadata": {},
+   "source": [
+    "Wir könnten jetzt sagen, unser Modell soll nur für die Abwärtsbewegung genutzt werden. Das wäre aber eine starke Einschränkung. Stattdessen werden wir die Funktion erweitern, sodass sie unterscheidet und das Vorzeichen der Widerstandskraft abhängig von der Bewegungsrichtung setzt.\n",
+    "\n",
+    "Außer der neuen Version der Funktion bleibt das Vorgehen gleich. Wir werden allerdings in den nächsten Schritten meist nur die Geschwindigkeit überprüfen. Du kannst gerne Plots für die Höhe und die Interpolationen ergänzen, wenn du interessiert bist."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "id": "7a794295",
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEGCAYAAACO8lkDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAmTElEQVR4nO3deXhU9d3+8fcnCwRigAAhCUtYlB1ZwyJCFBUEVNCKiKjgBq6tYmsfq62lrX1+rVotChVBUXBXKoIriwv7FpB9DfuWEPadkOT7+yNDn5QkkEhmziS5X9c1V2bOOZO5OTOZm7Obcw4REZHcQrwOICIiwUflICIieagcREQkD5WDiIjkoXIQEZE8wrwOUByqV6/u6tWr53UMEZESZcmSJfucczH5jSsV5VCvXj2Sk5O9jiEiUqKY2baCxmm1koiI5KFyEBGRPFQOIiKSh8pBRETyUDmIiEgeKgcREclD5SAiInmU6XI4cuoMw6es5vDJM15HEREJKmW6HDanH+fdBdt45rOV6LoWIiL/p0yXQ+s6VfhNj8Z8tXIPHy3e4XUcEZGgUabLAeDBpAZ0bVid4VNWsz71qNdxRESCQpkvh5AQ4+X+rYmKCOfRD5Zy/HSm15FERDxX5ssBICaqPK8OaM3m9GM8M0nbH0REVA4+nS+rzrDrGjF52W7eX7jd6zgiIp5SOeTyaLfLuKpRDH/+Yg0rdx72Oo6IiGcCUg5mNs7M9prZqlzDqprZdDPb6PsZ7RtuZvaqmaWY2QozaxuIjJCz/eGV21tT/ZJyPPLBEg6f0PEPIlI2BWrJ4R2g5znDnga+c841BL7zPQboBTT03YYCrwcoIwBVI8sx8s62pB4+xeMf/0RWtrY/iEjZE5BycM7NAg6cM7gvMN53fzxwc67hE1yOBUAVM4sPRM6z2iZE88ebmvPj+nT+OWNDIF9aRCQoeLnNIdY5t8d3PxWI9d2vBeQ+Im2nb1hA3dkxgdsT6/Da9yl8uyo10C8vIuKpoNgg7XL2HS3S+hszG2pmyWaWnJ6eXuyZzIw/9W1OqzpV+PUny0jZqwPkRKTs8LIc0s6uLvL93Osbvguok2u62r5h/8U5N8Y5l+icS4yJifFLwIjwUEbf1ZYK5UIZOmGJTtAnImWGl+UwBRjsuz8YmJxr+CDfXkudgMO5Vj8FXHzlCvzrznbsOHiCxz5YSmZWtldRREQCJlC7sn4IzAcam9lOM7sf+BvQ3cw2Atf5HgN8DWwGUoCxwCOByHg+HepX5fmbWzB74z6e/2qt13FERPwuLBAv4py7o4BR1+YzrQMe9W+ioru9fQIb0o7x1pwtNIqNYmDHBK8jiYj4TVBskC4pnundlKsaxfDc5FXM27TP6zgiIn6jciiC0BDjtYFtqFc9koffW8qm9GNeRxIR8QuVQxFVighn3OD2hIUY9769mP3HTnsdSUSk2KkcfoaEahUZOziRtCOneGBCMqfOZHkdSUSkWKkcfqa2CdGMGNCaZTsO8cRHy8jWOZhEpBRROVyEni3iebZ3U75dncpfv9YuriJSegRkV9bS7P4u9dl58CRvzdlCXKUIhiQ18DqSiMhFUzlcJDPjDzc2Y+/RU/z167XERJXn5jYBP0+giEix0mqlYhAaYrzcvzWdGlTlN58uZ9aG4j8RoIhIIKkciklEeChjBiVyWY1LeOi9JazYecjrSCIiP5vKoRhVighn/H0dqBpZjsHjFrExTaf5FpGSSeVQzGIrRfDe/R0JDQnh7rcWsePACa8jiYgUmcrBD+pVj+S9Bzpw8kwWd721kL1HTnkdSUSkSFQOftIkrhJv39ue9KOnufutRRw6keF1JBGRQlM5+FHbhGjGDkpky77jDBq3iCOndCU5ESkZVA5+duVl1Xn9rras2X2Ee8Yt4tjpTK8jiYhckMohAK5tGsvIgW1YvvMw97+zmJMZOlGfiAQ3z8rBzBqb2bJctyNm9oSZDTezXbmG9/YqY3Hq2SKeV25vzeKtBxiiM7mKSJDzrBycc+udc62dc62BdsAJYJJv9CtnxznnvvYqY3Hr06omL/RrxdxN+1QQIhLUgmW10rXAJufcNq+D+Fu/drX5+60tmZOighCR4BUs5TAA+DDX48fMbIWZjTOz6PyeYGZDzSzZzJLT00vWuYz6J9bhBRWEiAQxz8vBzMoBfYBPfYNeBy4FWgN7gH/k9zzn3BjnXKJzLjEmJiYQUYvVbYl1eLFfK+ak7OOB8cnaSC0iQcXzcgB6AUudc2kAzrk051yWcy4bGAt08DSdH/VrV5uX+rVi3qZ9DH5bu7mKSPAIhnK4g1yrlMwsPte4W4BVAU8UQLe2q82IAW1Ysu0gd7+1kMMndaCciHjP03Iws0igO/BZrsEvmNlKM1sBdAOGeRIugG5qVZNRA9uyatdh7nxzAQeP61QbIuItT8vBOXfcOVfNOXc417C7nXOXO+daOuf6OOf2eJkxUHq2iGPM3YlsSDvG7WPmk6aT9YmIh4JhtZL4dGtSg3fuac/Ogye5bfR8tu/X6b5FxBsqhyDT+bLqfDCkE0dOnaHf6Hls0AWDRMQDKocg1LpOFT4eegUA/d+Yz7Idh7wNJCJljsohSDWOi2LiQ52Jighj4NgFzNpQsg70E5GSTeUQxBKqVeTfD3WmbrVI7ntnMZOX7fI6koiUESqHIFejUgQfP9iJdnWjefyjZYybs8XrSCJSBqgcSoBKEeGMv68DPZvH8ecv1/D/vl5LdrbzOpaIlGIqhxIiIjyUUXe25a5OCbwxazNPfLyM05k6H5OI+EeY1wGk8EJDjL/0bUHNKhV44dv1pB89zei721G5QrjX0USklNGSQwljZjxy9WW8cnsrkrcdoP/o+ew6dNLrWCJSyqgcSqhb2tTmnXs7sPvQSW4ZNZeVOw9f+EkiIoWkcijBrrysOhMf7kx4aAj935jPjDVpXkcSkVJC5VDCNY6LYtIjnWkYewlD303m7bna1VVELp7KoRSoUSmCj4Z24rqmsfzpizX84fNVnMnK9jqWiJRgKodSomK5MF6/qx0PJjXg3QXbuPftxbpwkIj8bCqHUiQ0xPhd76a80K8lC7fs55Z/zWXrvuNexxKREkjlUAr1T6zDu/d35MDxDPqOmsvclH1eRxKREsbzcjCzrb7Lgi4zs2TfsKpmNt3MNvp+Rnuds6Tp1KAakx+9khpR5Rk0bhHj523FOZ1yQ0QKx/Ny8OnmnGvtnEv0PX4a+M451xD4zvdYiqhutUg+e6Qz3RrH8Mcpq3lm0koyMrWhWkQuLFjK4Vx9gfG+++OBm72LUrJFRYQz5u5EHu12KR8u2sHAsQvYe1TXpxaR8wuGcnDANDNbYmZDfcNinXN7fPdTgdhzn2RmQ80s2cyS09N1IZzzCQkxnrq+Ca/d0YZVuw/T57W5urqciJxXMJRDF+dcW6AX8KiZJeUe6XJWlOdZWe6cG+OcS3TOJcbExAQoasl2U6uafPbwlYSFGv1Hz+eT5B1eRxKRIOV5OTjndvl+7gUmAR2ANDOLB/D93OtdwtKlWc1KfPFYF9rXj+a3E1fw+8+1HUJE8vK0HMws0syizt4HegCrgCnAYN9kg4HJ3iQsnaIjyzH+3g4MTWrAewu2M2DMfFIPazuEiPwfr5ccYoE5ZrYcWAR85Zz7Fvgb0N3MNgLX+R5LMQoLDeGZ3k0ZNbAt61KPcuNrc1i4eb/XsUQkSFhp2Pc9MTHRJScnex2jxNqQdpSH3l3CtgMn+F2vJtzfpT5m5nUsEfEzM1uS6xCC/+L1koMEgUaxUXz+2JVc17QGz3+1lkfeX8rRUzovk0hZpnIQACpFhDP6rnY827sp09ak0WfkXNalHvE6loh4ROUg/2FmDElqwIdDOnH8dCY3j5rLp9rdVaRMUjlIHh3qV+XLX3WhbUI0T01cwVOfLudkRpbXsUQkgFQOkq8aURG8e39HfnXNZUxcupObR80lZe8xr2OJSICoHKRAoSHGkz0aM/7eDqQfO02fkXOY9NNOr2OJSACoHOSCkhrF8PWvutKiVmWGfbycpz5dzomMTK9jiYgfqRykUOIqR/DBAx35pW81U9+Rc9mQdtTrWCLiJyoHKbSw0BB+3aMx797XkYMnztBn5Bw+WLhdFxESKYVUDlJkXRpW5+vHu9C+XlWembSSxz74icMnddCcSGmicpCfpUZUBOPv7cDTvZowdXUqN7w6myXbDnodS0SKicpBfraQEOOhqy7lk4euAKD/G/MZ+f1GsrK1mkmkpFM5yEVrmxDN14935YbL43lp2gYGjl3A7kMnvY4lIhdB5SDFolJEOCMGtOal21qxctdheo2YzTcr91z4iSISlFQOUmzMjH7tavPVr7pSt1pFHn5/Kf8zcQXHT+uYCJGSRuUgxa5+9Uj+/XBnHu12KZ8s2cENr85m+Y5DXscSkSLwrBzMrI6Z/WBma8xstZk97hs+3Mx2mdky3623Vxnl5wsPDeGp65vw4ZBOZGRmc+vr87SxWqQE8XLJIRP4tXOuGdAJeNTMmvnGveKca+27fe1dRLlYnRpU45vHk+jl21h9+xvz2XHghNexROQCPCsH59we59xS3/2jwFqglld5xH8qVwzntTvaMGJAa9anHqXXiNl8mrxDR1aLBLGg2OZgZvWANsBC36DHzGyFmY0zs+gCnjPUzJLNLDk9PT1QUeUi9G1di2+e6EqzmpV4auIKHn5vKQeOZ3gdS0TyYV7/783MLgFmAn91zn1mZrHAPsABfwHinXP3ne93JCYmuuTkZP+HlWKRle14c/ZmXpq2nsoVyvFiv5Z0a1LD61giZY6ZLXHOJeY3ztMlBzMLB/4NvO+c+wzAOZfmnMtyzmUDY4EOXmaU4hcaYjx41aVMfrQL1SLLce87i3lm0krt8ioSRLzcW8mAt4C1zrmXcw2PzzXZLcCqQGeTwGhWsxKTH7uSoUkN+HDRdnq/Opsl2w54HUtE8HbJ4UrgbuCac3ZbfcHMVprZCqAbMMzDjOJnEeGhPNO7KR8N6URWtuO20fP5+7frOJ2pa1aLeMnzbQ7FQdscSoejp87w/Jdr+Th5B03ioni5f2ua1azkdSyRUitotzmI5BYVEc7f+7XkzUGJ7DuWQd9Rcxj1QwqZWdleRxMpc1QOEnSuaxbLtGFJ9GgWx4tT13PbG/PZnH7M61giZYrKQYJS1chyjBzYhlfvaMPm9OP0fnU24+ZsIVun3xAJCJWDBC0zo0+rmkwblkTnS6vz5y/XMPDNBTr9hkgAqBwk6MVWiuCtwYm8cGtLVu06wvX/nMV7C7bp9BsifnTBcjCzJ81M5zwST5kZ/dvX4dsnutImoQq//3wVd7+1iF264pyIXxRmySEKmGZms83sMd/pLUQ8UTu6Iu/d35Hnb27B0u0Huf6VWXy8eLuWIkSK2QXLwTn3J+dcc+BRIB6YaWYz/J5MpABmxl2d6jL1iSRa1KrE//x7Jfe8vZg9h7UUIVJcirLNYS+QCuwHdJY08VydqhX54IFO/KlPcxZtOUCPV2bxiU4FLlIsCrPN4REz+xH4DqgGDHHOtfR3MJHCCAkxBneux7dPdKVpfCV+O3EF972zmNTDp7yOJlKiFWbJoQ7whHOuuXNuuHNujb9DiRRV3WqRfDSkE3+8qRnzN++n+yszdUEhkYtQmG0Ov3POLQtAFpGLEhJi3Htlfb59PImmcTkXFNJShMjPo+McpNSpVz2Sj4Z2YvhNzViw+QDdX5mpbREiRaRykFIpJMS458r6/7UtYvDbi9mt4yJECkXlIKXa2W0Rf+rTnMVbDnD9K7P4aJGOixC5EJWDlHpn92ia+kQSzWtV4unPVjJo3CJ2HtQ5mkQKonKQMiOhWs5xEX+5uQVLtuUcXa1zNInkL2jLwcx6mtl6M0sxs6e9ziOlQ0iIcbfv6OpWdXLO0XTnmwt1pleRcwRlOZhZKDAK6AU0A+4ws2beppLSpE7Virz/QEf+95bLWbHzMNf/cxYT5m/V9SJEfIKyHIAOQIpzbrNzLgP4COjrcSYpZcyMgR0TmDosiXZ1o3lu8mruGLuAbfuPex1NxHPBWg61gB25Hu/0DfsPMxtqZslmlpyenh7QcFK61KpSgQn3deCFW1uyZs8Rev5TV50TCdZyuCDn3BjnXKJzLjEmJsbrOFLCnb1exPRhV3HFpdX485dr6K9rV0sZFqzlsIucczqdVds3TMSv4irnXHXuH7e1YkPaUXqNmM3YWZvJ0lKElDHBWg6LgYZmVt/MygEDgCkeZ5Iywsy4tV1tZjx5FV0bxvDXr9fSb/Q8UvZqKULKjqAsB+dcJvAYMBVYC3zinFvtbSopa2pUimDsoHaMGNCaLfuO0/vV2bz+4yYys7K9jibid1YaDgBKTEx0ycnJXseQUiz96Gmem7yKb1al0qp2ZV7o14rGcVFexxK5KGa2xDmXmN+4oFxyEAk2MVHlef2udowa2JadB09y42uzefW7jZzRUoSUUioHkSK4oWU804Yl0atFPC9P30DfkXNZteuw17FEip3KQaSIql1SnlfvaMOYu9uRfuw0fUfN5aWp6zmdmeV1NJFio3IQ+Zl6NI9jxrCruLl1LUb+kMKNr87hp+0HvY4lUixUDiIXoXLFcP7RvxVv39ueY6czufX1efz1qzWczNBShJRsKgeRYtCtcQ2mDUtiQIcExs7eQq8Rs1iweb/XsUR+NpWDSDGJigjnf2+5nA+GdCTbwYAxC/j95ys5euqM19FEikzlIFLMOl9anW+f6Mr9Xerz/sLtXP/KLH5Yv9frWCJFonIQ8YOK5cL4w43N+PfDnYksH8a9by9m2MfLOHA8w+toIoWichDxo7YJ0Xz5qy786prL+GL5brq/PJMvlu/WpUkl6KkcRPysfFgoT/ZozBe/7EKt6Ar88sOfGDJhCamHT3kdTaRAKgeRAGkaX4nPHu7Ms72bMiclne4vz+T9hdt0USEJSioHkQAKCw1hSFIDpj6RxOW1K/PspFUMGLOATbqokAQZlYOIB+pWi+T9Bzrywq0tWZd6hF4jZjPy+41kZOpEfhIcVA4iHjl7adIZv76K7k1jeWnaBm56TafgkOCgchDxWI2oCEbd2ZY3ByVy5NQZfvH6PIZPWc2x05leR5MyTOUgEiSuaxbL9CevYvAV9Rg/fyvdX57J9DVpXseSMsqTcjCzF81snZmtMLNJZlbFN7yemZ00s2W+22gv8ol45ZLyYQzv05zPHu5M5QrhDJmQzEPvardXCTyvlhymAy2ccy2BDcDvco3b5Jxr7bs95E08EW+1SYjmi1924bc9G/PD+r1c9/JMJszfSpZ2e5UA8aQcnHPTnHNnV6guAGp7kUMkmIWHhvDI1ZcxbVgSbRKq8Nzk1fziX3NZvVtXnhP/C4ZtDvcB3+R6XN/MfjKzmWbWtaAnmdlQM0s2s+T09HT/pxTxSN1qkUy4rwMjBrRm16GT9Bk5l+e/XMNxbbAWPzJ/nePFzGYAcfmMetY5N9k3zbNAIvAL55wzs/LAJc65/WbWDvgcaO6cO3K+10pMTHTJycnF+w8QCUKHT5zhb9+u48NF24mvHMHwPs3p0SwWM/M6mpRAZrbEOZeY7zivTgBmZvcADwLXOudOFDDNj8BvnHPn/eZXOUhZs2TbAZ6dtIp1qUe5tkkNhvdpTp2qFb2OJSXM+crBq72VegK/BfrkLgYzizGzUN/9BkBDYLMXGUWCWbu6Vfnil114tndT5m/eT/dXZjLqhxQdYS3FxqttDiOBKGD6ObusJgErzGwZMBF4yDl3wKOMIkEt3HeephlPXkW3xjV4cep6eo2YxbyUfV5Hk1LAs9VKxUmrlUTgh/V7+ePk1Ww/cIKbWtXk2d5Niasc4XUsCWJBt1pJRIpft8Y1mDYsicevbcjU1alc+48feXP2Zs5kaVWTFJ3KQaQUiQgPZVj3RkwflkSH+lV5/qu13PDqbOZt0qomKRqVg0gpVLdaJOPuac/YQYmcyMhi4NiFPPbBUvYcPul1NCkhVA4ipZSZ0b1ZLDOevIph1zVi+po0rnkpZ6+mU2eyvI4nQU7lIFLKRYSH8vh1DZnx5FUkNarOi1PX0+OVWUxfk0Zp2CFF/EPlIFJG1KlakTfuTuS9+ztSPiyEIROSGTRuESl7j3odTYKQykGkjOnSsDpfP96V525sxrIdh7j+n7MZPmU1h05keB1NgojKQaQMCg8N4b4u9fnxN1czoH0dJszfytUv/ciE+VvJ1K6vgspBpEyrdkl5/nrL5Xz1q640i6/Ec5NX03PEbH5Yv9fraOIxlYOI0DS+Eu8/0JE37m5HZlY29769mEHjFrE+VdsjyiqVg4gAObu+Xt88jmnDruL3NzRl2faD9Boxi999tpK9R3WZ0rJG5SAi/6VcWAgPdG3AzKe6MeiKenyavIOrX/yRV7/byIkMXWCorNCJ90TkvLbsO84L367jm1Wp1Igqz5PdG9GvXW3CQvV/y5JOJ94TkZ+tfvVIXr+rHRMfuoJa0RV4+rOV9BwxWwfRlXIqBxEplMR6Vfns4c6Mvqst2dmOIROS6f/GfJK36pIrpZHKQUQKzczo2SKeqcOSeP7mFmzdf4J+o+fzwPjFrEs976XepYTx6jKhw81sl+8qcMvMrHeucb8zsxQzW29m13uRT0TOLzw0hLs61WXmU1fz1PWNWbj5AL1GzObJj5exfX++l4SXEsaTDdJmNhw45px76ZzhzYAPgQ5ATWAG0Mg5d95TSGqDtIi3Dh7PYPTMTbwzbytZ2Y7b29fhl9c01JXoglxJ2iDdF/jIOXfaObcFSCGnKEQkiEVHluN3vZsy67fduKNDAp8k7+CqF3/gL1+uYd+x017Hk5/By3J4zMxWmNk4M4v2DasF7Mg1zU7fsDzMbKiZJZtZcnp6ur+zikghxFaK4C83t+D7X1/NjS1r8vbcLXT9+w/87Zt1HDyuE/uVJH5brWRmM4C4fEY9CywA9gEO+AsQ75y7z8xGAgucc+/5fsdbwDfOuYnney2tVhIJTpvTjzHiu41MWb6byHJh3NO5Hvd3qU90ZDmvownnX60U5q8Xdc5dV5jpzGws8KXv4S6gTq7RtX3DRKQEahBzCSMGtOHRbpcxYsZGRv6Qwttzt3DPlfV4oEsDlUQQ82pvpfhcD28BVvnuTwEGmFl5M6sPNAQWBTqfiBSvRrFRjLqzLVOfSOLqJjX414+b6PL37/nbN+u0TSJI+W3J4QJeMLPW5KxW2go8COCcW21mnwBrgEzg0QvtqSQiJUfjuChGDWzLhrSjvPZ9Cm/M2sQ787ZwZ8e6DE1qQGwl7d0ULHRuJRHxzKb0Y4z6IYXJy3YTGmLc1q42DyZdSkK1il5HKxPOt81B5SAintu+/wSjZ21iYvJOspzjppbxPHz1ZTSOi/I6WqmmchCREiHtyCnemrOF9xZs40RGFtc0qcGDSQ3oUL8qZuZ1vFJH5SAiJcqhExm8O38b78zbyv7jGbRJqMKDSZfSvVksoSEqieKichCREulkRhYTl+xgzOzN7DhwknrVKnJ/l/r0a1eHCuVCvY5X4qkcRKREy8zKZurqNMbM3szyHYeIrhjOwI4JDLqinvZwuggqBxEpFZxzJG87yJhZm5mxNo2wEOPGljW5v0t9WtSq7HW8EseTI6RFRIqbmdG+XlXa16vKtv3HeXvuVj5N3sGkn3bRvl40gzvX4/rmcYTrEqYXTUsOIlKiHTl1hk8W72DC/G1sP3CCuEoR3NkxgQEdEoiJKu91vKCm1UoiUuplZTt+XL+Xd+ZtZfbGfYSHGr1axHP3FXVJrButXWHzodVKIlLqhYYY1zaN5dqmsWxKP8Z7C7YxcclOpizfTZO4KO7smMDNbWoRFRHuddQSQUsOIlJqncjI5POfdvP+wm2s3n2EiuVC6dOqJgM7JnB5rcplfmlCq5VEpExzzrFi52E+WLidKct3c/JMFs3iKzGgQx36tq5F5Qplc2lC5SAi4nPk1BkmL9vNR4u2s3r3EcqHhdD78nhua1ebTg2qEVKGjsBWOYiI5GPVrsN8uChnaeLoqUxqR1egX7va3Nq2NnWqlv4zw6ocRETO49SZLKauTuXT5J3MSdkHQIf6VenXtja9Lo8rtRuxVQ4iIoW069BJJi3dyb+X7mLLvuNEhIfQvVkcN7euSVKjmFJ1gJ3KQUSkiJxz/LTjEJ8t3clXK/Zw8MQZqkaW44bL4+nTuibtEqJL/PaJoCsHM/sYaOx7WAU45JxrbWb1gLXAet+4Bc65hy70+1QOIuJPGZnZzNqQzqRlu/hubRqnzmRTq0oFbmwZz02tatK8ZqUSuVts0JXDfwUw+wdw2Dn3Z185fOmca1GU36FyEJFAOXY6kxlr0piyfDezNqSTme2oW60iN1wez40ta9I0PqrEFEXQloPlzMHtwDXOuY0qBxEpSQ4ez2DamlS+XLGHeZv2k5XtqFetIj1bxNOrRRwtawf3gXbBXA5JwMtnw/nKYTWwATgC/N45N7uA5w4FhgIkJCS027ZtW0Ayi4jk58DxDL5dlco3q/Ywf9N+MrMdtapUoEfzWHo0i6N9vWjCgmxjtiflYGYzgLh8Rj3rnJvsm+Z1IMU59w/f4/LAJc65/WbWDvgcaO6cO3K+19KSg4gEk0MnMpi+Jo1vV6UyO2UfGZnZRFcM59qmsVzXNJauDasTWd77U9sF5ZKDmYUBu4B2zrmdBUzzI/Ab59x5v/lVDiISrI6fzmTmhnSmrU7lu3V7OXoqk3JhIVx5aTWubRrLNU1qULNKBU+yBetZWa8D1uUuBjOLAQ4457LMrAHQENjsVUARkYsVWT6M3pfH0/vyeM5kZbN46wFmrNnLjLVp/LB+FQBN4qK4pkkNujWpQZs6VYJi9ZOXSw7vkLOr6uhcw24F/gycAbKBPzrnvrjQ79KSg4iUNM45NqUf4/t1e/lu7V6Stx0kK9sRFRFG14bVubpRDbo2qk58Zf8tVQTlaqXipHIQkZLu8MkzzE3Zx4/r9zJzQzppR04D0Cj2Ero2jKFLw+p0rF+ViuWKb4WPykFEpARxzrEu9SizN6Yze+M+Fm45QEZmNuGhRpuEaLpcVp0rL6tGy9pVLup0HioHEZES7NSZLBZtOcDcTfuYm7KP1buP4BxElgtlYMcEnr2h2c/6vcG6QVpERAohIjyUpEYxJDWKAXIOvpu/eT/zN+332zYJlYOISAkTHVnuP3tA+Yv3+0uJiEjQUTmIiEgeKgcREclD5SAiInmoHEREJA+Vg4iI5KFyEBGRPFQOIiKSR6k4fYaZpQMXcym46sC+YopTnJSraJSraJSraEpjrrrOuZj8RpSKcrhYZpZc0PlFvKRcRaNcRaNcRVPWcmm1koiI5KFyEBGRPFQOOcZ4HaAAylU0ylU0ylU0ZSqXtjmIiEgeWnIQEZE8VA4iIpJHmSkHM+tpZuvNLMXMns5nfHkz+9g3fqGZ1QtApjpm9oOZrTGz1Wb2eD7TXG1mh81sme/2nL9z5XrtrWa20ve6ea7Dajle9c2zFWbW1s95GueaD8vM7IiZPXHONAGbX2Y2zsz2mtmqXMOqmtl0M9vo+xldwHMH+6bZaGaDA5DrRTNb53ufJplZlQKee9733A+5hpvZrlzvV+8Cnnvev18/5Po4V6atZrasgOf6c37l+/0QsM+Yc67U34BQYBPQACgHLAeanTPNI8Bo3/0BwMcByBUPtPXdjwI25JPrauBLj+bbVqD6ecb3Br4BDOgELAzwe5pKzkE8nswvIAloC6zKNewF4Gnf/aeBv+fzvKrAZt/PaN/9aD/n6gGE+e7/Pb9chXnP/ZBrOPCbQrzX5/37Le5c54z/B/CcB/Mr3++HQH3GysqSQwcgxTm32TmXAXwE9D1nmr7AeN/9icC1Zmb+DOWc2+OcW+q7fxRYC9Ty52sWs77ABJdjAVDFzPx33cL/di2wyTl3MUfGXxTn3CzgwDmDc3+OxgM35/PU64HpzrkDzrmDwHSgpz9zOeemOecyfQ8XALWL6/UuJlchFebv1y+5fN8B/YEPi+v1Cus83w8B+YyVlXKoBezI9Xgneb+E/zON74/oMFAtIOkA32qsNsDCfEZfYWbLzewbM2seqEyAA6aZ2RIzG5rP+MLMV38ZQMF/sF7NL4BY59we3/1UIDafabycbwD3kbPEl58Lvef+8Jhvdde4AlaReDm/ugJpzrmNBYwPyPw65/shIJ+xslIOQc3MLgH+DTzhnDtyzuil5Kw6aQW8BnwewGhdnHNtgV7Ao2aWFMDXLpCZlQP6AJ/mM9rL+fVfXM7yfVDtK25mzwKZwPsFTBLo9/x14FKgNbCHnFU4weQOzr/U4Pf5db7vB39+xspKOewC6uR6XNs3LN9pzCwMqAzs93cwMwsn541/3zn32bnjnXNHnHPHfPe/BsLNrLq/c/leb5fv515gEjmL97kVZr76Qy9gqXMu7dwRXs4vn7Szq9Z8P/fmM40n883M7gFuBO70fankUYj3vFg559Kcc1nOuWxgbAGv59X8CgN+AXxc0DT+nl8FfD8E5DNWVsphMdDQzOr7/tc5AJhyzjRTgLNb9PsB3xf0B1RcfOsz3wLWOudeLmCauLPbPsysAznvWSBKK9LMos7eJ2eD5qpzJpsCDLIcnYDDuRZ3/anA/815Nb9yyf05GgxMzmeaqUAPM4v2rUbp4RvmN2bWE/gt0Mc5d6KAaQrznhd3rtzbqG4p4PUK8/frD9cB65xzO/Mb6e/5dZ7vh8B8xvyxlT0Yb+TsWbOBnL0envUN+zM5fywAEeSspkgBFgENApCpCzmLhCuAZb5bb+Ah4CHfNI8Bq8nZQ2MB0DlA86uB7zWX+17/7DzLnc2AUb55uhJIDECuSHK+7CvnGubJ/CKnoPYAZ8hZp3s/OdupvgM2AjOAqr5pE4E3cz33Pt9nLQW4NwC5UshZB332c3Z2z7yawNfne8/9nOtd32dnBTlfevHn5vI9zvP3689cvuHvnP1c5Zo2kPOroO+HgHzGdPoMERHJo6ysVhIRkSJQOYiISB4qBxERyUPlICIieagcREQkD5WDiJ+YWRUze8TrHCI/h8pBxH+qkHO2X5ESR+Ug4j9/Ay71nev/Ra/DiBSFDoIT8RPfmTS/dM618DqLSFFpyUFERPJQOYiISB4qBxH/OUrO5R1FShyVg4ifOOf2A3PNbJU2SEtJow3SIiKSh5YcREQkD5WDiIjkoXIQEZE8VA4iIpKHykFERPJQOYiISB4qBxERyeP/Aw42MWjk6yxsAAAAAElFTkSuQmCC\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "def func3(t,y,g,m,rho,C_W,A):\n",
+    "    if y[0] > 0:\n",
+    "        return [(-0.5*rho*y[0]**2*C_W*A-m*g)/m, y[0]]\n",
+    "    else:\n",
+    "        return [(0.5*rho*y[0]**2*C_W*A-m*g)/m, y[0]]\n",
+    "\n",
+    "sol3 = scipy.integrate.solve_ivp(func3, t_span, y_0, max_step = 0.25, args=(g, m, rho, C_W, A))\n",
+    "plt.plot(sol3[\"t\"], sol3[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "41eb81f3",
+   "metadata": {},
+   "source": [
+    "Jetzt steigt die Geschwindigkeit bei einer Aufwärtsbewegung nicht mehr an. Wenn man den Luftwiderstand oben etwas erhöht (z.B. durch Eintragen von 0.1 statt A (0.008) in args), sieht man noch besser, wie der Luftwiderstand vor allem in Betragsmäßig hohen Geschwindigkeiten einen Einfluss hat, und um 0 herum nur wenig.\n",
+    "\n",
+    "Für die nächsten Schritte verwenden wir die Anfangsbedingungen $v_0 = 10, h_0 = 500$.\n",
+    "\n",
+    "Im nächsten Schritt wollen wir simulieren, was passiert, wenn sich ein kleiner Fallschirm öffnet. Dadurch steigen A und C_W an. Diese Änderung können wir einfach in der DGL Funktion vornehmen. Wir könnten die Details der Änderung (Zeitpunkt und neue Werte) entweder direkt festlegen (\"hardcoden\"), oder als weitere Parameter übergeben. Hier entscheiden wir uns für das Übergeben als Parameter. In der Funktion überprüfen wir zu Beginn, ob die Zeit hinter dem Zeitpunkt des Öffnens liegt. In diesem Fall werden C_W und A mit den neuen Werten ersetzt. Dabei sollten wir im Hinterkopf haben, dass die Funktion in jedem Zeitschritt neu aufgerufen wird, und so die Änderung der Parameter auch immer funktionieren muss. Oder in anderen Worten, es reicht nicht, die Parameter einmal zu ändern. Die Funktion merkt es sich nicht. Wir geben der Lösungsmethode beispielsweise die Werte 10s für den Zeitpunkt und $C_{W,neu} = 1.33$ und $A{neu} = 0.2$ als Parameter.\n",
+    "\n",
+    "Als weitere Verbesserung nutzen wir nicht mehr eine Fallunterscheidung für die Richtung der Bewegung, sondern die Funktion ````np.sign()````. Mathematisch ist diese definiert als $\\frac{x}{|x|}$. Wir erhalten also bei einem positiven Wert 1, und bei einem negativen Wert -1. Bei 0 wird eine 0 ausgegeben, auch wenn das strenggenommen mathematisch ein Grenzwert ist (da wir nicht durch 0 teilen können). Wir nutzen diese Funktion mit der Geschwindigkeit, um das Vorzeichen der Kraft zu beeinflussen. Da wir bei positiver Geschwindigkeit ein negatives Vorzeichen für die Kraft benötigen und umgekehrt, multiplizieren wir -1. dazu. Das schöne ist, dass wir nun nur ein return Statement benötigen."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "id": "8572186d",
+   "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"
+    }
+   ],
+   "source": [
+    "v_0, h_0 = 10, 500\n",
+    "y_0 = [v_0, h_0]\n",
+    "\n",
+    "def func4(t, y, g, m, rho, C_W, A, t_event, C_W_new, A_new):\n",
+    "    # Änderung der Parameter\n",
+    "    if t>=t_event:\n",
+    "        C_W = C_W_new\n",
+    "        A = A_new\n",
+    "    # Kompaktere Version der Unterscheidung der Richtung durch Nutzen von -1*np.sign(y[0]) -> Ergibt -1, falls v positiv. \n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W*A-m*g)/m, y[0]]\n",
+    "    \n",
+    "sol4 = scipy.integrate.solve_ivp(func4, t_span, y_0, max_step = 0.25, args=(g, m, rho, C_W, A, 10, 1.33, 0.2))\n",
+    "plt.plot(sol4[\"t\"], sol4[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a870fff2",
+   "metadata": {},
+   "source": [
+    "Wir sehen, dass nach 10 s der Betrag der Geschwindigkeit stark reduziert wird, da der Fallschirm für mehr Luftwiderstand sorgt. So stellt sich eine signifikant langsamere Gleichgewichtsgeschwindigkeit ein. Hier lassen wir uns auch einmal die Höhe ausgeben:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "id": "79983d39",
+   "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"
+    }
+   ],
+   "source": [
+    "plt.plot(sol4[\"t\"], sol4[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6e569440",
+   "metadata": {},
+   "source": [
+    "Der nächste Schritt ist eine Vorbereitung auf komplexere Parameteränderungen.\n",
+    "Wir wollen vielleicht nicht noch mehr Parameter mit der Lösungsfunktion an die DGL-Funktion übergeben und die DGL-Funktion so groß mit vielen Fallunterscheidungen werden lassen. (Das ist aber eine Design-Entscheidung. Theoretisch wäre das kein Problem).\n",
+    "\n",
+    "Um das zu verhindern können wir auch Funktionen für die entsprechenden Parameter definieren, und der Lösungs- bzw. DGL-Funktion diese Funktionen anstelle von diskreten Werten übergeben. Dann können wir in den Funktionen für die Parameter alles definieren, wie wir es wollen, und müssen in der DGL-Funktion nur noch die Funktion mit ihren entsprechenden Abhängigkeiten aufrufen. Programmieren wir also den selben Fall wie eben, aber mit diesem anderen Ansatz.\n",
+    "\n",
+    "Wir erstellen also von t abhängige Funktionen für A und C_W, die je nach Zeitpunkt einen anderen Wert ausgeben. Die Werte sind hier hard-gecodet. Wir verstehen die Funktionen als eine komplexere Möglichkeit der Parameterdefinition.\n",
+    "\n",
+    "In der DGL Funktion muss nun berücksichtigt werden, dass A und C_W keine Skalare mehr sind, sondern Funktionen von t. Wir müssen daher in der Formel bei jedem A und C_W dafür sorgen, dass es ein Aufruf der Funktion von t ist.\n",
+    "\n",
+    "In der Lösungsfunktion übergeben wir für A und C_W nun nicht die Skalaren Werte, sondern die Funktionen (mithilfe des Funktionsnamens aber ohne Parameteraufruf).\n",
+    "\n",
+    "Das Prüfen der Ergebnisse folgt wie zuvor."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "id": "d4b631c5",
+   "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"
+    }
+   ],
+   "source": [
+    "def func_A(t):\n",
+    "    if t<10:\n",
+    "        return 0.008\n",
+    "    else:\n",
+    "        return 0.2\n",
+    "\n",
+    "def func_C_W(t):\n",
+    "    if t<10:\n",
+    "        return 0.18\n",
+    "    else:\n",
+    "        return 1.33\n",
+    "\n",
+    "#In der Funktion behandeln wir nun C_W und A als Funktionen, da wir wissen, dass hier zum Lösen auch eine Funktion übergeben wird\n",
+    "def func5(t, y, g, m, rho, C_W, A):\n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W(t)*A(t)-m*g)/m, y[0]]\n",
+    "\n",
+    "#Übergabe der Funktionen über ihren Namen als Parameter\n",
+    "sol5 = scipy.integrate.solve_ivp(func5, t_span, y_0, max_step = 0.25, args=(g, m, rho, func_C_W, func_A))\n",
+    "\n",
+    "plt.plot(sol5[\"t\"], sol5[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4f3967b4",
+   "metadata": {},
+   "source": [
+    "An diesem Beispiel konnten wir sehen, dass das Ãœbergeben von Funktionen als Parameter auch funktioniert.\n",
+    "\n",
+    "Damit können wir zum nächsten Schritt kommen: Statt des plötzlichen Sprungs der Parameter, wollen wir das langsame Öffnen des Fallschirms innerhalb von 4s durch eine lineare Interpolation annähern. Wir ändern also die Funktionen für A und C_W so, dass wir zunächst die Parameter einstellen, wann das Öffnen beginnt (8s), wann es endet (12s), wie der Wert vorher ist, und wie der Wert nachher ist (s.o.). Dann wird mittels Fallunterscheidung geprüft, ob die aktuelle Zeit t vor, während, oder nach dem Öffnen liegt, und ein entsprechender Wert ausgegeben. Liegt der Zeitpunkt innerhalb des Öfnnungsintervalls wird linear zwischen den beiden Werten interpoliert. Das kann manuell, oder mit der SciPy Funktion gemacht werden.\n",
+    "\n",
+    "An der DGL-Funktion müssen wir nichts ändern und an der Lösungsfunktion nur die Funktionsnamen für A und C_W, da wir diese mit einem Hinweis auf die lineare Funktion (ramp) versehen haben.\n",
+    "\n",
+    "In der Auswertung sehen wir einen glatteren Geschwindigkeitsverlauf. Je länger wir den Zeitraum einstellen und je niedriger der erhöhte Luftwiderstand ist, desto glatter wird er."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "id": "1b6e7754",
+   "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"
+    }
+   ],
+   "source": [
+    "def func_A_ramp(t):\n",
+    "    t_start = 8\n",
+    "    t_end = 12\n",
+    "    A_before = 0.008\n",
+    "    A_after = 0.2\n",
+    "    if t<t_start:\n",
+    "        return A_before\n",
+    "    elif t<t_end:\n",
+    "        return A_before+(t-t_start)*((A_after-A_before)/(t_end-t_start)) # manuell linear interpoliert\n",
+    "    else:\n",
+    "        return A_after\n",
+    "\n",
+    "def func_C_W_ramp(t):\n",
+    "    t_start = 8\n",
+    "    t_end = 12\n",
+    "    C_W_before = 0.18\n",
+    "    C_W_after = 1.33\n",
+    "    if t<t_start:\n",
+    "        return C_W_before\n",
+    "    elif t<t_end:\n",
+    "        return scipy.interpolate.interp1d((t_start,t_end),(C_W_before, C_W_after))(t) # mit scipy linear interpoliert\n",
+    "    else:\n",
+    "        return C_W_after\n",
+    "\n",
+    "def func5(t, y, g, m, rho, C_W, A):\n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W(t)*A(t)-m*g)/m, y[0]]\n",
+    "\n",
+    "sol5 = scipy.integrate.solve_ivp(func5, t_span, y_0, max_step = 0.25, args=(g, m, rho, func_C_W_ramp, func_A_ramp))\n",
+    "\n",
+    "plt.plot(sol5[\"t\"], sol5[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "e3e6ff0a",
+   "metadata": {},
+   "source": [
+    "Als nächstes wollen wir den Schirm nicht zu einer bestimmten (bekannten) Zeit öffnen, sondern zu einer bestimmten Höhe (300m) öffnen. Allerdings ist der Zeitpunkt dieser Änderung unbekannt, da er von der Lösung der DGL abhängt. Zunächst wollen wir wieder das plötzliche Öffnen ohne Interpolation umsetzen. Wir ändern also die Funktionen für A und C_W so, dass sie nicht mehr von t, sondern von h abhängig sind.\n",
+    "\n",
+    "Nun müssen wir auch wieder die DGL_Funktion anpassen und A und C_W die aktuelle Höhe, anstatt der aktuellen Zeit mitgeben. Auf die Höhe können wir über y zugreifen.\n",
+    "\n",
+    "Am Aufruf der Lösungsfunktion und der grafischen Darstellung ändert sich nichts."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "id": "54ae694b",
+   "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"
+    }
+   ],
+   "source": [
+    "def func_A(h):\n",
+    "    if h>300:\n",
+    "        return 0.008\n",
+    "    else:\n",
+    "        return 0.2\n",
+    "\n",
+    "def func_C_W(h):\n",
+    "    if h>300:\n",
+    "        return 0.18\n",
+    "    else:\n",
+    "        return 1.33\n",
+    "\n",
+    "#In der Funktion behandeln wir nun C_W und A als Funktionen von h (also y[1]), da wir wissen, dass hier zum Lösen auch eine Funktion übergeben wird\n",
+    "def func6(t, y, g, m, rho, C_W, A):\n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W(y[1])*A(y[1])-m*g)/m, y[0]]\n",
+    "\n",
+    "#Übergabe der Funktionen über ihren Namen als Parameter\n",
+    "sol6 = scipy.integrate.solve_ivp(func6, t_span, y_0, max_step = 0.25, args=(g, m, rho, func_C_W, func_A))\n",
+    "\n",
+    "plt.plot(sol6[\"t\"], sol6[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "40674516",
+   "metadata": {},
+   "source": [
+    "Das hat funktioniert. Bis hierhin konnten wir alles gut in einer solchen Funktion für einen Parameter definieren.\n",
+    "\n",
+    "Das Ziel der Problemstellung ist etwas schwieriger. Der Fallschirm soll sich bei einer Höhe von 300m öffnen und dafür 4 Sekunden brauchen. Das können wir aber nicht so leicht in eine Funktion programmieren, da der Zeitpunkt des Öffnens nicht übergeben werden kann, weil wir ihn vor der Lösung nicht wissen. Wir können auch nicht in der Funktion selbst den Zeitpunkt  bei erreichen speichern, da die Funktion ja jedes mal neu ausgewertet wird und gespeicherte Werte somit zurückgesetzt werden. Wir benötigen aber für den zeitabhängigen Verlauf des Öffnens irgendwie die Startzeit.\n",
+    "\n",
+    "Wir werden daher stattdessen die Möglichkeit nutzen, eine Simulation abhängig von einer Bedingung abzubrechen (Hier: Erreichen der Auslösehöhe) und dann eine neue Berechnung für den Rest der Simulation starten. Darin können wir dann problemlos die 4 Sekunden Öffnungszeit berücksichtigen, da dann der Zeitpunkt bekannt ist. Zum Schluss werden wir die Ergebnisse aneinanderfügen.\n",
+    "\n",
+    "Wir beginnen erst einmal nur mit der ersten Hälfte, um zu prüfen, ob mit dem Event zum Beenden alles klappt. Wir benötigen also für den ersten Abschnitt wieder die ursprüngliche DGL-Funktion, ohne zeitabhängige Parameter.\n",
+    "\n",
+    "Dann erstellen wir die Funktion für das \"Event\". Die Funktion erhält die gleichen Argumente wie die DGL-Funktion und das Event gilt als eingetreten, wenn der Rückgabewert 0 erreicht, bzw. zwischen zwei Schritten das Vorzeichen wechselt. Das bedeuted, wir müssen die Differenz von der aktuellen Höhe und der gewünschten Auslösehöhe zurückgeben. Auf der Auslösehöhe wird 0 zurückgegeben.\n",
+    "\n",
+    "Die Funktion wird noch mit dem Attribut ````.terminal = True```` versehen. Das signalisiert der Lösungsfunktion, dass die Berechnung bei eintreten des Events beendet werden soll. Ansonsten würde die Berechnung weiterlaufen und das Eintreten des Events lediglich mit Zeit und y-Werten protokolliert.\n",
+    "\n",
+    "Diese Eventfunktion wird der Lösungsfunktion als zusätzlicher optionale parameter ````events```` übergeben.\n",
+    "\n",
+    "Hier lassen wir uns noch einmal die Lösung per ````print()```` ausgeben, um anzusehen, wie das Event protokolliert wird."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "id": "d866ae78",
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "  message: 'A termination event occurred.'\n",
+      "     nfev: 194\n",
+      "     njev: 0\n",
+      "      nlu: 0\n",
+      "      sol: None\n",
+      "   status: 1\n",
+      "  success: True\n",
+      "        t: array([0.        , 0.10739467, 0.35739467, 0.60739467, 0.85739467,\n",
+      "       1.10739467, 1.35739467, 1.60739467, 1.85739467, 2.10739467,\n",
+      "       2.35739467, 2.60739467, 2.85739467, 3.10739467, 3.35739467,\n",
+      "       3.60739467, 3.85739467, 4.10739467, 4.35739467, 4.60739467,\n",
+      "       4.85739467, 5.10739467, 5.35739467, 5.60739467, 5.85739467,\n",
+      "       6.10739467, 6.35739467, 6.60739467, 6.85739467, 7.10739467,\n",
+      "       7.35739467, 7.60739467, 7.67890265])\n",
+      " t_events: [array([7.67890265])]\n",
+      "        y: array([[ 10.        ,   8.93795678,   6.47225665,   4.01358552,\n",
+      "          1.55926315,  -0.89333393,  -3.34473321,  -5.79251993,\n",
+      "         -8.23406288, -10.6667577 , -13.08803793, -15.49538567,\n",
+      "        -17.88634185, -20.25851592, -22.60959501, -24.93735236,\n",
+      "        -27.23965505, -29.51447095, -31.75987482, -33.97405363,\n",
+      "        -36.15531094, -38.30207045, -40.4128787 , -42.48640688,\n",
+      "        -44.52145185, -46.51693632, -48.47190832, -50.38553992,\n",
+      "        -52.2571253 , -54.08607818, -55.87192876, -57.61432008,\n",
+      "        -58.10466904],\n",
+      "       [500.        , 501.01690072, 502.94300286, 504.25361471,\n",
+      "        504.95015797, 505.03338769, 504.50358157, 503.36132217,\n",
+      "        501.60784199, 499.24502818, 496.27541449, 492.70217042,\n",
+      "        488.52908781, 483.76056489, 478.401588  , 472.45771112,\n",
+      "        465.93503332, 458.84017446, 451.18024916, 442.96283946,\n",
+      "        434.19596614, 424.88805915, 415.0479272 , 404.68472682,\n",
+      "        393.80793104, 382.42729795, 370.55283927, 358.19478917,\n",
+      "        345.36357349, 332.06977955, 318.32412657, 304.13743707,\n",
+      "        300.        ]])\n",
+      " y_events: [array([[-58.10466904, 300.        ]])]\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#Konstanten\n",
+    "A = 0.008\n",
+    "C_W = 0.18\n",
+    "\n",
+    "#Funktion für DGL eigentlich bereits implementiert. Hier mit besserem Namen\n",
+    "def func_const_param(t, y, g, m, rho, C_W, A):\n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W*A-m*g)/m, y[0]]\n",
+    "\n",
+    "#Funktion zur Definition des Events (Erreichen von Auslösehöhe 300). \n",
+    "def event_reach_300m(t,y, g, m, rho, C_W, A):\n",
+    "    return y[1]-300\n",
+    "\n",
+    "event_reach_300m.terminal = True #Dieses Attribut sorgt dafür, dass die Rechnung bei Eintreten des Events beendet wird. Ansonsten wird nur der Zeitpunkt und das Eintreten protokolliert\n",
+    "\n",
+    "sol_to_event = scipy.integrate.solve_ivp(func_const_param, t_span, y_0, max_step = 0.25, events = event_reach_300m, args=(g, m, rho, C_W, A))\n",
+    "\n",
+    "print(sol_to_event)\n",
+    "\n",
+    "plt.plot(sol_to_event[\"t\"], sol_to_event[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ccc50fb4",
+   "metadata": {},
+   "source": [
+    "Wir können einerseits im Dictionary der Lösung sehen, dass (message), wann (t_events) und mit welchen Werten (y_events) das Event eingetreten ist, und sehen auch im Plot und den t,y Daten im Dictionary, dass die Simulation beendet wurde. Nun schauen wir uns an, wie man die Rechnung fortsetzen kann wir benötigen dazu zunächst die neuen Anfangsbedingungen. Diese bekommen wir entweder aus den Event-Informationen aus dem Dictionary, oder aus dem letzten y Datensatz:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "id": "bba13316",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[-58.10466904 300.        ] 7.678902648317355\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Nutzung der Event-Informationen:\n",
+    "y0_restart = sol_to_event[\"y_events\"][0][0]\n",
+    "t0_restart = sol_to_event[\"t_events\"][0][0]\n",
+    "print(y0_restart, t0_restart)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b11ab784",
+   "metadata": {},
+   "source": [
+    "Nun müssen wir eine Designentscheidung treffen, hier gibt es wieder kein richtig oder falsch. Lassen wir t da weiterlaufen, wo es aufgehört hat, oder beginnen wir erneut bei 0 und verschieben es im Nachhinein? Wenn wir t weiterlaufen lassen, ist das Zusammenfügen und das Ergebnis intuitiver. Dafür müssen wir mithilfe eines zusätzlichen Parameters für die DGL-Funktion dafür sorgen, dass wir der Rampenfunktion für A und C_W mitteilen können, zu welchem t die Simulation beginnt. Das wäre bei der anderen Variante nicht nötig. Dafür müsste man hinterher bei der Interpretation der Ergebnisse die Verschiebung bedenken. Ich möchte gerne die erste Variante zeigen, in der t weiterläuft.\n",
+    "\n",
+    "Wir passen also die Rampenfunktionen an, die nun sowohl t als auch t0 erhalten. Hierbei verzichten wir auf eine Fallunterscheidung, sondern nutzen für jedes mögliche t die Interpolationsfunktion von Scipy. Dazu definieren wir durch 3 Wertepaare eine schrittweise lineare Funktion. Zwischen t0 und t0+4s steigt der Wert vom Anfangswert zum Endwert, und zwischen t0+4 und t0+100000 bleibt der Endwert bestehen. Um die Werte vor t0 kümmern wir uns hier nicht, da wir wissen, dass die Funktion frühestens bei t0 verwendet wird. Allerdings müssen wir aufpassen, da wir die Funktion nur bis t0+100000 definiert haben. Wollen wir längere Zeit simulieren, muss das angepasst werden.\n",
+    "\n",
+    "Die DGL-Funktion muss dahingehend angepasst werden, dass sie A und C_W in Abhängigkeit der beiden Parameter auffruft.\n",
+    "\n",
+    "Der Lösungsfunktion müssen für den zweiten Schritt ebenfalls die angepassten Daten verwendet werden. Das betrifft das Zeitintervall (t0 bis 20 s), die Anfangsbedingungen y (haben wir eben schon ermittelt), die angepasste DGL-Funktion mit entsprechender Parameterliste. Ein Event brauchen wir nun nicht mehr."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "id": "a25d702d",
+   "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"
+    }
+   ],
+   "source": [
+    "t_span_restart = [t0_restart, 20] #Anpassen des Zeitintervalls\n",
+    "\n",
+    "# 4s Rampe von t0 an. Diesmal ohne Fallunterscheidung, sondern durch weiterführende Definition der interpolierten Funktion\n",
+    "def func_A_4s(t, t0):\n",
+    "    A_before = 0.008\n",
+    "    A_after = 0.2\n",
+    "    return scipy.interpolate.interp1d((t0,t0+4,t0+100000),(A_before, A_after, A_after))(t) \n",
+    "\n",
+    "def func_C_W_4s(t, t0):\n",
+    "    C_W_before = 0.18\n",
+    "    C_W_after = 1.33\n",
+    "    return scipy.interpolate.interp1d((t0,t0+4,t0+100000),(C_W_before, C_W_after, C_W_after))(t) \n",
+    "\n",
+    "# Angepasste DGL-Funktion zur Ãœbergabe von t0\n",
+    "def func_restart_variable(t, y, g, m, rho, C_W, A, t0):\n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W(t,t0)*A(t,t0)-m*g)/m, y[0]]\n",
+    "\n",
+    "#Lösung des zweiten Teils\n",
+    "sol_restart = scipy.integrate.solve_ivp(func_restart_variable, t_span_restart, y0_restart, max_step = 0.25, args=(g, m, rho, func_C_W_4s, func_A_4s, t_span_restart[0]))\n",
+    "\n",
+    "plt.plot(sol_restart[\"t\"], sol_restart[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7b31e45b",
+   "metadata": {},
+   "source": [
+    "Das ist der zweite Teil der Rechnung. Fügen wir also die Ergebnisdaten zusammen (und nutzen dabei eine mit den anderen Lösungen vergleichbare Dictionary-Datenstruktur. Man könnte natürlich auch getrennte Arrays verwenden):"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "id": "6ebe2d30",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "sol_combined = {}\n",
+    "sol_combined[\"t\"] = np.append(sol_to_event[\"t\"], sol_restart[\"t\"])\n",
+    "sol_combined[\"y\"] = [np.append(sol_to_event[\"y\"][0], sol_restart[\"y\"][0]), np.append(sol_to_event[\"y\"][1], sol_restart[\"y\"][1])]\n",
+    "\n",
+    "plt.figure(figsize=(10,4))\n",
+    "plt.subplot(1,2,1)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.subplot(1,2,2)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7862f369",
+   "metadata": {},
+   "source": [
+    "Damit haben wir die Problemstellung 2 erfüllt.\n",
+    "\n",
+    "Durch die Zerstückelung des Codes mit den Zwischenerklärungen ist es allerdings nicht kompakt, und wenn man Werte verändern möchte, müsste man erst suchen, in welchem der Codeabschnitte diese erstellt wurden.\n",
+    "\n",
+    "Wir wollen daher noch einmal die Berechnung kompakt zusammenstellen. Dazu löschen wir mit dem nächsten Abschnitt ALLE Variablen des Notebooks (die angezeigten Ergebnisse bleiben da, aber wir können nicht mehr im Code darauf zugreifen). So können wir sicher sein, dass im dann folgenden Codeabschnitt alles nötige für die komplette Berechnung definiert wird. Wir kopieren (nur) die einzelnen Abschnitte aus den oben stehenden Segmenten zusammen und lassen unnötige Testausgaben und Zwischenerklärungen weg."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "id": "dd2a9e91",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Once deleted, variables cannot be recovered. Proceed (y/[n])? y\n"
+     ]
+    }
+   ],
+   "source": [
+    "%reset"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "id": "6e8f7bd4",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Dies ist eine Zusammenstellung der nötigen Schritte für ein Skript, das Problemstellung 2 erfüllt und\n",
+    "#weniger zerstückelt ist als bei der schrittweise Erstellung oben. Es ist keine einzige neue Anweisung dabei.\n",
+    "\n",
+    "#import der packages\n",
+    "import numpy as np\n",
+    "import scipy.integrate\n",
+    "import scipy.interpolate\n",
+    "import matplotlib.pyplot as plt\n",
+    "\n",
+    "#Konstanten\n",
+    "g = 9.81\n",
+    "m = 1\n",
+    "rho = 1.225\n",
+    "C_W = 0.18\n",
+    "A = 0.008\n",
+    "\n",
+    "#Anfangswerte und Zeitintervall\n",
+    "v_0, h_0 = 10, 500\n",
+    "y_0 = [v_0, h_0]\n",
+    "t_span = [0,20]\n",
+    "\n",
+    "#Zeitabhängige Funktionen für A und C_W\n",
+    "def func_A_4s(t, t0):\n",
+    "    A_before = 0.008\n",
+    "    A_after = 0.2\n",
+    "    return scipy.interpolate.interp1d((t0,t0+4,t0+100000),(A_before, A_after, A_after))(t) \n",
+    "\n",
+    "def func_C_W_4s(t, t0):\n",
+    "    C_W_before = 0.18\n",
+    "    C_W_after = 1.33\n",
+    "    return scipy.interpolate.interp1d((t0,t0+4,t0+100000),(C_W_before, C_W_after, C_W_after))(t)\n",
+    "\n",
+    "#Eventfunktion (mit Zusweisung des Attributs zum Abbrechen der Lösung bei Eintreten)\n",
+    "def event_reach_300m(t,y, g, m, rho, C_W, A):\n",
+    "    return y[1]-300\n",
+    "\n",
+    "event_reach_300m.terminal = True\n",
+    "\n",
+    "#DGL-Funktionen vor und nach dem Öffnen des Schirms\n",
+    "def func_const_param(t, y, g, m, rho, C_W, A):\n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W*A-m*g)/m, y[0]]\n",
+    "\n",
+    "def func_restart_variable(t, y, g, m, rho, C_W, A, t0):\n",
+    "    return [(-1*np.sign(y[0])*0.5*rho*y[0]**2*C_W(t,t0)*A(t,t0)-m*g)/m, y[0]]\n",
+    "\n",
+    "#Lösung bis zum Event\n",
+    "sol_to_event = scipy.integrate.solve_ivp(func_const_param, t_span, y_0, max_step = 0.25, events = event_reach_300m, args=(g, m, rho, C_W, A))\n",
+    "\n",
+    "#Auslesen der neuen Anfangszeit und Bedingungen und Anpassen des Zeitintervalls:\n",
+    "y0_restart = sol_to_event[\"y_events\"][0][0]\n",
+    "t0_restart = sol_to_event[\"t_events\"][0][0]\n",
+    "t_span_restart = [t0_restart, 20]\n",
+    "\n",
+    "#Lösung nach dem Event\n",
+    "sol_restart = scipy.integrate.solve_ivp(func_restart_variable, t_span_restart, y0_restart, max_step = 0.25, args=(g, m, rho, func_C_W_4s, func_A_4s, t_span_restart[0]))\n",
+    "\n",
+    "#Kombination der Lösungsdictionaries\n",
+    "sol_combined = {}\n",
+    "sol_combined[\"t\"] = np.append(sol_to_event[\"t\"], sol_restart[\"t\"])\n",
+    "sol_combined[\"y\"] = [np.append(sol_to_event[\"y\"][0], sol_restart[\"y\"][0]), np.append(sol_to_event[\"y\"][1], sol_restart[\"y\"][1])]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "id": "b1046cf1",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 720x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#Testausgabe der finalen Lösung (da es nicht direkt zum Skript gehört in einem neuen Codefeld)\n",
+    "plt.figure(figsize=(10,4))\n",
+    "plt.subplot(1,2,1)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][0])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"v\")\n",
+    "plt.subplot(1,2,2)\n",
+    "plt.plot(sol_combined[\"t\"], sol_combined[\"y\"][1])\n",
+    "plt.xlabel(\"t\")\n",
+    "plt.ylabel(\"h\")\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "31d84d3e",
+   "metadata": {},
+   "source": [
+    "## <font color='blue'> **Schlussbemerkung**\n",
+    "    \n",
+    "Wir haben nun gesehen, dass wir mit numerischen Methoden auch Problemstellungen bearbeiten können, die analytisch schwer zu erfassen sind. Einerseits ist anhand des *Euler explizit* Verfahrens gezeigt worden, wie man ein solches Verfahren selber implementieren kann und welchen Einfluss ungünstig gewählte Zeitschrittweiten haben können. Danach wurde die in *SciPy* enthaltene Methode für das numerische Lösen der DGL verwendet. Dabei wurde gezeigt, wie man veränderliche Parameter in die Funktion einbringen kann, wie man mit Events auf Bedingungen prüft und mehrere Rechnungen aneinander reihen kann.\n",
+    "\n",
+    "## <font color='blue'> **Ausblick**\n",
+    "\n",
+    "Wir können nun die gewünschten Daten erzeugen. Allerdings müssen wir die Daten direkt weiterverarbeiten, z.B. als Plot. Wenn wir irgendwann mal wieder etwas mit den Daten machen wollen, müssen wir diese neu berechnen. Bei so kleinen Rechenzeiten wie hier ist die Rechenzeit zwar noch kein großes Thema, aber bei längeren Rechenzeiten von Minuten, Stunden oder sogar Tagen ist das ein sehr großes Thema. Außerdem könnte es sein, dass wir die Daten jemand anderem zur Verfügung stellen wollen, aber nicht das Programm weitergeben möchten/können/dürfen. Wir wollen uns daher in der nächsten Übung damit beschäftigen, wie wir die Daten in Dateien langfristig abspeichern können, um sie zum Beispiel in anderen Skripten auszuwerten, oder an andere Personen zu übergeben. Außerdem wollen wir die Dateien auch selbst wieder einlesen können. Ein weiteres Thema wird die Erweiterung auf mehrere Raumdimensionen (x,z statt h) sein.\n",
+    "    \n",
+    "## <font color='blue'> **Aufgaben zum selbst probieren**\n",
+    "\n",
+    "* Wandle das Skript so ab, dass die Rechnung auch beendet wird, wenn die Höhe 0 erreicht wird. So interpoliert die Methode selbst nach $t_e$ und $v_e$. Du kannst dafür dem argument ````events```` eine Liste mit Event-funktionen statt einer einzelnen Funktion übergeben.\n",
+    "* Wandle das Skript weiter ab, dass weitere Event-Markierung gesetzt wird (die Berechnung aber nicht abbricht), wenn der die Geschwindigkeit einen bestimmten Wert ````v_event```` erreicht. Übergebe diesen Wert der Funktion. (Denk daran, dass die Eventfunktion genau die gleichen Parameter haben muss, wie die Funktion der DGL). Teste es beispielsweise mit ````v_event = -20```` in den ````args````. Lass automatisch ausgeben, ob das Event eingetreten ist, und wenn ja, wann und bei welcher Höhe. (Tipp: Lass die das Dictionary ausgeben und such, wie die entsprechenden Daten darin enthalten sind. Insbesondere, wie es aussieht, wenn es mehrere Eventfunktionen gibt, aber nicht alle Events eintreten)\n",
+    "* In Übung 8 wurden einige Anregungen für weitere DGLs gegeben. Rechne diese Beispiele mit selbst gewählten Parametern nach und vergleiche die Ergebnisse mit Ergebnissen aus der analytischen Berechnung.\n",
+    "\n",
+    "Füge deiner Kopie des Notebooks beliebig viele Codezellen hinzu, um die Aufgaben zu lösen."
+   ]
+  }
+ ],
+ "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.8.7"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
-- 
GitLab