1
0
Fork 0
mirror of https://gitlab.rlp.net/pgp/pgp1-python-einfuehrung synced 2024-10-12 13:24:22 +00:00
pgp1-python-einfuehrung/Kapitel_1._Einstieg_in_die_Welt_von_Python.ipynb

1582 lines
269 KiB
Text
Executable file

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Kapitel 1. Einstieg in die Welt von Python:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In Ihrer Vorbereitung haben Sie bisher die folgenden Konzepte kennen gelernt:\n",
"\n",
"* Aufbau eines Jupyter-Notebooks (Aufgabe 1).\n",
"* Einfache Rechenoperationen (Aufgabe 2 a.)\n",
"* Einfache Zeichenketten (engl. Strings) und formatierte Strings (Aufgabe 2 b.).\n",
"* Das definieren von Funktionen (Aufgabe 3.)\n",
"* Das definieren von Messtabellen.\n",
"\n",
"Hierauf wollen wir an unserem heutigen Versuchstag aufbauen."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Arbeiten mit Messreihen:\n",
"\n",
"Bisher hat uns das programmieren eher mehr Arbeit gemacht als uns welche abgenommen. Zeitersparnis bekommen wir sofern wir viele Rechnungen hintereinander ausführen müssen. Hierfür gibt es die **for**-Schleife. Diese Schleife führt die gleichen Zeilen eins Codes wiederholt für die Elemente in einer Liste aus:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:07:49.905202Z",
"start_time": "2019-11-04T12:07:49.889579Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wert: 1\n",
"Wert: 2\n",
"Wert: 3\n",
"Wert: 4\n",
"Ergebnis: 6\n"
]
}
],
"source": [
"liste = [1, 2, 3, 4]\n",
"\n",
"for wert in liste:\n",
" print('Wert:', wert)\n",
" rechnung = wert + 2\n",
" \n",
"print('Ergebnis:', rechnung)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Bei einer Schleife ist darauf zu achten, dass der Anweisungsblock welcher wiederholt ausgeführt werden soll mit 4x Leerzeichen eingrückt wurde. Dies entspricht einmal <img src=\"images/Tab-Key.png\" alt=\"Tab-Taste\" width=\"100\"/>"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:08:53.901374Z",
"start_time": "2019-11-04T12:08:53.885753Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hier läuft das Hauptprogramm\n",
"Schleife\n",
"Wert: 1\n",
"Schleife\n",
"Wert: 2\n",
"Schleife\n",
"Wert: 3\n",
"Schleife\n",
"Wert: 4\n",
"Hier läuft wieder das Hauptprogramm\n",
"Letztes Ergebnis + 5: 11\n"
]
}
],
"source": [
"liste = [1, 2, 3, 4]\n",
"print('Hier läuft das Hauptprogramm')\n",
"\n",
"for wert in liste:\n",
" print('Schleife')\n",
" print('Wert:', wert)\n",
" rechnung = wert + 2\n",
" \n",
"print('Hier läuft wieder das Hauptprogramm')\n",
"rechnung = rechnung + 5\n",
"print('Letztes Ergebnis + 5: ', rechnung)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Statt das Ergebnis lediglich per `print`-Anweisung darstellen zu lassen, können wir auch unser Wissen um Listen benutzen und die berechneten Werte einer neuen Liste anfügen:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# (Funktion haben wir bereits in der Vorbereitung definiert)\n",
"def Spannung(Strom, Widerstand):\n",
" '''\n",
" Diese Funktion berechnet die Spannung eines Ohmschen \n",
" Widerstands.\n",
" \n",
" Args:\n",
" Strom (float): Der gemessene Strom in mA.\n",
" Widerstand (float): Der Wert des verwendeten Widerstands\n",
" in Ohm.\n",
" \n",
" Returns:\n",
" float: Die Berechnete Spannung in V.\n",
" '''\n",
" return Widerstand * Strom/1000"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:10:08.503300Z",
"start_time": "2019-11-04T12:10:08.472059Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[10.1, 10.5, 9.8, 8.7, 11.2]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Stromwerte = [101, 105, 98, 87, 112] # mA\n",
"Widerstand = 100 # Ohm\n",
"\n",
"Spannungswerte = []# Einheit? <-- Deshlab Docstrings und Help!\n",
"for Strom in Stromwerte:\n",
" res = Spannung(Strom, Widerstand)\n",
" Spannungswerte.append(res)\n",
"\n",
"Spannungswerte"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Python ermöglicht uns auch eine kompaktere Schreibweise die so genannte \"list comprehension\": "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:11:40.799393Z",
"start_time": "2019-11-04T12:11:40.783772Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[10.1, 10.5, 9.8, 8.7, 11.2]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Spannungswerte = [Spannung(Strom, 100) for Strom in Stromwerte]\n",
"Spannungswerte"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wir können auch über mehre Daten gleichzeitig loopen. Hierzu kann die `zip` Anweisung genutzt werden. `zip` verbindet hierbei die einzelnen Elemente einer Liste wie bei einem Reißverschluss miteinander:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:12:42.522873Z",
"start_time": "2019-11-04T12:12:42.507254Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A und 0\n",
"B und 1\n",
"C und 2\n",
"D und 3\n"
]
}
],
"source": [
"Werte1 = ['A', 'B', 'C', 'D']\n",
"Werte2 = [0, 1, 2, 3]\n",
"\n",
"for w1, w2 in zip(Werte1, Werte2):\n",
" print(w1, ' und ', w2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dies kann zum Beispiel dann hilfreich sein wenn sich mehr als eine Variable ändern soll, z.B. bei einer Messreihe für die Schallgeschwindigkeit in Luft:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:13:30.363510Z",
"start_time": "2019-11-04T12:13:30.347888Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[335.4904, 347.3442, 343.6145, 337.275, 331.6212, 342.0115, 336.2262]\n",
"[335.4904, 347.3442, 343.6145, 337.275, 331.6212, 342.0115, 336.2262]\n"
]
}
],
"source": [
"# Gemessene Werte:\n",
"frequenzen = [30.17, 30.63, 30.01, 29.98, 30.12, 29.87, 29.94] #kHz\n",
"wellenlängen = [11.12, 11.34, 11.45, 11.25, 11.01, 11.45, 11.23] # mm\n",
"\n",
"# Variante 1:\n",
"schallgeschindigkeiten = [] # m/s\n",
"\n",
"for f, l in zip(frequenzen, wellenlängen):\n",
" schallgeschindigkeiten.append(f*l)\n",
"\n",
"print(schallgeschindigkeiten)\n",
"\n",
"# oder Variante 2:\n",
"schallgeschindigkeiten2 = [f*l for f,l in zip(frequenzen, wellenlängen)]\n",
"print(schallgeschindigkeiten2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wir können auch die `zip`-Anweisung mit mehr als nur zwei Listen verwenden:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:13:49.912658Z",
"start_time": "2019-11-04T12:13:49.897039Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"a und 1 und x\n",
"b und 2 und y\n",
"c und 3 und z\n"
]
}
],
"source": [
"l1 = ['a', 'b', 'c']\n",
"l2 = [1, 2, 3]\n",
"l3 = ['x', 'y', 'z']\n",
"\n",
"for i, j, k in zip(l1, l2, l3):\n",
" print(i, 'und', j, 'und', k)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=task>\n",
" \n",
"#### Aufgabe 4.b.: Werte berechnen:\n",
"Kopiert eure Aufgabe 4.a. aus der Vorbereitung in das Notebook und berechnet nun für die Messwerte aus Aufgabe 4 a. die Leistung $P$ und den Widerstand $R$ sowie deren Fehler. Nutzt hierfür die ausführliche schrebweise der **for**-Schleife im Fall des Widerstands $R$ und den list-comprehension Syntax für die Leistung $P$. Fügt die berechneten Werte als neue Spalten and die Liste *daten* an. \n",
"<div>"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-25T12:29:42.611010Z",
"start_time": "2020-08-25T12:29:42.589070Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Spalte mit Index 0: [1, 2, 3, 4, 5, 6]\n",
"Spalte mit Index 1: [12.0, 11.78, 12.56, 12.34, 12.01, 11.94]\n",
"Spalte mit Index 2: [110, 98, 102, 124, 105, 95]\n",
"Spalte mit Index 3: [0.32, 0.15, 0.63, 0.12, 0.2, 0.17]\n",
"Spalte mit Index 4: [10, 10, 10, 10, 10, 10]\n",
"Spalte mit Index 5: [0.10909090909090909, 0.12020408163265306, 0.12313725490196079, 0.09951612903225807, 0.11438095238095237, 0.1256842105263158]\n",
"Spalte mit Index 6: [0.010335218792552269, 0.012360854546774054, 0.01356055790616861, 0.008083630548247704, 0.01105869816696616, 0.013350390150906498]\n",
"Spalte mit Index 7: [1320.0, 1154.4399999999998, 1281.1200000000001, 1530.16, 1261.05, 1134.3]\n",
"Spalte mit Index 8: [125.05614738988244, 118.71364706721802, 141.0840444557782, 124.29390330985667, 121.92214729080192, 120.48727111193115]\n"
]
}
],
"source": [
"messwert_nummer = list(range(1,7,1))\n",
"spannungs_wert = [12., 11.78, 12.56, 12.34, 12.01, 11.94]\n",
"strom_werte = [110, 98, 102, 124, 105, 95]\n",
"dspannung_wetre = [0.32, 0.15, 0.63, 0.12, 0.20, 0.17]\n",
"dstrom_werte = [10]*len(messwert_nummer)\n",
"daten = [messwert_nummer, spannungs_wert, strom_werte, dspannung_wetre, dstrom_werte]\n",
"\n",
"def res(i, u):\n",
" r = u/i\n",
" return r\n",
"\n",
"# Widerstand:\n",
"widerstand = []\n",
"dwiderstand = []\n",
"\n",
"for strom, spannung in zip(daten[2], daten[1]):\n",
" widerstand.append(res(strom, spannung))\n",
"daten.append(widerstand)\n",
"\n",
"# Fehler des Widerstands:\n",
"for strom, spannung, dstrom, dspannung in zip(daten[2], daten[1], daten[4], daten[3]):\n",
" dwiderstand.append(((dstrom * spannung/(strom)**2)**2 + (dspannung/strom)**2)**0.5)\n",
"daten.append(dwiderstand)\n",
"\n",
"# Leistung:\n",
"p = [u*i for u,i in zip(daten[1], daten[2])]\n",
"\n",
"# Fehler der Leistung:\n",
"dp = [((u*di)**2 + (du*i)**2 )**0.5 for u,i,du,di in zip(daten[1], daten[2], daten[3], daten[4])]\n",
"daten.append(p)\n",
"daten.append(dp)\n",
"\n",
"for ind, spalte in enumerate(daten): \n",
" # enumerate ist hilfreich falls man noch zusätzlich einen Index braucht\n",
" print(f'Spalte mit Index {ind}: ', spalte)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Das Darstellen von Messdaten mittels `matplotlib`:\n",
"Das Plotten von Daten ist eines der wichtigsten Mittel um eine Fülle von Informationen kompakt und verständlich seinem Gegenüber darzubieten. Gute Plots zu erstellen kann eine regelrechte Kunst sein und ist für ein gutes Paper, bzw. eine gute Bachelor- bzw. Masterarbeit unverzichtbar. \n",
"\n",
"<figure class=\"image\">\n",
"<img src=\"images/MaterialPythonkurs092018/Xenon1tResults1yearx1texposure.png\" alt=\"{{ Xenon1t results 2018 }}\" width=50%>\n",
"<figcaption>Resultate des XENON1T Dunkle Materie Experiments. Die Graphik wurde mittels Matplotlib in Python erstellt. </figcaption>\n",
"</figure>\n",
"\n",
"Jede Programmiersprache verfügt über zusätzliche Pakete (im Englischen \"packages\") welche die Funktionalität der verwendeten Programmiersprache erweitern. **Matplotlib** ist ein umfangreiches Package, welches das Zeichnen von 2D und 3D Grafiken ermöglicht. Alle Parameter und Einstellungen einer Grafik werden entsprechend des Python-Codes eingestellt. Dadurch wird das Erstellen der Grafik reproduzierbar und man kann schnell dieselbe Grafik mit neuen Daten füttern.\n",
"\n",
"Es ist unmöglich alle Möglichkeiten und Einstellungen die euch **Matplotlib** bietet auswendig zu kennen. Mit der Zeit werdet ihr ein solides Grundwissen der gängisten Befehle haben. Für alles weitere hilft euch die [Dokumentation und ihre Beispiele](http://matplotlib.org/). Des Weiteren ist insbesondere hier die **IPython Hilfe** und das **automatische Vervollständigen von Befehlen** besonders hilfreich.\n",
"\n",
"Für das Praktikum wollen wir uns zunächst lediglich drei unterschiedliche Arten von Plots angucken:\n",
"\n",
"* Normale Liniengrafiken\n",
"* Plots mit Fehlerbalken\n",
"* Histogramme "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Zunächst müssen wir Python mitteilen, dass wir das **Matplotlib** package nutzen möchten:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:52:38.927838Z",
"start_time": "2019-11-04T12:52:36.881444Z"
}
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`import` läd für und aus dem package matplotlib das Modul `pyplot`. Mit Hilfe des Zusatzes `as plt` wird ein alias erstellt. Dieser Alias erspart uns im nachfolgenden Arbeit, wie wir im nachfolgenden Beispiel sehen können:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:53:06.331480Z",
"start_time": "2019-11-04T12:53:05.987810Z"
}
},
"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([1,2,3,4,5], # <-- x-Daten\n",
" [1,2,3,4,5] # <-- y-Daten\n",
" )\n",
"plt.show() # <-- Zeigen des Plots"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hätten wir den Alias nicht definiert hätten wir den folgenden etwas länglichen Code benötigt:\n",
"\n",
"```python\n",
"matplotlib.pyplot.plot([1,2,3,4,5], [1,2,3,4,5])\n",
"matplotlib.pyplot.show()\n",
"```\n",
"\n",
"Innerhalb der Python-Community haben sich ein paar Standards etabliert an welche man sich halten sollte. So ist für `matplotlib.pyplot` der Alias `plt` zu verwenden. \n",
"\n",
"Im oberen Beispiel habt ihr nun auch bereits gesehen wie wir einfache Liniengrafiken erstellen können. Dabei sieht der Plot noch etwas blass aus. Dies können wir mit ein paar zusätzlichen Befehlen ändern."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:54:21.547247Z",
"start_time": "2019-11-04T12:54:21.226301Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAo1klEQVR4nO3dd5hV1bnH8e8rIGggIMzYQBisVzoyYsEysXv1YlBANLHEQlTsJhqNFWNsMSrqlWCJnW5BxYJRNCrFQVEELOhFQYkCKtJh5L1/rD0wDmcKMPvsU36f5znP7HPW5uyXDXPes9Ze+13m7oiISP7aLOkAREQkWUoEIiJ5TolARCTPKRGIiOQ5JQIRkTxXP+kANlRBQYEXFRUlHYaISFaZMmXKAncvTNWWdYmgqKiI0tLSpMMQEckqZvZFVW0aGhIRyXNKBCIieU6JQEQkz2XdNYJUVq9ezdy5c1mxYkXSoUgda9SoEa1ataJBgwZJhyKSs3IiEcydO5cmTZpQVFSEmSUdjtQRd2fhwoXMnTuXtm3bJh2OSM6KdWjIzGab2TQzm2pm6031sWCQmc0ysw/MbI+NOc6KFSto0aKFkkCOMTNatGihnp5IzNLRI/iVuy+oou1IYJfosRdwb/RzgykJ5Cb9u4rEL+mLxccAj3gwEWhmZtslHJOISGYpK4NPPont7eNOBA68bGZTzKx/ivaWwJwKz+dGr/2MmfU3s1IzK50/f35MoW66G264gfbt29OpUye6dOnCpEmTkg6pTjz00EOce+65SYchkr/KyuCcc2Dp0ljePu6hof3c/Ssz2xoYZ2YfufsbG/om7j4EGAJQXFyckSvpTJgwgeeee453332Xhg0bsmDBAlatWpV0WIkrKyujfv2cmJMgkl4rVsAdd8C550LjxjByJPziF7EcKtYegbt/Ff38FngK6F5pl6+AHSo8bxW9lnXmzZtHQUEBDRs2BKCgoIDtt9+eoqIiLr30Ujp27Ej37t2ZNWsWAM8++yx77bUXXbt25ZBDDuGbb74B4Nprr+W0006jpKSEHXfckUGDBgEwe/Zsdt99d84880zat2/PYYcdxvLlywEoKSlZW3ZjwYIFlNdieuihhzj22GM54ogj2GWXXbj00kvXxvvAAw+w66670r17d84888y13/hHjhxJhw4d6Ny5MwcccMB6f8/nn3+effbZZ+1xFiwIl39KS0spKSlZ+3c46aST6NGjByeddBJ7770306dPX/se5fEuXbqU0047je7du9O1a1eeeeaZOvm3EMl6b70FXbrA5ZfDmDHhta22iu1wsSUCM/uFmTUp3wYOAz6stNsY4ORo9tDewCJ3n7fJBy8pWf/xv/8b2pYtS93+0EOhfcGC9dtq4bDDDmPOnDnsuuuunHPOObz++utr25o2bcq0adM499xzufDCCwHYb7/9mDhxIu+99x79+vXjlltuWbv/Rx99xEsvvcTkyZO57rrrWL16NQCffvopAwYMYPr06TRr1ozRo0fXGNfUqVMZPnw406ZNY/jw4cyZM4evv/6a66+/nokTJ/LWW2/x0Ucfrd1/4MCBvPTSS7z//vuMKf8PGHnqqae46aabGDt2LAUFBdUed8aMGbzyyisMHTqU448/nhEjRgAhYc6bN4/i4mJuuOEGDjroICZPnsxrr73GH//4R5bG1PUVyQqLF8N558H++8PKlfDSS3DiibEfNs4ewTbAm2b2PjAZeN7dXzSzs8zsrGifscDnwCzgPuCcGOOJVePGjZkyZQpDhgyhsLCQ448/noei5HLCCSes/TlhwgQg3Ptw+OGH07FjR2699daffWM+6qijaNiwIQUFBWy99dZrewtt27alS5cuAHTr1o3Zs2fXGNfBBx9M06ZNadSoEe3ateOLL75g8uTJHHjggTRv3pwGDRrQp0+ftfv36NGDU089lfvuu4+ffvpp7euvvvoqN998M88//zxb1eKbSc+ePdliiy0A6Nu3L6NGjQJgxIgR9O7dG4CXX36Zm266iS5dulBSUsKKFSv48ssva3xvkZx19tlwzz0hGUybBocdlpbDxjZ46+6fA51TvD64wrYDA+r84OPHV9225ZbVtxcUVN9ejXr16lFSUkJJSQkdO3bk4YcfBn4+BbJ8+7zzzuPiiy+mZ8+ejB8/nmuvvXbtPuXDS+XvWVZWlvL18qGh+vXrs2bNGoD15txX9V5VGTx4MJMmTeL555+nW7duTJkyBYCddtqJzz//nE8++YTi4uIaj/uLCmOZLVu2pEWLFnzwwQcMHz6cwYPDfwF3Z/To0ey2227VxiSS0777LlwM3npruO66cFF4333TGkLS00dzxscff8ynn3669vnUqVNp06YNAMOHD1/7c5999gFg0aJFtGwZJkiVJ4yNVVRU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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xdaten = [1,2,3,4,5]\n",
"ydaten = [1,2,2,4,5]\n",
"\n",
"plt.plot(xdaten, ydaten, # <-- Wie eben die x und y daten\n",
" color = 'red', # <-- Farbe der Linie\n",
" linestyle='dashed', # <-- Linientyp\n",
" label='Spannungskurve' # <-- Name der Linie\n",
" )\n",
"plt.xlabel('X-Achse') # <-- Beschriftung der x-Achse\n",
"plt.ylabel('Y-Achse') # <-- Beschiftung der y-Achse\n",
"plt.legend() # <-- Hinzufügen der Legend mit den \n",
" # in plot definierten labels\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Viele der eben verwendeten Optionen bieten euch unterschiedliche Auswahlmöglichkeiten:\n",
"\n",
"**Linestyle:**\n",
"* `''`: keine Linie\n",
"* `'-'`: durchgehende Linie\n",
"* `'--'`: gestrichelte Linie\n",
"* `'-.'`: Strich-Punktlinie\n",
"* `':'`: Punktlinie\n",
"* `'steps'`: Treppenfunktion\n",
"\n",
"**Color**:\n",
"* red, blue, yellow, \n",
"* RGB Werte von 0 bis 1 (statt von 0 bis 255): (1, 1, 1), (1, 0.2, 0.4)\n",
"\n",
"Darüber hinaus gibt es auch noch andere nützliche Styleoptionen wie `alpha` was die Transparenz eurer Linie ändert (Werte zwischen 0-1), oder `linewidth`-Option mit dessen Hilfe ihr die Linienbreite ändern könnt. \n",
"\n",
"Auch die anderen Befehle welche wir verwendetet haben verfügen über zusätzliche Optionen:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:55:35.863633Z",
"start_time": "2019-11-04T12:55:35.535586Z"
}
},
"outputs": [
{
"data": {
"image/png": "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e3c++eQTAAYOHMjFF1/M4YcfzhlnnMGIESO499576dy5M2+//Tb5+fn07duXww47jMMOO4x33nknXadMRKord6/Sr65du3pJ8+bN22FbWerVq+ezZs3yvn37+oYNG7xTp04+adIkP+WUU9zd/brrrvPHHnvM3d1//PFHb9Omja9du9YvvfRSf/zxx93dfdOmTb5+/XofN26cX3DBBdv2vXLlSt+8ebO3atXKfc0aH3reeZ7btq1Pffppnzxxovfv39/d3Xv27Omffvqpu7tPmzbNjzvuOHd3P++88/yUU07xgoICd3e/+eab/e677962/zPPPNPffvttd3f/8ssv/eCDD67Qv31nzpeIVH1Anpfye1UlMSIdO3Zk8eLFjBkzhpNPPrlY22uvvcaECRO45557gPA47JIlSzjyyCO5/fbbWbp0Kaeddhpt2rShQ4cODB06lGuvvZZevXrRvXt32LKFnzdvzvxXXuGD2bO5euhQpixcyJYFC+jevTtr167l3XffpV+/ftuOuWnTpm3v+/XrR61atRLG/cYbbzBv3rxtn1evXs3atWupX79+ZZ4eEalBlBiK6N27N9dccw2TJ09m+fLttzfcnWeeeYaDDjqoWP+2bdty+OGH89JLL3HyySfz4IMP0rNnT2bMmMHLL7/MDTfcwPHHH89N11/PsR078srHH1N77735Ve/eDBw4kC1btnD33XezdetWGjZsyMyZMxPGVa9evVJj3rp1K9OmTSMrK6tSzoGISMbcfM4E559/PjfffDMdOnQotv03v/kNw4cPx6NbHh999BEAixYtonXr1lx++eX06dOHjz/+mK+//pq6detyTv/+/J/zz2fGjBmw++50P+007nv0UY486iiaNm3K8uXLWbBgAe3bt2evvfaiVatWjB07FgiJaNasWQljbNCgAWvWrNn2+de//jXDhw/f9rm05CIikiwlhiKys7O5/PLLd9h+4403snnzZjp27Ei7du248cYbAXj66adp3749nTt3Zs6cOQwYMIDZs2fTrWtXOrdrxy133cUNV10FwOFHHcV3333HscceC4Shqw4dOmybYPbEE0/w0EMP0alTJ9q1a7ftBndJv/3tbxk/fvy2m8/Dhg0jLy+Pjh07csghhzBixIhUnBoRqUGs8K/gqio3N9fz8vKKbZs/fz5t27ZNfzA//RQmqa1cGR5D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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xdaten = [1,2,3,4,5]\n",
"ydaten = [1,2,2,4,5]\n",
"\n",
"plt.plot(xdaten, ydaten,\n",
" color = 'red',\n",
" linestyle='dashed',\n",
" label='Graph 1'\n",
" )\n",
"plt.xlabel('X-Achse',\n",
" color = (0,1,0) # <-- Beschriftungsfrabe\n",
" )\n",
"\n",
"plt.ylabel('Y-Achse',\n",
" fontsize=14) # <-- Beschiftungsgröße\n",
"\n",
"plt.legend(title='Messwerte', # <-- Legendentitel\n",
" loc=3) # <-- Legendenposition:\n",
" # 0: Best,\n",
" # 1: Oben Rechts\n",
" # 2: Oben Links\n",
" # 3: Unten Links\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Sofern ihr mehrere Graphen in einen Plot zeichnen möchtet geht dies auch ganz einfach."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:56:56.976082Z",
"start_time": "2019-11-04T12:56:56.644588Z"
}
},
"outputs": [
{
"data": {
"image/png": "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fDw9evTgqaeeKnvO119/TdeuXenTpw+fffZZ2fKnn36a22+/nYEDB3L77bdz6NAhLrvsMvr06UOfPn1Yt24dAFOmTGHNmjX06tWLOXPmnHH28dNPP9GrVy969epF7969OXXqFACzZs0iJiaGuLg4pkw5fcnJxx9/XKHUuBDiNK01T697mtS8VGYPmk2gT8Wbf3myxlE+46spcHy7a9+zeQxcU32P186dO+nbt+8Zy4KDg4mOjq62hT9jxgzCw8Ox2+0MGTKExMREOnfuzL333ssPP/xAx44dueWWW854za5du/j555/x9/cnLy+P7777Dj8/P/bt28eYMWPYvHkzM2fO5MUXX+R///sfQFkyAnjxxReZN28eAwcOJCcnBz8/P7766is+//xzNmzYgM1mIz399ElcZaXGhRCnfbz3Y1b+sZLH+j5GzyY9zQ7ngsmZgwf66KOP6NOnD71792bnzp3s2rWLPXv20K5dOzp16oRSinHjxp3xmhEjRuDv7w9AcXEx9957LzExMYwaNYpdu3adc5sDBw7k0Ucf5ZVXXiEzMxNvb29WrlzJ+PHjsdlsAISHh5c9v7JS40IIw76MfczeNJuBLQdyR487zA6nRhrHmcM5Wvju0r1797J7MpTKzs7m+PHjREREsHfv3rLlpaW3Dx48yIsvvsimTZsICwvjrrvuKltXnfIlu+fMmUOzZs3Ytm0bDocDP79z31VqypQpXHfddaxYsYKBAwfyzTffVPv8ykqNCyEgvySfSasnEWgN5NlLn8Wi6mcbvH5GXU8MGTKEvLw83nnnHcC4/edjjz3GQw89RLt27UhISMDhcHDkyBE2btwIGMkjICCAkJAQTpw4wVdffQVA165dOXToEL///jsA//nPf6rcblZWFi1atMBisfDuu+9it9sBCAoKKhtLONvvv/9OTEwMkydP5qKLLmLPnj0MHTqUxYsXk5eXB3BGt5IQonIvbHqB/Zn7ee7S52ji38TscGpMkoMbKaVYtmwZn3zyCZ06dSIiIgKLxcITTzzBwIEDadeuHd27d+fhhx+mT58+AMTFxdG7d2+6du3KbbfdxsCBAwHw8/Nj0aJFXHfddfTp04emTauuyfLAAw+wZMkS4uLi2LNnT9lZRWxsLF5eXsTFxTFnzpwzXjN37lx69uxJbGwsVquVa665huHDhzNixAji4+Pp1atX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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xdaten = [-3, -2, -1, 0, 1, 2, 3]\n",
"ydaten1 = xdaten\n",
"ydaten2 = [x**2 for x in xdaten]\n",
"ydaten3 = [x**3 for x in xdaten]\n",
"\n",
"plt.plot(xdaten, ydaten1, label='Linear')\n",
"plt.plot(xdaten, ydaten2, label='Quadratisch')\n",
"plt.plot(xdaten, ydaten3, label='Cubisch')\n",
"\n",
"plt.legend(title='Exponent')\n",
"plt.xlabel('X-Werte')\n",
"plt.ylabel('Y-Werte')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ihr seht, das `plot` zwischen den angegebene Werte interpoliert. Möchtet ihr eine glatte Kurve zeichnen so müsst ihr die Anzahl an Punkten für die Interpolation erhöhen."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T12:58:19.439740Z",
"start_time": "2019-11-04T12:58:19.116107Z"
}
},
"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 cubic(x):\n",
" '''\n",
" Funktion welche den cubischen Wert einer Zahl zurück gibt.\n",
" '''\n",
" return x**3\n",
"\n",
"\n",
"x1 = list(range(-3, 4, 1)) # <- Werte zwischen -3 und 3\n",
"x2 = [i/10 for i in range(-30, 31, 1)] # <- 10 mal mehr Werte\n",
"\n",
"y1 = [cubic(j) for j in x1]\n",
"y2 = [cubic(value) for value in x2]\n",
"\n",
"\n",
"plt.plot(x1, y1, label='Werte 1', linestyle='dashed')\n",
"plt.plot(x2, y2, label='Werte 2')\n",
"plt.xlabel('x-Werte')\n",
"plt.ylabel('y-Werte')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Errorbarplot\n",
"\n",
"In der Physik gehören zu jedem gemessen Wert ein Messunsicherheit/Messfehler. Diese Fehler sollten natürlich auch in unseren Grafiken korrekt dargestellt werden. Hierfür können wir den `errorbar`-Plot verwenden."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-25T11:01:53.690343Z",
"start_time": "2020-08-25T11:01:53.511857Z"
}
},
"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": [
"spannung = [0.9, 2.0, 3.0, 4.1, 4.9, 6.2] # [V]\n",
"strom = [105, 204, 298, 391, 506, 601] # [mA]\n",
"spannung_error = [0.3]*len(spannung) # Konstanter Ablesefehler [V]\n",
"strom_error = [14, 9, 12, 8, 7, 11] # gemessener schwankender Fehler[mA]\n",
"\n",
"plt.errorbar(strom, spannung,\n",
" xerr=strom_error, \n",
" yerr=spannung_error,\n",
" ) \n",
"\n",
"plt.xlabel('Strom [mA]')\n",
"plt.ylabel('Spannung [V]')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=task>\n",
" \n",
"#### Aufgabe 5.: Erstelle eine `errorbar`-Plot :\n",
"\n",
"Editiert die obere Zelle so, dass ihr mit Hilfe des Befehls \n",
"\n",
"```python\n",
"plt.errorbar()\n",
"```\n",
"\n",
"einen Errorbarplot erstellt. Verwende hier für die IPython help-funktion um den exakten Syntax zu erfahren. \n",
"\n",
"**Erinnerung:**\n",
"Ihr könnt die IPython-Hilfe aufrufen in dem ihr euren Cursor innerhalb das Wort errorbar von plt.errorbar bewegt und die Tastenkombination shift + tab verwendet. Lest nun nach wie ihr die x- und y-Werte und deren Fehler an die Funktion übergeben müsst.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Leider ist diese Standardvariante des Errorbar plots noch nicht das was wir möchten. Die Messwerte sind linear interpoliert und die errorbars sehen noch etwas eigenartig aus. Dies können wir jedoch im Handumdrehen ändern. Kümmern wir uns zunächst um die Plotmarker:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-25T11:00:51.750584Z",
"start_time": "2020-08-25T11:00:51.717716Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAY9klEQVR4nO3df5RU5Z3n8fcXSaxpEIyhNzJjdlsP2WbZQZB0RA6Mk5hklkLPbDIb03Hdjclplz4HhlY6iKCeGNadXWeOgKF35HQrxrjDJkybZExiN5rxxxJdRqbBliYgSdY0owakSZQEOmUG+e4f94IFoZuyu27dqqc+r3PqdN1bt+7zfZL2w9NP3XquuTsiIhKeMWkXICIiyVDAi4gESgEvIhIoBbyISKAU8CIigRqbdgH5Jk2a5HV1dWmXISJSMbZv337I3WvP9FpZBXxdXR09PT1plyEiUjHMbN9Qr2mKRkQkUAp4EZFAKeBFRAKlgBcRCZQCXkQkUAp4EZFAKeBFRAKlgBcRCZQCXkSkBBrbt9LYvrWkbSrgRUQCpYAXEQmUAl5EJFAKeBGRQCngRURK4Oih/Ty3pon+/v6StamAFxEpgd2ddzP+yF6WLmkuWZsKeBGRhHV1dXHsQB/bVh2nb8ezdHd3l6RdBbyISIJyuRwti5rouCHHhBpou36QlkVN5HK5xNsuqzs6iYhUutO/zPTSY/dTX/sm82dE29mZMOWpN5jduJipC24EYFPznERq0QheRCRB/Vs6uW3BqaP126/OsW9LZ+JtawQvIlJEp4/G7zrQyurN9zC3fvDkvtWP17BsaSt3JDRyP0EjeBGRBN1y60p27p9Ad2+03dULu16fyLLlKxJvWwEvIpKgTCZD2/oHaX44w+FBaNlYw7r7NpDJZBJvO9GAN7PzzewRM3vJzPaYWbJ/j4iIlKFsNsvYC6cz+84xTJ81j2w2W5J2kx7BfxXY7O5TgRnAnoTbExEpS9OuXcGR8fWsbWsvWZuJfchqZhOBK4EvALj7b4HfJtWeiEg5GzdpMnNbN1BXV1eyNpMcwV8MDABfM7MXzOwBMxt3+kFmttDMesysZ2BgIMFyRESqS5IBPxaYBax398uAo8DvfGzs7h3u3uDuDbW1tQmWIyJSXZIM+FeBV939+Xj7EaLAFxGREkhsDt7dD5jZK2ZW7+57gY8Du5NqT0SknCW1HMFwkv4m6xJgo5m9F3gZ+GLC7YmISCzRgHf3XqAhyTZEROTM9E1WEZFAKeBFRAKlgBcRCZQCXkQkUAp4EZFAKeBFRAKlgBcRCZQCXkQkUAp4EZFAKeBFRAKlgBcRCZQCXkQkUAp4EZFAKeBFRAKlgBcRCZQCXkQkUAp4EZFAKeBFRAKlgBcRCZQCXkQkUAp4EZFAKeBFpCw0tm+lsX1r2mUERQEvIhIoBbyISKDGJnlyM+sHfg28DRxz94Yk2xMRkXckGvCxj7n7oRK0IyIieTRFIyJl4eih/Ty3pon+/v60SwlG0gHvwBNmtt3MFp7pADNbaGY9ZtYzMDCQcDkiUq52d97N+CN7WbqkOe1SgpF0wM9z91lAFlhsZleefoC7d7h7g7s31NbWJlyOiJSjrq4ujh3oY9uq4/TteJbu7u60SwpCogHv7q/FPw8C3wEuT7I9Eak8uVyOlkVNdNyQY0INtF0/SMuiJnK5XNqlVbzEAt7MxpnZeSeeA38C7EqqPRGpPI3tW5n92UXU177J/BnRvuxMmPL+N5jduDjV2kKQ5Aj+A8CzZvYisA14zN03J9ieiFSg/i2d3Lbg1NH67Vfn2LelM6WKwpHYZZLu/jIwI6nzi0jl29Q8h7sOtLJ68z3MrR88uX/14zUsW9qaYmVh0GWSIpKqW25dyc79E+jujba7emHX6xNZtnxFmmUFQQEvIqnKZDK0rX+Q5oczHB6Elo01rLtvA5lMJu3SKp4CXkRSl81mGXvhdGbfOYbps+aRzWbTLikICngRKQvTrl3BkfH1rG1rT7uUYCjgRaQsjJs0mbmtG6irq0u7lGAo4EVEAqWAFxEJlAJeRCRQpVgPXkTkrDY1z0m7hOBoBC8iEigFvIhIoIacojGzdQW8/1fufkcR6xERkSIZbg7+3wNfPsv7VwAKeBGRMjRcwK91968P92Yze1+R6xERkSIZbg7+ubO92d3vLV4pIiJSTMMFfIeZ/cTM7jKzaSWrSKSKNLZvpbF9a9plSKCGDHh3vwy4BjgGPGJmL5rZCjOrK1VxIiIycsNeJunue919lbtPAz4PTASeNLOzTt+IiEi6CroO3szGAP+C6D6r44CDSRYlIiKjN+xSBWb2R8B1wKeAPuCbwFJ3P5x8aSIiMhpDjuDN7BXgfwC7gZnu/u/c/WsKd5HiOXpoP8+taaK/vz/tUiRAw03RzHP3ee7+P91dUzIiCdjdeTfjj+xl6ZLmtEuRAA0X8F8825vN7CvFK0WkunR1dXHsQB/bVh2nb8ezdHd3p12SBGa4OfgbzexXw7xuwOeArxS1IpEqkMvlaFnURMcNOSbUQNv1g7QsaqJvz8tkMpm0y5NADBfw9wPnneX99xexFpHgnfhS00uP3U997ZvMnxHtz86EKU+9wezGxUxdcKPWRpeiGDLg3X1VMRows3OAHuA1d7+mGOcUqXT9Wzq576bcKftuvzrHNes6mbrgxpSqktCU4o5ONwF7gAklaEukrJ0Ymd91oJXVm+9hbv3gyddWP17DsqWt3KHRuxRJojf8MLOLgKuBB5JsR6TS3HLrSnbun0B3b7Td1Qu7Xp/IsuUr0ixLApP0HZ3uBZYDx4c6wMwWmlmPmfUMDAwkXI5IechkMrStf5DmhzMcHoSWjTWsu2+DPmCVojrrFM0Qd3Y6DPS4+6PDvO8a4KC7bzezjw51nLt3AB0ADQ0NfrZ6REKRzWYZe+F0Zt+5nemz5pHNZtMuSQJTyAg+A8wEfhI/LgUuAprM7N5h3jcX+FMz6yda4uAqM/ub0RQrEppp167gyPh61ra1p12KBKiQD1kvBea6+9sAZrYe+CEwj2h9mjNy95XAyvg9HwWWuft/GmW9IkEZN2kyc1s3UFdXl3YpEqBCRvDvA8bnbY8DLogD/61EqhIRkVErZAT/V0CvmT1D9O3VK4H/bmbjgL8vpBF3fwZ4ZmQliojISJw14N19g5l1AZfHu25z95/Hz29JrDIRERmVQr/oNAYYiI+fYmZT3H1LcmWJVActSSBJKuQyyb8EGoEf8c717A4o4EVEylghI/hPAfXurg9URUQqSCFX0bwMvCfpQkREpLgKGcEPEl1F8yR5l0W6e0tiVYmIyKgVEvDfjR8iIlJBCrlM8uulKERERIqrkKtofkZ01cwp3P2SRCoSEZGiKGSKpiHveQa4FrggmXJERKRYznoVjbv/Iu/xmrvfS3QTDxERKWOFTNHMytscQzSiL8Wt/kREZBQKCerVec+PAf3AZxOpRkREiqaQq2g+VopCRESkuAqZojkX+A9AXf7x7v5fkytLRERGq5ApmkeJ7sG6Hd3gQ0SkYhQS8Be5+/zEKxERkaIqZLGx/2tm0xOvRGQYje1baWzfmnYZIhWlkBH8POAL8Tda3yK6bZ+7+6WJViYiIqNSSMBnE69CRESKrpDLJPeZ2TnABwo5XkREykMhl0kuAe4EXufUW/ZpikZEpIwVMiK/ieiWfb9IuhgRESmeQq6ieYXoOniR1Bw9tJ/n1jTR39+fdikiFaOQEfzLwDNm9hin3rJvzXBvMrMMsAU4N27nEXe/cxS1ShXb3Xk344/sZemSZr7zvcfTLkekIhQygv8n4AfAe4Hz8h5n8xZwlbvPAGYC883sihHWKVWsq6uLYwf62LbqOH07nqW7uzvtkkQqQiFX0awayYnd3YEj8eZ74sfv3BlKZDi5XI6WRU103JBjQg20XT9Iy6Im+va8TCaTSbs8kbJWyFU0tcBy4N8S3dEJAHe/qoD3nkO0hs0U4K/d/fmRlyrV4PRvq7702P3U177J/BnRdnYmTHnqDWY3LmbqghtPHrepeU4JqxSpDIVM0WwEXgIuBlYRrQf/j4Wc3N3fdveZwEXA5Wb2h6cfY2YLzazHzHoGBgYKrVuqRP+WTm5bkDtl3+1X59i3pTOlikQqh0UzKcMcYLbd3T9sZjtPLE9gZv/o7h95Vw2ZfRkYdPd7hjqmoaHBe3p63s1pJXB3rbqTFzbfw7eXDJ7c9+l1NXx4wS3c8eWvpFeYSJmIM7rhTK8VMoL/5/jnfjO72swuo4CbbptZrZmdHz//PeCTRH8JiBTslltXsnP/BLp7o+2uXtj1+kSWLV+RZlkiFaGQyyT/m5lNBL4EtAETgKUFvG8y8PV4Hn4M8Lfu/v0RVypVKZPJ0Lb+QZq/+Gf0/escLRtraHtggz5gFSnAWadoSklTNDKUS2ZeznsHtvNvZn1C18GL5BnVFI2ZXWJm3zOzQ2Z20MweNbNLil+myNCmXbuCI+PrWdvWnnYpIhWjkDn4/w38LXAh8PtAJ/CNJIsSOd24SZOZ27qBurq6tEsRqRiFBHyNu/8vdz8WP/6GvOvhRUSkPBXyIWu3ma0Avkn0TdRGoMvMLgBw918mWJ+IiIxQIQH/2fhn82n7P0cU+JqPFxEpQ4WsRXNxKQoRGY6WIhB594acgzezj5jZhXnbn4+voFl3YnpGRETK13AfsrYDvwUwsyuBu4GHiW7+0ZF8aSIiMhrDTdGck/cBaiPQ4e7fAr5lZr2JVyYiIqMy3Aj+HDM78Q/Ax4Gn8l4r5MNZERFJ0XBB/Q3g/5jZIeA3wA8BzGwKukeriEjZGzLg3f0vzOxJokXDnvB3Fq0ZAywpRXEiIjJyw061uPs/nGHfj5MrR0REiqWQpQpERKQCKeBFRAKlgBcRCZQCXkQkUAp4EZFAKeAD0ti+lcb2rWmXISJlQgEvIhIoBbyISKAU8CIigVLAi4gESgEfkKOH9vPcmib6+/vTLkVEyoACPiC7O+9m/JG9LF1y+u1zRaQaJRbwZvZBM3vazHab2Y/M7Kak2hLo6uri2IE+tq06Tt+OZ+nu7k67JBFJWZIj+GPAl9x9GnAFsNjMpiXYXtXK5XK0LGqi44YcE2qg7fpBWhY1kcvl0i5NRFKUWMC7+3533xE//zWwB/iDpNqrRie+2DT7s4uor32T+TOi/dmZMOX9bzC7cbG++CRSxUoyB29mdcBlwPNneG2hmfWYWc/AwEApyglO/5ZObltw6mj99qtz7NvSmVJFIlIOEg94MxsPfAu42d1/dfrr7t7h7g3u3lBbW5t0OUHZ1DyHTc1zWLa0ldVP1Jzy2urHa1i2tJVNzXNSqk5E0pZowJvZe4jCfaO7fzvJtqrZLbeuZOf+CXT3RttdvbDr9YksW74izbJEJGVJXkVjwAZgj7uvSaodgUwmQ9v6B2l+OMPhQWjZWMO6+zaQyWTSLk1EUpTkCH4u8J+Bq8ysN34sSLC9qpbNZhl74XRm3zmG6bPmkc1m0y5JRFI27E23R8PdnwUsqfPL75p27Qp6H76DtW3taZciImVA32QNyLhJk5nbuoG6urq0SxGRMqCAFxEJlAJeRCRQCngRkUAl9iGrlJ6+1CQi+TSCFxEJlAJeRCRQCngRkUAp4EVEAqWAFxEJlAJeRCRQCngRkUAp4EVEAqWAFxEJlAJeRCRQCngRkUAp4EVEAqWAFxEJlAJeRCRQCngRkUAp4EVEAlUVAd/YvpXG9q1plyEiUlJVEfAiItVIAS8iEqjEAt7MHjSzg2a2K6k2RERkaEmO4B8C5id4fhERGUZiAe/uW4BfJnX+d+Poof08t6aJ/v7+tEsRESmZqpiD3915N+OP7GXpkua0SxERKZnUA97MFppZj5n1DAwMFP38XV1dHDvQx7ZVx+nb8Szd3d1Fb0NEpBylHvDu3uHuDe7eUFtbW9Rz53I5WhY10XFDjgk10Hb9IC2LmsjlckVtR0SkHI1Nu4BiOdMXmV567H7qa99k/oxoOzsTpjz1BrMbFzN1wY2nHLupeU4JqhQRKZ0kL5P8BrAVqDezV82sKam2htK/pZPbFpw6Wr/96hz7tnSWuhQRkZJLbATv7tclde4zOdMI/K4DrazefA9z6wdP7lv9eA3LlrZyh0bsIhK41Ofgk3TLrSvZuX8C3b3Rdlcv7Hp9IsuWr0izLBGRkgg64DOZDG3rH6T54QyHB6FlYw3r7ttAJpNJuzQRkcQFHfAA2WyWsRdOZ/adY5g+ax7ZbDbtkkRESiL4gAeYdu0KjoyvZ21be9qliIiUTFUE/LhJk5nbuoG6urq0SxERKZmqCHgRkWqkgBcRCZQCXkQkUMEsVTAcLUMgItVII3gRkUAp4EVEAqWAFxEJlAJeRCRQCngRkUAp4EVEAqWAFxEJlAJeRCRQCngRkUCZu6ddw0lmNgDsK+IpJwGHini+clUt/YTq6Wu19BOqp69J9fNfuXvtmV4oq4AvNjPrcfeGtOtIWrX0E6qnr9XST6ievqbRT03RiIgESgEvIhKo0AO+I+0CSqRa+gnV09dq6SdUT19L3s+g5+BFRKpZ6CN4EZGqpYAXEQlURQe8mT1oZgfNbFfevgvM7Adm9pP45/vi/WZm68zsp2a208xmpVf5u2NmHzSzp81st5n9yMxuivcH1Vczy5jZNjN7Me7nqnj/xWb2fNyfTWb23nj/ufH2T+PX61LtwLtkZueY2Qtm9v14O9R+9ptZn5n1mllPvC+o310AMzvfzB4xs5fMbI+ZzUm7nxUd8MBDwPzT9q0AnnT3DwFPxtsAWeBD8WMhsL5ENRbDMeBL7j4NuAJYbGbTCK+vbwFXufsMYCYw38yuAP4SWOvuU4A3gKb4+CbgjXj/2vi4SnITsCdvO9R+AnzM3WfmXQce2u8uwFeBze4+FZhB9P9tuv1094p+AHXArrztvcDk+PlkYG/8vB247kzHVdoDeBT4ZMh9BWqAHcBsom//jY33zwEej58/DsyJn4+Nj7O0ay+wfxcR/Qd/FfB9wELsZ1xzPzDptH1B/e4CE4Gfnf7/S9r9rPQR/Jl8wN33x88PAB+In/8B8Ereca/G+ypK/Of5ZcDzBNjXeNqiFzgI/AD4f8Cb7n4sPiS/Lyf7Gb9+GHh/SQseuXuB5cDxePv9hNlPAAeeMLPtZrYw3hfa7+7FwADwtXja7QEzG0fK/Qwx4E/y6J/GYK4DNbPxwLeAm939V/mvhdJXd3/b3WcSjXAvB6amW1Hxmdk1wEF33552LSUyz91nEU1LLDazK/NfDOR3dywwC1jv7pcBR3lnOgZIp58hBvzrZjYZIP55MN7/GvDBvOMuivdVBDN7D1G4b3T3b8e7g+wrgLu/CTxNNFVxvpmNjV/K78vJfsavTwR+UdpKR2Qu8Kdm1g98k2ia5quE108A3P21+OdB4DtE/3CH9rv7KvCquz8fbz9CFPip9jPEgP8ucEP8/Aai+eoT+z8ff3p9BXA470+nsmZmBmwA9rj7mryXguqrmdWa2fnx898j+pxhD1HQfyY+7PR+nuj/Z4Cn4lFSWXP3le5+kbvXAZ8jqvt6AusngJmNM7PzTjwH/gTYRWC/u+5+AHjFzOrjXR8HdpN2P9P+cGKUH2x8A9gP/DPRv6BNRHOTTwI/Af4euCA+1oC/JprT7QMa0q7/XfRzHtGfdjuB3vixILS+ApcCL8T93AV8Od5/CbAN+CnQCZwb78/E2z+NX78k7T6MoM8fBb4faj/jPr0YP34E3B7vD+p3N659JtAT//7+HfC+tPuppQpERAIV4hSNiIiggBcRCZYCXkQkUAp4EZFAKeBFRAKlgBcRCZQCXiqSmd0eLym8M16Gdna8/2YzqylB+18wswEze2AE7x0bv/fu0/ZvNLNfmtlnhnqvyLuhgJeKY2ZzgGuAWe5+KfAJ3lm46WailSjP9L5zilzKJne/cQTv+yTwY+Da+FvKAHj0bdbvFqs4EQW8VKLJwCF3fwvA3Q+5+8/NrAX4feBpM3sawMyOmNlqM3sRmGNmrWa2K37cHB9TF9+k4SEz+3E8kv6EmT0X36jh8rMVFI/o/y6+qUO/mf153NYLZvYPZnZB3uHXEa09809Ea+2IJEIBL5XoCeCDcRjfZ2Z/DODu64CfE91c4mPxseOA5z26ichvgC8SrTF/BfBfzOyy+LgpwGqi1SunAv+RaImIZcBtBdb1h8CfAR8B/gIY9Ghlwa3A5yG6axXRXxzfI1pq47oR/S8gUgAFvFQcdz8CfJjoTjgDwCYz+8IQh79NtAonRIH9HXc/Gp/j28Afxa/9zN373P040ZopT3q0jkcf0U1lCvG0u//a3QeI1mz/Xrw//xzXxMf9Jq7rUwlMHYkA0RrGIhXH3d8GngGeMbM+opX6HjrDobn42LN5K+/58bzt4xT+30kh57gOmBcvFQzRYlRXEd3cRKSoNIKXimNm9Wb2obxdM4F98fNfA+cN8dYfEo2Ya+Klaz8d7ysJM5tA9BfDv3T3Oo+WC16MpmkkIRrBSyUaD7TFa8cfI1pG98St4DqAzWb287x5eADcfYeZPUS05C7AA+7+QnwbxFL4NNFa7vkj/UeBvzKzc0/bLzJqWi5YZATiOf8Gd//zIp/3IaL14R8p5nmlOmmKRmRkfgNkR/JFp6GY2Ubgj4Fcsc4p1U0jeBGRQGkELyISKAW8iEigFPAiIoFSwIuIBOr/A6BbeQk/+88DAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.errorbar(strom, spannung,\n",
" xerr=strom_error, \n",
" yerr=spannung_error, \n",
" # Änderungen für plotmarker: | Kurzform:\n",
" linestyle='', # <-- Schaltet den Linienstyle aus | ls=''\n",
" marker='d', # <-- Ändert den Markertyp in Diamanten | -----\n",
" markerfacecolor='orange', # <-- Ändert die Markerfarbe zu Orange | mfc='orange'\n",
" markeredgecolor='k', # <-- Setzt die Kantenfarbe auf schwarz | mec='k'\n",
" markersize=7 # <-- Ändert die Markergröße | ms='7'\n",
" )\n",
"\n",
"plt.ylabel('Spannung [V]')\n",
"plt.xlabel('Strom [mA]')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"All die Optionen welche wir hier für die Plotmarker verwendet haben können wir auch in der normalen `plt.plot`-Anweisung verwenden. Dabei gibt es eine ganze fülle an unterschiedlichen [marker Symbole](http://matplotlib.org/api/markers_api.html):\n",
" \n",
"* `+`: Plus\n",
"* `o`: Kreis\n",
"* `*`: Stern\n",
"* `,`,`.`: kleiner und sehr kleiner Punkt\n",
"* `s`: Quadrat\n",
"* `p`: Pentagon\n",
"* `h`: Hexagon\n",
"* `1`, `2`, `3`, `4`: nach unten, oben, links, rechts zeigendes Dreieck\n",
" \n",
"Nach dem wir uns um unsere Marker gekümmert haben müssen wir nun auch noch unsere Fehlerbalken enstprechend anpassen:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T13:11:52.919783Z",
"start_time": "2019-11-04T13:11:52.638600Z"
}
},
"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.errorbar(strom, \n",
" spannung,\n",
" xerr=strom_error,\n",
" yerr=spannung_error, \n",
" ls='', \n",
" marker='d', \n",
" mfc='orange', \n",
" mec='k', \n",
" ms=7,\n",
" # Fehlerbalken optionen:\n",
" ecolor='k', # <-- Ändert die Linienfarbe der errorbars\n",
" elinewidth=2, # <-- Ändert die Fehlerbalkenbreite\n",
" capsize=5, # <-- Ändert die Breite der Endkappen der Fehlerbalken\n",
" capthick=2 # <-- Ändert die Dicke der Endkappen\n",
" ) \n",
"\n",
"plt.ylabel('Spannung [V]')\n",
"plt.xlabel('Strom [mA]')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Histogramme:\n",
"\n",
"Ein weiterer Plottyp welcher häufig Verwendung findet ist das Histogramm. Um unser Histogramm mit Pseudozufallszahlen zu bestücken müssen wir diese erst erzeugen. Hierfür können wir das `numpy`-Modul verwenden. `numpy` ist ein weiteres Standardmodul welches viele nützliche Funktionen mit sich bringt. Hier wollen wir uns jedoch nur auf das erstellen von Zufallszahlen beschränken. "
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T13:13:40.357937Z",
"start_time": "2019-11-04T13:13:40.342316Z"
}
},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T13:13:40.844488Z",
"start_time": "2019-11-04T13:13:40.828850Z"
}
},
"outputs": [],
"source": [
"rnd_numbers = np.random.normal(0,1,1000) # <-- Hier werden 1000 gausförmig verteile Zufallszahlen\n",
" # mit einem Mittelwert von 0 und einer Standardabweichung \n",
" # von 1 erzeugt."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Das histgrom lässt sich ganz einfach mit der `plt.hist`-Anweisung erstellt."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T13:13:52.473958Z",
"start_time": "2019-11-04T13:13:52.177152Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEJCAYAAAB7UTvrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAVxklEQVR4nO3de7RedX3n8fen1EIXN7VEJnJpLAY60cGoER1vA6WDCCritFTK8la6ImtkhNbagjjFqVKxrba1HWljcYQOoMxCK1bqDVkFFdSAGSAgNQPJCCuSeIMASgl8549nZ89DPJcnJ2c/++Sc92utvZ69f/v23SuQT/btt1NVSJIE8DN9FyBJmjsMBUlSy1CQJLUMBUlSy1CQJLUMBUlSq7NQSHJQkmuS3JZkbZIzmvZ3JbknyZpmOG5onbOTrEtyR5KXdVWbJGli6eo9hSSLgcVVdVOSvYEbgVcDJwEPVNWfbbf8MuAy4AjgqcAXgUOr6tFOCpQk/ZSf7WrDVbUR2NiMb0lyO3DAFKucAHysqh4G7kqyjkFAXD/ZCvvtt18tWbJk9oqWpAXgxhtv/F5VLZpoXmehMCzJEuDZwNeAFwGnJ3k9sBp4W1X9kEFg3DC02t1MHSIsWbKE1atXd1KzJM1XSTZMNq/zG81J9gKuAM6sqvuBC4BDgOUMziTev4PbW5lkdZLVmzdvnu1yJWlB6zQUkjyBQSBcUlWfAKiqe6vq0ap6DPgwg0tEAPcABw2tfmDT9jhVtaqqVlTVikWLJjz7kSTNUJdPHwW4ELi9qj4w1L54aLETgVub8SuB1ybZPcnTgKXA17uqT5L007q8p/Ai4HXALUnWNG3vAE5OshwoYD3wZoCqWpvkcuA2YCvwFp88kqTx6vLpoy8DmWDWVVOscx5wXlc1SZKm5hvNkqSWoSBJahkKkqSWoSBJao3ljWapL0vO+kxv+15//vG97VuaKc8UJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEmtzkIhyUFJrklyW5K1Sc5o2p+c5AtJvt38PqlpT5IPJlmX5OYkz+mqNknSxLo8U9gKvK2qlgEvAN6SZBlwFnB1VS0Frm6mAV4OLG2GlcAFHdYmSZpAZ6FQVRur6qZmfAtwO3AAcAJwUbPYRcCrm/ETgItr4AbgiUkWd1WfJOmnjeWeQpIlwLOBrwH7V9XGZtZ3gf2b8QOA7wytdnfTJkkak85DIclewBXAmVV1//C8qiqgdnB7K5OsTrJ68+bNs1ipJKnTUEjyBAaBcElVfaJpvnfbZaHmd1PTfg9w0NDqBzZtj1NVq6pqRVWtWLRoUXfFS9IC9LNdbThJgAuB26vqA0OzrgTeAJzf/H5qqP30JB8Dng/cN3SZSdrlLDnrM73sd/35x/eyX80PnYUC8CLgdcAtSdY0be9gEAaXJzkV2ACc1My7CjgOWAc8BLypw9okSRPoLBSq6stAJpl99ATLF/CWruqRJE3PN5olSS1DQZLUMhQkSS1DQZLUMhQkSS1DQZLUMhQkSS1DQZLUMhQkSS1DQZLUMhQkSa2RQiHJzyc5rOtiJEn9mjYUkrwSWAN8tplenuTKjuuSJPVglDOFdwFHAD8CqKo1wNM6q0iS1JtRQuGRqrpvu7Yd+oSmJGnXMMr3FNYm+U1gtyRLgbcCX+22LElSH0Y5U/gvwDOAh4HLgPuBMzusSZLUk2nPFKrqIeCcZpAkzWPThkKST/PT9xDuA1YDf1tVP+miMEnS+I1y+ehO4AHgw81wP7AFOLSZliTNE6PcaH5hVT1vaPrTSb5RVc9LsrarwiRJ4zfKmcJeSQ7eNtGM79VM/msnVUmSejHKmcLbgC8n+T9AGLy49p+T7Alc1GVxkqTxGuXpo6ua9xN+uWm6Y+jm8l90VZjmlyVnfabvEiSNYJQzBYClwGHAHsCzklBVF3dXliSpD5PeU0iysvk9F/irZjgK+BPgVWOpTpI0VlPdaH6o+f014Gjgu1X1JuBZwL5dFyZJGr+pQuGpze+Pq+oxYGuSfYBNwEGdVyZJGrup7inc3vx+M8kTGbyodiODF9mu77guSVIPJg2Fqvp0kgDvqaofAX+T5LPAPlV187gKlCSNz5RPH1VVJbkK+HfN9PpxFCVJ6scobzTflOR50y8mSdrVjfKewvOBU5JsAB5k8FZzVdXhnVYmSRq7UULhZZ1XIUmaE0a5fPSeqtowPADvmW6lJB9JsinJrUNt70pyT5I1zXDc0Lyzk6xLckcSg0iSejBKKDxjeCLJbsBzR1jvo8CxE7T/eVUtb4armm0uA17b7OtY4EPNfiRJYzRVNxdnJ9kCHJ7k/mbYwuDltU9Nt+Gquhb4wYh1nAB8rKoerqq7gHXAESOuK0maJZOGQlW9t6r2Bv60qvZphr2r6heq6uyd2OfpSW5uLi89qWk7APjO0DJ3N22SpDGa9vJRVZ2d5IAkL0zy0m3DDPd3AXAIsBzYCLx/RzeQZGWS1UlWb968eYZlSJImMu3TR0nOZ3C9/zbg0aa5gGt3dGdVde/Qdj8M/GMzeQ+P70/pwKZtom2sAlYBrFixona0BknS5EZ5JPVE4LCqenhnd5ZkcVVtHNrutieTrgQuTfIBBh3xLQW+vrP7kyTtmFFC4U7gCcAOhUKSy4Ajgf2S3A2cCxyZZDmDM431wJsBqmptkssZnI1sBd5SVY9OsFlJ0+jrK3frzz++l/1qdo0SCg8Ba5JczVAwVNVbp1qpqk6eoPnCKZY/DzhvhHokSR0ZJRSubAZJ0jw3bShU1UXjKESS1L9JQyHJ5VV1UpJbGNwDeBw7xJOk+WeqM4Uzmt9XjKMQSVL/pgqFfYGNVbUhye7Dj6QmeQGwofPqJEljNdUbzZcOjW//TeYPdVCLJKlnU4VCJhmfaFqSNA9MFQo1yfhE05KkeWCqewoHJvkgg7OCbeM00/ZgKknz0FSh8Pah8dXbzdt+WpI0D0waCr60JkkLzyif45QkLRCGgiSpNWUoJNktye+MqxhJUr+mDIXmmwYTdYEtSZqHRuk6+ytJ/hr4OPDgtsaquqmzqiRJvRglFJY3v3801FbAr8x6NZKkXo3yPYWjxlGIJKl/0z59lGT/JBcm+admelmSU7svTZI0bqM8kvpR4HPAU5vpfwHO7KgeSVKPRgmF/arqcuAxgKraCjzaaVWSpF6MEgoPJvkFmp5Rmw/s3NdpVZKkXozy9NHvAlcChyT5CrAI+LVOq5Ik9WKUp49uSvIfgMMYdJt9R1U90nllkqSxmzQUkrxmklmHJqGqPtFRTZKknkx1pvDK5vcpwAuBLzXTRwFfBQwFSZpnpvqewpsAknweWFZVG5vpxQweU5UkzTOjPH100LZAaNwLHNxRPZKkHo3y9NHVST4HXNZM/wbwxe5KkiT1ZZSnj05PciLw0qZpVVV9stuyJEl9GOVMgSYEDAJJmuf8HKckqWUoSJJahoIkqTXVG8230HSCt/0soKrq8M6qkiT1Yqobza/YmQ0n+UizjU1V9cym7ckMvvW8BFgPnFRVP0wS4C+B44CHgDf6DWhJGr9JLx9V1YaphhG2/VHg2O3azgKurqqlwNXNNMDLgaXNsBK4YEcPRJK080b5HOdrknw7yX1J7k+yJcn9061XVdcCP9iu+QTgomb8IuDVQ+0X18ANwBOb7jQkSWM0yo3mPwFeVVX7VtU+VbV3Ve0zw/3tP9RlxneB/ZvxA4DvDC13d9MmSRqjUULh3qq6fbZ3XFXFxDeyp5RkZZLVSVZv3rx5tsuSpAVtlO8prE7yceAfgIe3zZ/h9xTuTbK4qjY2l4c2Ne33AAcNLXdg0/ZTqmoVsApgxYoVOxwqkqTJjfI9BRg8EXTM0HQxs+8pXAm8ATi/+f3UUPvpST4GPB+4b7ueWSVJYzDt9xRmKsllwJHAfknuBs5lEAaXJzkV2ACc1Cx+FYPHUdcxCKCd2rckaWam7RAvyR7AqcAzgD22tVfVb021XlWdPMmsoydYtoC3TFeLJKlbo9xo/nvg3wAvA/6ZwfX+LV0WJUnqxyih8PSq+q/Ag1V1EXA8g+v+kqR5ZpRQeKT5/VGSZwL7Ak/priRJUl9G+cjOqiRPAt7J4CmhvYA/7LQqSVIvRvkc5981o9cCv9RtOZKkPo3S99GjSc5vejLd1mYPppI0D41yT2Fts9znm66vYfBNBUnSPDPKPYWtVfX7SX4DuC7J65lBn0WS5rclZ32mt32vP//43vY934wSCgGoqo8nWQtcChzcaVWSpF6MEgq/vW2kqm5N8hIG3z+QJM0zozx9dGOSFzL4hOYoISJJ2kWN0vfR3wOHAGuAR5vmAi7urix1oc9rvpJ2DaP8y38FsKzptE6SNI+N8kjqrQw6xJMkzXOjnCnsB9yW5Os8/strr+qsKklSL0YJhXd1XYQkaW4Y5emjfx6eTvJi4GQG31aQJM0jIz1imuTZwG8Cvw7cBVzRZVGSpH5MGgpJDmVwRnAy8D3g40Cq6qgx1SZJGrOpzhS+BVwHvKKq1gEk+Z2xVCVJ6sVUj6S+BtgIXJPkw0mOxt5RJWlemzQUquofquq1wC8D1wBnAk9JckGSY8ZUnyRpjKZ9ea2qHqyqS6vqlcCBwDeBP+i8MknS2I3yRnOrqn5YVauq6uiuCpIk9WeHQkGSNL8ZCpKklqEgSWoZCpKklqEgSWoZCpKklqEgSWoZCpKklqEgSWoZCpKk1kgf2ZltSdYDW4BHga1VtSLJkxl8s2EJsB44qap+2Ed9krRQ9XmmcFRVLa+qFc30WcDVVbUUuLqZliSN0Vy6fHQCcFEzfhHw6v5KkaSFqa9QKODzSW5MsrJp27+qNjbj3wX276c0SVq4ermnALy4qu5J8hTgC0m+NTyzqipJTbRiEyIrAQ4++ODuK5WkBaSXM4Wquqf53QR8EjgCuDfJYoDmd9Mk666qqhVVtWLRokXjKlmSFoSxh0KSPZPsvW0cOAa4FbgSeEOz2BuAT427Nkla6Pq4fLQ/8Mkk2/Z/aVV9Nsk3gMuTnApsAE7qoTZJWtDGHgpVdSfwrAnavw/4mU9J6tFceiRVktQzQ0GS1DIUJEktQ0GS1DIUJEktQ0GS1DIUJEmtvvo+WtCWnPWZvkuQpAl5piBJahkKkqSWoSBJahkKkqSWoSBJahkKkqSWoSBJahkKkqSWL69J2uX19ULo+vOP72W/XfJMQZLUMhQkSS1DQZLUMhQkSS1DQZLUMhQkSS1DQZLUMhQkSS1DQZLUMhQkSS1DQZLUWrB9H/XVV4okzWWeKUiSWgv2TEGSdlafVxy66qHVMwVJUstQkCS1DAVJUmvOhUKSY5PckWRdkrP6rkeSFpI5FQpJdgP+O/ByYBlwcpJl/VYlSQvHnAoF4AhgXVXdWVX/CnwMOKHnmiRpwZhroXAA8J2h6bubNknSGOxy7ykkWQmsbCYfSHLHDm5iP+B7s1tVbzyWucljmXvmy3FAcyx5305t4xcnmzHXQuEe4KCh6QObtlZVrQJWzXQHSVZX1YqZrj+XeCxzk8cy98yX44Duj2WuXT76BrA0ydOS/BzwWuDKnmuSpAVjTp0pVNXWJKcDnwN2Az5SVWt7LkuSFow5FQoAVXUVcFWHu5jxpac5yGOZmzyWuWe+HAd0fCypqi63L0nahcy1ewqSpB4tyFBI8u4kNydZk+TzSZ7ad00zleRPk3yrOZ5PJnli3zXNVJJfT7I2yWNJdrknReZTFy1JPpJkU5Jb+65lZyQ5KMk1SW5r/ts6o++aZirJHkm+nuR/N8fy3zrZz0K8fJRkn6q6vxl/K7Csqk7ruawZSXIM8KXmJv37AKrqD3oua0aS/FvgMeBvgd+rqtU9lzSypouWfwH+I4OXLr8BnFxVt/Va2AwleSnwAHBxVT2z73pmKsliYHFV3ZRkb+BG4NW74p9LkgB7VtUDSZ4AfBk4o6pumM39LMgzhW2B0NgT2GWTsao+X1Vbm8kbGLzbsUuqqturakdfRpwr5lUXLVV1LfCDvuvYWVW1sapuasa3ALezi/aSUAMPNJNPaIZZ/7trQYYCQJLzknwHOAX4w77rmSW/BfxT30UsUHbRMsclWQI8G/haz6XMWJLdkqwBNgFfqKpZP5Z5GwpJvpjk1gmGEwCq6pyqOgi4BDi932qnNt2xNMucA2xlcDxz1ijHIs22JHsBVwBnbnelYJdSVY9W1XIGVwSOSDLrl/bm3HsKs6WqfnXERS9h8F7EuR2Ws1OmO5YkbwReARxdc/wm0Q78uexqpu2iRf1orr9fAVxSVZ/ou57ZUFU/SnINcCwwqw8DzNszhakkWTo0eQLwrb5q2VlJjgV+H3hVVT3Udz0LmF20zEHNzdkLgdur6gN917Mzkiza9nRhkp9n8FDDrP/dtVCfProCOIzBky4bgNOqapf8V12SdcDuwPebpht24SepTgT+ClgE/AhYU1Uv67WoHZDkOOAv+P9dtJzXb0Uzl+Qy4EgGPXLeC5xbVRf2WtQMJHkxcB1wC4P/3wHe0fScsEtJcjhwEYP/vn4GuLyq/mjW97MQQ0GSNLEFeflIkjQxQ0GS1DIUJEktQ0GS1DIUJEktQ0ELRpITm55xh4fHkrx8inVe0vRIuaZ5Nnyy5R5ofpeMq2fRJG/clXv41dxkKGjBqKpPVtXybQPwIQbPsH9uitVOAd7brPPjcdQ5iqZX1jcChoJmlaGgBSnJoQw6Qnwd8NIk/zg076+bf4X/NnAS8O4klyTZK8nVSW5Kcst0/TUleUbT//2a5nsXS5O8vemunSR/nuRLzfivJLmkGT8myfXNfv5X028PSdYneV+Sm4CTgRXAJdOdxUg7wlDQgtP0hXMp8Laq+r+TLVdVf8egq4q3V9UpwE+AE6vqOcBRwPubbhQmcxrwl81ZyQoGPadeB7ykmb8C2Kup5yXAtUn2A94J/Gqzn9XA7w5t8/tV9Zyq+p/NvFPm2lmMdm3ztkM8aQrvBtZW1cd3cL0Af9x8gOYxBl1j7w98d5LlrwfOSXIg8Imq+naSG4HnJtkHeBi4iUE4vAR4K/ACYBnwlSZvfq7ZzjY7WrO0QwwFLShJjgT+E/CcoeatPP6seY9JVj+FQb9Mz62qR5Ksn2JZqurSJF8DjgeuSvLmqvpSkrsY3A/4KnAzg7OOpzP4AMwhDPrJP3mSzT441fFJO8vLR1owkjwJ+B/A65uvcG2zAViWZPemF8qjJ9nEvsCmJhCOAn5xmv39EnBnVX0Q+BRweDPrOuD3gGub8dOAbzbdnt8AvCjJ05tt7Nnc/5jIFmDvqWqQdpRnClpITgOeAlyw3a2A9wKXM+iX/i7gm5Osfwnw6SS3MLieP123xScBr0vyCINLTH/ctF8HnANcX1UPJvlJ00ZVbW6+j3FZkt2b5d/J4PvP2/so8DdJfgz8e+8raDbYS6okqeXlI0lSy1CQJLUMBUlSy1CQJLUMBUlSy1CQJLUMBUlSy1CQJLX+HwXXYXuvEwdbAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(rnd_numbers)\n",
"\n",
"plt.xlabel('Zufallswert')\n",
"plt.ylabel('Anzahl der Einträge')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Auch für Histogramme gibt es viele unterschiedlichen Optionen welche ihr entweder mit Hilfe der Help-Funktion oder den Beispielen in der [Matplolibdokumentation](http://matplotlib.org/) herrausfinden könnt."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T13:15:09.390753Z",
"start_time": "2019-11-04T13:15:09.031464Z"
}
},
"outputs": [
{
"data": {
"image/png": "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l4wpTelzy8rKGDJkCDNmzACgoKCA8vJyysrK2Lcv9hn3338/nTsfebQ5dOhQvv/973PcccexePFiXnjhBe666y527drF559/zj333EPXrl1r/ewHHniAQYMGUVBQQHFxMR9//HGdWb/zne9QUVFBly5d6NChAz179uT4448/YrtZs2YxYsQIduzYwdVXX02PHj2OuPy2MSxbDlkao7i42DXJTm4pGjU3tMtGw9y3NM769es5++yzo46Rcz7++GNatWrFzp07KSkp4Y033uCUU05p1L6S/RmY2XJ3T3qYpSMFaTK6tW8TdQSRtBg0aBAfffQR+/fv52c/+1mjC0JjqChIkzFnRN+oI4ikRabPIyTSiWbJqDCHd0bPXBXavkXyhYqCZFR1T5swJJ6AFJHGUVGQjKrvDlQRiZaKgoiIxOlEszQZqV6zLhF6dUJ699d/dN0v9+/PqFGjanRJffjhh3nnnXd47LHHUvqI8vJyLrvssnq7pN57771cfPHFDBgwgH79+vHLX/6S4uL6b65rrB//+MfMnj2bL3/5y5x++un8+te/5oQTTjjq/epIQTIqlTtQG2t11a7Q9i25qbrvUaIZM2bE72yuT3Xr7FTmU7jvvvsYMCBzbTwGDhzImjVrWLVqFZ07d2bChPQUXBUFyajuhUfemZkutz2tGxmlpuuuu465c+eyf/9+ADZv3syHH35I3759eeWVV+jTpw89e/bk+uuvj99pXFRUxE9/+lN69uzJ9OnTqays5KabbqJHjx58+umnLF++nEsuuYRevXpx+eWXs3XrViB25/MLL7xwRIZWrVrFn7/wwgsMHTo0vv1dd93FBRdcwDe+8Y34ew8dOsQPf/hDzjrrLAYOHMhVV12VdL+XXXYZxx4bG+zp3bs3VVVVafk9U1GQjEqcSEckbPnSOvvJJ5/kyiuvbHSORDqnICJNWlNvnT1u3DiOPfZYbrrppkbnSKSiIE3G+CHdo44gWagpt84uLy9nzpw5VFRU1Pico6HhI8mospIOoe37xvNPC23fkruaauvs3/3udzz44IO89NJLfOUrX6l3v6nSkYJk1OETtqeTuqTmgHouIQ1LU2ydPXz4cPbt2xcfyurduzePP/54yr8ntVHrbMmoQY8sDK1xnYpC9lHr7MZR62zJG2u27I46gkjWU+tskTQIc/5nkUxS62zJG21bN69/o0YKc/5nabxcHqLOdY35vVdRkIxaOja8NgDDypeFtm9pnBYtWrBz504Vhgi4Ozt37qRFixYNep+GjySjJs7fwMiBR17hkQ4Vb28PZb/SeIWFhVRVVbFjx46oo+SlFi1aUFhY2KD3qChIRk2q2BhaUZDs06xZMzp27Bh1DGkADR+JiEicioI0GbpHQeToafhIMmr28ItC2/e0Je/XmO7ziZuL6V54fI3OrGUlHZhw7TkMemRh/J6Jtq2bs3TsACbO38Ckio1HZL3m0UUAtD/hON4YdWlo+UWyQWh3NJtZB+BpoB3gwGR3n2RmJwLPAkXAZuAGd/+rxbo5TQKuAvYCQ919RV2foTuac8/qql2hzqkQpjBPkotkUl13NIc5fPQ58CN37wL0Bu40sy7AKKDC3TsBFcEywJVAp+BxO5DaXHmSU6q/deciFQTJB6EVBXffWv1N3933AOuB9sBg4Klgs6eAbwfPBwNPe8ybwAlm1vhG5SJpVjJuQdQRREKXkRPNZlYEnAcsAdq5+9bgpT8TG16CWMH4IOFtVcE6kaywfc++qCOIhC70omBmrYAXgXvcvUY3NI+d0GjQSQ0zu93MKs2sUjfE5J67SztFHUFE6hBqUTCzZsQKwlR3nxms3lY9LBT8rL4NdQuQOANLYbCuBnef7O7F7l5cUFAQXngJRS6Py3dr3ybqCCKhC60oBFcTTQHWu/tDCS+9BNwSPL8F+E3C+pstpjewK2GYSZqIXB6XD2seCJFsEuaRwoXA94BLzWxl8LgKeAAYaGYbgQHBMsDLwJ+ATcCvgB+GmE0iksvj8qNnroo6gkjoQrt5zd0XAbXNJF2aZHsH7gwrj8jRmr70g1CnExXJBmpzIRmlcXmR7KaiIBmlcXmR7KaiIBmVy+PyS8YcMeop0uSoKEhGTV/6Qf0bZanVVbuijiASOhUFkRTd9rSaL0rTp6IgIiJxKgqSURqXF8luKgqSUbk8Lj9+SPeoI4iETkVBMiqXx+VvPP+0qCOIhC6lomBmx5nZmWGHEclmRaPmRh1BJHT1FgUzuwZYCfwuWO5hZi+FnEtERCKQypHCL4AS4CMAd18JdAwtkTRpGpcXyW6pFIUD7n742cEGTYwjUi2Xx+VLz2obdQSR0KVSFNaa2Y3Al8ysk5k9Avx3yLmkicrlcfkpQ78ZdQSR0KVSFEYAXYF9wHRgN3BPiJlEstKw8mVRRxAJXb3zKbj7XmBs8JA8UTJuQXxCnG7t2zBnRF9Gz1xVo3fRkjGlrK7aVeMy0/FDunPj+afVOCIoPastU4Z+k2Hly2h/wnGZ+0WkWcXb2+vfSCTHWWxumzo2MJvNkecQdgGVwH+4+2chZatXcXGxV1bm7nXv2Wri/A05PZdyWIpGzWXzA1dHHUPkqJnZcncvTvZaKsNHfwI+JjZF5q+IDR/tAToHy9LETKrYGHUEEYlIKtNxXuDuiWfYZpvZMnf/ppmtDSuYSLbRUYLkg1SOFFqZWfw6wuB5q2BxfyipRLLQtCXvRx1BJHSpFIUfAYvM7FUzew1YCPyDmbUEngoznERj9vCLoo6QlcbMWh11BJHQpXL10ctm1gk4K1j1TsLJ5YfDCiYiIpmXapfUTsCZwLnADWZ2c3iRJGrXPLoo6ggiEpFai4KZ3R78/DnwSPDoDzwIfCsj6USyyBM3J72CT6RJqetIYW/w8zqgFPizu/8dsaOF48MOJpJtuhfqr700fXUVha8FPz9190PA52bWBtgOdAg9mUTm7tJOUUfISuePr4g6gkjo6jrRvD74+ZaZnUDsRrXlxG5kWxxyLomQ7mYWyV+1Him4+2wzM+B+d//I3R8HBgK3BMNI0kSVjFsQdQQRiUidl6S6u5vZy0D3YHlzJkJJtKob4UlNZSUaNZWmL5VLUleYmRrJS96bcO05UUcQCV0qReF8YLGZ/dHMVpnZajNbFXYwiU639m2ijpCVBj2yMOoIIqFLpSHe5aGnkKwyZ0TfqCNkpTVbdkcdQSR0qRwp3O/u7yU+gPvDDibRGT1TB4Ii+SqVotA1ccHMvgT0CieOZIPE2dXkC21bN486gkjo6mpzMdrM9gDnmNnu4LGH2M1rv6lvx2b2pJltN7M1Cet+YWZbzGxl8LjqsM/bZGbvmJmGrCTrLB07IOoIIqGr6z6FCe7eGvgXd28TPFq7+0nuPjqFfZcDVyRZP9HdewSPlwHMrAvwt8SOSq4A/j04IhHJGhPnb4g6gkjo6h0+cvfRZtbezC4ws4urHym873XgLynmGAzMcPd97v4usAkoSfG9kmZLxpRGHSEraZpSyQf1Xn1kZg8Q+xa/DjgYrHbg9UZ+5vCg9XYl8CN3/yvQHngzYZuqYF2yPLcDtwOcdtppyTaRo7S6ahfturSIOoaIRCCVE81DgDPd/Sp3vyZ4NLZ19mPA6UAPYCvwrw3dgbtPdvdidy8uKChoZAypy21PV0YdQUQikkpR+BPQLB0f5u7b3P1g0HX1V3wxRLSFmp1XC4N1IllD05RKPkjl5rW9wEozqwDiTXHc/a6GfpiZneruW4PFIUD1lUkvAdPM7CFiLbs7AUsbun8RETk6qRSFl4JHg5jZdKAfcLKZVQE/B/qZWQ9i5yQ2A3cAuPtaM3uO2HmLz4E73f1gkt1KBowf0j3qCFnpmkcXsfmBq6OOIRKqeouCuz/VmB27e1mS1VPq2H4cMK4xnyXpdeP5OoEvkq9qLQpm9py732Bmq4l9s6/B3dUysokqGjVX34iTaH/CcUycv4GRAztTMm5BvMV4t/ZtmDOiL6NnrqpxN/iSMaWsrtpV48T9+CHdufH80ygaNTe+rvSstkwZqkbEkh3M/Yj/72MvBOP/Zvb1ZK8HPZAiVVxc7JWVulIm3VQUMm9Y+TIVBskYM1vu7sXJXqtr+Oh4YKu7v2dmzd09fpLZzHoDkRcFkaai4u3tUUcQAeouCtOAnsHzxQnPAf79sGVpQkrPaht1hOz06oQQd67RWMkOdd2nYLU8T7YsTYiGMUTyV11FwWt5nmxZmpBh5cuijpB3dA5HskVdw0eFZvZvxI4Kqp8TLCftSyRNg8a3M2/akvd1KbBkhbqKwo8Tnh9+iY8u+RFJozGzVqsoSFaotSg09qY1ERHJXak0xJM8o/FtkfyloiBHmLbk/agj5J0nbk56H5FIxtVZFMzsS2Y2MlNhJDuMmbU66gh5p3vh8VFHEAHqKQpBp9Jkje1EJI3OH18RdQQRILXW2W+Y2aPAs8An1SvdfUVoqUREJBKpFIUewc/7EtY5cGna00hW0Pi2SP5KZT6F/pkIItlD49uZV1bSof6NRDKg3quPzKydmU0xs98Gy13MbFj40SQqGt/OvAnXqiGeZIdULkktB+YRmzsZYANwT0h5RPLSoEcWRh1BBEitKJzs7s8BhwDc/XNA8yeLpNGaLbujjiACpFYUPjGzkwg6owYT7OwKNZVESuPbIvkrlauP/h54CTjdzN4ACoDrQk0lkdL4dua1bd086ggiQApHCsH9CJcAFwB3AF3dfVXYwSQ6Gt/OvKVjB0QdQQSo40jBzK6t5aXOZoa7zwwpk0RM49uZN3H+BkYO7Bx1DJE6h4+uCX62JXaU8PtguT/w34CKgkiaTKrYqKIgWaGu+RT+DsDMXgG6uPvWYPlUYpepShOl8W2R/JXK1UcdqgtCYBugKaKaMI1vi+SvVIpChZnNM7OhZjYUmAssCDeWRGni/A1RR8g7s4dfFHUEESC1q4+GA48D5waPye4+IuxgEp1JFRujjiAiEUnlPgXcfRYwK+QsInnrmkcXaRpUyQqajlNEROJUFOQIGt8WyV8pDR+JSLjuPn0bvDoh6hiN03901Akkjeq6o3k1QRO8w18C3N3VIKeJ0vh25o08Y1vUEUSAuo8UBmUshUg65Oo3baDktbNZ2m991DFE6ryj+b2j2bGZPUmssGx3927BuhOBZ4EiYDNwg7v/1cwMmARcBewFhgaN+KSpyeH/uMO0fV+zqCOIAKlNx3mtmW00s11mttvM9phZKh3TyoErDls3Cqhw905ARbAMcCXQKXjcDjyW6i9A0u/u0k5RRxCRiKRy9dGDwLfc/Xh3b+Purd29TX1vcvfXgb8ctnow8FTw/Cng2wnrn/aYN4ETgh5LEgE1Zsu8bm32Rh1BBEitKGxz93QNdrZL6KP0Z6Bd8Lw98EHCdlXBuiOY2e1mVmlmlTt27EhTLElUMk5dTDJtTp9NUUcQAeooCsGw0bVApZk9a2Zl1evqmGshZe7uJL+6qb73TXb3YncvLigoONoYksT2PfuijpB3Rq9N+h1IJONSmU8BYid/L0tYdho3n8I2MzvV3bcGw0Pbg/VbgMSJgQuDdSJ5YXrVSUzoqr/yEr1651NIs5eAW4AHgp+/SVg/3MxmAOcDuw5r1y0Z1K19vaeMRKSJqveOZjNrAQwDugItqte7+631vG860A842cyqgJ8TKwbPmdkw4D3ghmDzl4ldjrqJ2FFJGAVJUjRnRN+oI4hIRFJpc/EM8DZwOXAfcBNQ74lndy+r5aXSJNs6cGcKWSQDRj/6tIYyMmzJJeuijiACpHb10Rnu/jPgE3d/Cria2BCPNFHTq06KOkLeWb37uKgjiACpFYUDwc+PzKwbcDzQNrxIIvnntrc6Rh1BBEht+GiymX0V+EdiJ4RbAfeGmkpERCJRb1Fw9yeCp68D3wg3jmQDjW+L5K9Ueh8dNLMHgqZ11evUrK4J0/h25o3vUhV1BBEgtXMKa4PtXgm6nEJsTgVpojS+nXk3dji8TZhINFIpCp+7+0+AJ4CFZtaLRrSnEJHaFc3TnFWSHVI50WwA7v6sma0FpgGnhZpK6jTokYXMGdGX0TNXMX3pF30El4wpZXXVLm57ujK+bvyQ7tx4/mkUjZobX1d6VlumDP0mw8qXUfH29vj6zQ9czbQl79O+xf7M/EJEJOtY7L6xOjYw6+XuyxOWjwcGu/vTYYerT3FxsVdWVta/YRNTNGpuuNNlaiKcjCuadw6bL18VdYzG0RzNOcfMlrt7cbLXUrn6aLmZXUBstrRUjixEpIFKC1KZt0okfKn0PnoGOB1YCRwMVjsQ+ZFCvmrbunnUESTNpvTcHHUEESC1b/7FQBevb5xJMmbp2AFRR5A0G7aiSIVBskIqVx+tAU4JO4ikbuL8DVFHkDSr2KF25ZIdUikKJwPrzGyemb1U/Qg7mNRuUsXGqCOISBOVyvDRL8IOISIi2SGVq4/+kLhsZhcBZcAfkr9DRBoqZy9HlSYnpUtMzew84EbgeuBd4MUwQ0ndZg+/KOoIkmbTPjiRMesK48tPnPcu3dt8yvl/6BJfV1a4kwldtzBo8Rms2f0VANo2P8DSfuuZuKkdk/7YLr7t7N6xIcZr3uwEQPsW+3njkrcz8UuRHFdrUTCzzsSOCMqA/wWeJXazW/8MZRPJGzd2+EvS/kfJjiDm9Nl0xLqRZ2xj5Bnban3/xE3tjnhNJJm6TjS/DVwKDHL3i9z9Eb64T0EidM2ji6KOIDkmWcEQSaauonAtsBV41cx+ZWalqDuqSE4qee3sqCNIjqh1+Mjd/wv4LzNrCQwG7gHamtljwCx3fyUjCUXkqG3f1yy8nYfdK0u9lTKq3vsU3P0Td5/m7tcAhcBbwE9DTya1uru0U9QRRKSJSuXmtTh3/6u7T3b30rACSf1GDuwcdQTJMd3a7I06guSIBhUFyQ4l4xZEHUFyTLIrlkSSUVHIQdv37Is6guSY0WvbRx1BcoSKgkgemF51UtQRJEeoKOSgbu3VUVNEwqGikIPmjOgbdQQRaaI0vWYOGv3o00zouiXqGJJDllyyLuoIkiN0pJCDND4sDbV693FRR5AcoaIgkgdue6tj1BEkR6goiIhInIpCDtL4sIiEJZKiYGabzWy1ma00s8pg3YlmNt/MNgY/vxpFtlyg8WFpqPFdqqKOIDkiyiOF/u7ew92Lg+VRQIW7dwIqgmVJQuPD0lDJJvARSSabho8GA08Fz58Cvh1dFJGmpWjeOVFHkBwR1X0KDrxiZg78h7tPBtq5+9bg9T8Dmj9QRMKdr0FzNRwhqqJwkbtvMbO2wHwzqzGjuLt7UDCOYGa3A7cDnHbaaeEnzUIaHxaRsEQyfOTuW4Kf24FZQAmwzcxOBQh+bq/lvZPdvdjdiwsKCjIVOatofFgaqrRgd9QRJEdkvCiYWUsza139HLgMWAO8BNwSbHYL8JtMZ8sVGh+WhprSc3PUESRHRHGk0A5YZGb/AywF5rr774AHgIFmthEYECyLSBoMW1EUdQTJERk/p+DufwLOTbJ+J6BpPkVCULFD7dYlNdl0SaqkSOPDIhIWFYUcpPFhEQmLikIO0viwNNTmy1dFHUFyhCbZCUuIN9xU7NDVR9Iw0z44UZcyS0p0pCCSB8asK4w6guQIFQUREYlTUchBGh8WkbCoKOSgaR+cGHUEyTFPnPdu1BEkR+hEc0gu/MNZbPnsywDM7r0RgGve7BR//e7TtzHyjG2UvHY22/c1A6Bbm73M6bOJ0WvbM73qpPi2Sy5Zx+rdx8XnUWjfYr9OGkqDdG/zadQRJEeYe9JmpDmhuLjYKysro46R1MRfPcnIM7ZFHUMEiPXL0rBjEnnaOtvMlidMcFaDjhRCooIgkgM0V8MRdE4hJCWvnR11BBGRBlNRCEn1eQKRbFBWuDPqCJIjVBRE8sCErluijiA5QkUhJN3a7I06gkjcoMVnRB1BcoSKQkjm9NkUdQSRuDW7vxJ1BMkRKgohGb22fdQRREQaTEUhJIk3n4lErW3zA1FHkByhoiCSB5b2Wx91BMkR+XvzWpg3rQCgOQ8ke0zc1E43VEpK8rcohGzJJeuijiASN+mPKgoZF/YXz5DumNbwUUhW7z4u6ggiIg2mI4WQ3PZWRzUgk6yyelfsi0q6uvUCjO9SpY69TYyKgkgeSPyCkuzLSrIT0RO6bjniTuh2LfYc8X51YG1aNHwkIiJxKgohGd+lKuoIIiINpqIQEo2zSr4oLdgddQRJIxWFkBTN030Kkh+m9NwcdQRJo7w+0Xy0V1wk/sdfWrCbKT03M2xFERU72tC+xf7M/UJEIjRsRZEKQxOSt0Vh4qZ2R3XFBSS/ikP/OCTfVOxoE3UESaO8HT6a9Md2UUcQEck6eXukICLpNe2DExmzrjC+/MR579K9zaec/4cu8XVlhTuZ0HULgxafEZ/joW3zAyztt56Jm9rV+LI2u/dGIHazne6DyBwVBRE5KtX/Yd/Y4S9Jr7pL9h96skmoRp6xTf2ZskDeDh9VfwsREZEvZF1RMLMrzOwdM9tkZqOiziMi0br7dB09ZFJWFQUz+xLw/4ArgS5AmZl1qftdjZPYFExEspeGlDIrq4oCUAJscvc/uft+YAYwOOJMIhKhktfOjjpCXsm2otAe+CBhuSpYJyJ5qvoGU8mMnLv6yMxuB24PFj82s3cauauT7Z/53zTFSqeTIStzQfZmU66Gyblc9s8ZTlJTlv5+jTmaXF+v7YVsKwpbgA4Jy4XBujh3nwxMPtoPMrNKdy8+2v2kW7bmguzNplwNo1wNk2+5sm34aBnQycw6mtmXgb8FXoo4k4hI3siqIwV3/9zMhgPzgC8BT7r72ohjiYjkjawqCgDu/jLwcgY+6qiHoEKSrbkge7MpV8MoV8PkVS5z9zD2KyIiOSjbzimIiEiE8roomNk/mdkqM1tpZq+Y2deizgRgZv9iZm8H2WaZ2QlRZwIws+vNbK2ZHTKzyK/GyNaWKGb2pJltN7M1UWepZmYdzOxVM1sX/BneHXUmADNrYWZLzex/glz/N+pMiczsS2b2lpnNiTpLNTPbbGarg/+3KtO9/7wuCsC/uPs57t4DmAPcG3GeavOBbu5+DrABGB1xnmprgGuB16MOksmWKI1QDlwRdYjDfA78yN27AL2BO7Pk92sfcKm7nwv0AK4ws97RRqrhbuDI2bii19/de+TDJakZ5e6JM463BLLiBIu7v+LunweLbxK7XyNy7r7e3Rt7s2C6ZW1LFHd/HTiyh3SE3H2ru68Inu8h9h9d5N0CPObjYLFZ8MiKf4dmVghcDTwRdZZMyuuiAGBm48zsA+AmsudIIdGtwG+jDpGF1BKlkcysCDgPWBJxFCA+RLMS2A7Md/esyAU8DPwEOBRxjsM58IqZLQ86PKRVky8KZrbAzNYkeQwGcPex7t4BmAoMz5ZcwTZjiR32T82mXJK7zKwV8CJwz2FHypFx94PBEG4hUGJm3SKOhJkNAra7+/KosyRxkbv3JDZ0eqeZXZzOnWfdfQrp5u4DUtx0KrH7I34eYpy4+nKZ2VBgEFDqGbxuuAG/X1GrtyWK1GRmzYgVhKnuPjPqPIdz94/M7FVi52OiPkl/IfAtM7sKaAG0MbP/dPfvRpwLd98S/NxuZrOIDaWm7Txfkz9SqIuZJU6qMBh4O6osiczsCmKHrd9y971R58lSaonSAGZmwBRgvbs/FHWeamZWUH11nZkdBwwkC/4duvtody909yJif7d+nw0Fwcxamlnr6ufAZaS5gOZ1UQAeCIZGVhH7zc2Ky/SAR4HWwPzgsrPHow4EYGZDzKwK6APMNbN5UWUJTsRXt0RZDzyXLS1RzGw6sBg408yqzGxY1JmIffP9HnBp8HdqZfAtOGqnAq8G/waXETunkDWXf2ahdsAiM/sfYCkw191/l84P0B3NIiISl+9HCiIikkBFQURE4lQUREQkTkVBRETiVBRERCRORUHyRnBJ7crDHofM7Mo63tM36N65MriOvrbtPg5+FmWqO6qZDc2Wzr7SdKgoSN5w91lBZ8keQVuFfwcWErvXoTY3AROC93yaiZypCLrEDgVUFCStVBQkL5lZZ2INEL8HXJzYL9/MHg2+hd8G3AD8k5lNNbNWZlZhZiuCfvZ19oMys67BXAErLTY3Ricz+7GZ3RW8PtHMfh88v9TMpgbPLzOzxcHnPB/0K6ruo//PZrYCKAOKgan1HcWINISKguSdoAfQNGLzC7xf23bu/gSx1hk/dvebgM+AIUEzsv7AvwbtI2rzfWBScFRSTKyT60Kgb/B6MdAqyNMXeN3MTgb+ERgQfE4l8PcJ+9zp7j3d/T+D127KtqMYyW1NviGeSBL/BKx192cb+D4DxgddKQ8Ra9XdDvhzLdsvBsYGfflnuvtGM1sO9DKzNsQmmFlBrDj0Be4iNgFOF+CNoN58OdhPtYZmFmkQFQXJK2bWD/gO0DNh9efUPGpuUcvbbwIKgF7ufsDMNtexLe4+zcyWEJuo5WUzu8Pdf29m7xI7H/DfwCpiRx1nEOvhdDqx/j9ltez2k7p+fSJHS8NHkjfM7KvAr4Gbg9nHqr0HdDGz5kHHztJadnE8sR77B8ysP/D1ej7vG8Cf3P3fgN8A5wQvLQT+gVi744XEhpneClqkvwlcaGZnBPtoGZz/SGYPscaJImmjIwXJJ98H2gKPHXYqYALwHLEWxO8Cb9Xy/qnAbDNbTWw8v74WzzcA3zOzA8SGmMYH6xcCY4HF7v6JmX0WrMPddwRzaUw3s+bB9v9IbK7uw5UDj5vZp0AfnVeQdFCXVBERidPwkYiIxKkoiIhInIqCiIjEqSiIiEicioKIiMSpKIiISJyKgoiIxKkoiIhI3P8H+sRBntOUBhwAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"rnd_numbers2 = np.random.normal(1, 2, 1000)\n",
"\n",
"\n",
"plt.hist(rnd_numbers, \n",
" bins=13, \n",
" range=(-3,5), # <-- Achtung im Gegensatz zur range-Anweisung ist \n",
" # das Intervall hier geschlossen [-3, 5]\n",
" histtype='step', # Ändert den Balkentyp in Stufen\n",
" linestyle='dashed',\n",
" label='Verteilung 1'\n",
" )\n",
"\n",
"plt.hist(rnd_numbers2, \n",
" bins=13, \n",
" range=(-3,5),\n",
" alpha=0.5, # Ändert die Transparenz der Balken \n",
" label='Verteilung 2'\n",
" )\n",
"\n",
"plt.legend()\n",
"plt.xlabel('Zufallswert')\n",
"plt.ylabel('Anzahl der Einträge')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Bei Histogrammen solltet ihr immer darauf achten, dass euer binning sinnvoll gewählt ist. Weder zu viele noch zu wenig Bins führen zu einer sinnvollen Darstellung eurer Daten."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T13:15:48.283946Z",
"start_time": "2019-11-04T13:15:47.327389Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"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.hist(rnd_numbers, \n",
" bins=100, \n",
" range=(-3,3),\n",
" label='Zu viele bins'\n",
" )\n",
"\n",
"plt.legend()\n",
"plt.xlabel('Zufallswert')\n",
"plt.ylabel('Anzahl der Einträge')\n",
"plt.show()\n",
"\n",
"plt.hist(rnd_numbers, \n",
" bins=3, \n",
" range=(-3,3),\n",
" label='Zu wenig bins'\n",
" )\n",
"\n",
"plt.legend()\n",
"plt.xlabel('Zufallswert')\n",
"plt.ylabel('Anzahl der Einträge')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nach dem wir jetzt die verschiedenen Plottypen mit ihren unterschiedlichen Optionen kennen gelernt haben möchten wir diese natürlich auch speichern können. Dies können wir auf zwei unterschiedliche Arten machen.\n",
"\n",
"Entweder ihr macht mit eurer Maus einen Rechtsklick auf eure Grafik und wählt \"Grafik speichern als\" aus, oder ihr verwendet statt der `plt.show`- die `plt.savefig`-Anweisung dafür."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=task>\n",
" \n",
"#### Aufgabe 6.: Erstellen einer gauss'schen Wahrscheinlichkeitsdichte:\n",
"\n",
"Im folgenden wollen wir ein Plot mit einer gauss'schen Wahrscheinlichkeitsdichte erstellen. Geht hierfür wie folgt vor:\n",
"\n",
"1. Erstellt euch 500000 pseudo-Zufallszahlen, welche einer Gaußverteilung mit $µ=5$ und $sigma=2$ folgen.\n",
"2. Tragt die Zufallszahlen in ein Histogramm ein und normiert dieses so dass die Gesamtfläche eins beträgt. **Tipp: `plt.hist` hat hierfür einen optionalen Parameter benutzt die Help oder das Internet um herrauszufinden welcher es ist.**\n",
"3. Wählt ein geeignete `range` und ein `binning` von 100 für das Histogram.\n",
"4. Plottet anschließend die dazugehörige Gaußverteilung als Funktion. Geht dabei wie folgt vor:\n",
" 1. Erstellt eine Gaußfunktion. *Erinnerung:* eine Gaußverteilung ist gegeben durch:\n",
" $$g(x, \\mu, \\sigma) = \\frac{1}{\\sqrt{2 \\pi} \\, \\sigma} \\exp\\bigg( \\frac{ -(x - \\mu)^2}{2 \\sigma^2}\\bigg) $$\n",
" **Tipp:** Das Numpy package beinhaltet die Zahlen pi und die Exponentialfunktion bereit. Ihr könnt diese über `np.pi` und `np.exp()` verwenden. \n",
" 2. Erstellt euch eine liste von x-Werten in der von euch gewählten range in 0.1er Schritten. Verwendetet hierfür die `range`-Funktion zusammen mit der listcomprehension.\n",
" 3. Erstellt den plot.\n",
"Das Ergebnis sollte wie folgt aussehen:\n",
"\n",
"<figure class=\"image\">\n",
"<img src=\"images/MaterialPythonkurs092018/Gaußverteilung.png\" alt=\"{{ Gaussverteilung }}\" width=70%>\n",
"</figure>"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-25T10:59:12.527496Z",
"start_time": "2020-08-25T10:59:11.830137Z"
}
},
"outputs": [
{
"data": {
"image/png": "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vo6JiSE+Pp69e/eWmGf16tXMnj2b2NjYou28886joKCAzZs3l3hNESEpKanUawaaDZw1xgRUzv5t7Js3BQryiW53Jol9Rjkd6YRxxdag7mX3s3vOXWTvWMf+BU9Te/CdlW6adVXwzjvvMG3aNObPn0/r1q2PeC0kJOSosUO5ubnHveadd97Jf//7X6ZNm0arVq2IiorisssuIycnp0yZunTpwubNm/nkk09YuHAhl19+OQMGDOC9994D3NP0hw8fTnx8/FHjPq655hqSk5N5+umnadq0KREREfTs2fOo9w4LCztiX0QoKCgoMU96ejo333wz48aNO+q1Jk2a+HXNQLMixRgTMHv27GHvew+i2RlENGxP7UHjEaleHbbhdZpSZ+hk9v7rfjLXLyYlMYnEM69yOla1smrVKq6//nqmTp3Keeedd9TrderUIS0tjYyMDGJiYorOOZ5vv/2Wa6+9losvvhhw/5DfsmWLT9ni4+MZPnw4w4cP57LLLmPgwIEcOHCAmjVr8te//pU1a9bw/fffExkZedR7P/fccwwaNAiA7du3s3//fp/eu7guXbqwbt06WrVqVa7rVCQrUowxAXP99deTn7KH0Br1qXPJvUhouNORHBHV7FRqnXcbyZ/MIGXpXMLqtSCm7RlOx6oW9u/fz9ChQ+nbty9XXnklu3fvPuJ1l8tFjx49iI6O5p577mHcuHEsW7aM2bNnH/farVu35oMPPmDw4MGICH//+9996lGYPn069evXp3PnzoSEhPCvf/2LpKQkEhMTefXVV3nuuef497//jYgU5S68DdO6dWveeOMNunXrRmpqKhMnTiQqKsqn701xd999N6effjpjx47lhhtuICYmhnXr1vHf//6XmTNnluvagVK9fsUxxlSoJ554goiG7ah76f24oqv34lexnc4l/rRLCK/fmoj6rY9/ggmI+fPns3XrVhYsWED9+vWP2rp3707NmjV58803WbBgAR07duTtt98umup7LNOnT6dGjRr06tWLwYMHc95559GlS5cyZ4uLi+Oxxx6jW7dudO/enS1btrBgwQJCQkJYvHgx+fn5XHTRRUfknTZtGgAvv/wyBw8epEuXLlx11VWMGzeOunXr+vttAtxjTRYvXsyvv/5Knz596Ny5M/fddx8NGjQo13UDSWxOv39EJB5ISUlJIT4+3uk4xjim+GBQ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\n",
"text/plain": [
"<Figure size 600x400 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"rnd = np.random.normal(5, 2, 500000)\n",
"\n",
"# Histogram:\n",
"plt.figure(dpi=100)\n",
"plt.hist(rnd, bins=100, range=(0, 10), density=True, label='Zufallszahlen')\n",
"\n",
"# Gaussfunktion:\n",
"def gauss(x, mu, sig):\n",
" return 1/((2 * np.pi)**0.5 * sig) * np.exp(-(x - mu)**2/(2*sig**2))\n",
"\n",
"# x-Werte mittels listcomprehension:\n",
"xdata = [i/10 for i in range(0, 100, 1)]\n",
"\n",
"# Plot:\n",
"plt.plot(xdata, [gauss(x, 5, 2) for x in xdata], ls='dashed', color='k', label='gauss(x, 5, 2)')\n",
"plt.legend()\n",
"plt.ylabel('Wahrscheinlichkeitsdichte P')\n",
"plt.xlabel('x-Werte')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fitten von Messdaten:\n",
"\n",
"### Methode der kleinsten Quadrate\n",
"\n",
"Im folgenden wolllen wir die **Methode der kleinsten Quadrate (Least Squares)** näher beleuchten. Diese Methode wird oft benutzt um eine Funktion $\\lambda(x; \\ $**$\\phi$**$)$ mit den Funktionsparametern $\\mathbf{\\phi}$ an die gemessenen Punkte **$(x,y)$** anzupassen. Um jedoch die **Methode der kleinsten Quadrate** zu verstehen wollen wir sie erst einmal anschaulich und mathematisch herleiten. Dabei stüzen wir uns im folgenden auf eine Herleitung aus dem Buch **\"Statistical Data Analysis\"** von **Glen Cowan**.\n",
"\n",
"In unserem Grundpraktikum haben wir bereits gelernt, dass Messwerte durch Zufallszahlen $x_i$ representiert werden und einer gewissen **Wahrscheinlichkeitsdichtefunktion (probability density function)** $f(x)$ unterliegen. \n",
"\n",
"<figure class=\"image\">\n",
"<img src=\"images/MaterialPythonkurs092018/PorbDensFun.png\" alt=\"{{ Beispiel PDF }}\" width=70%>\n",
"</figure>\n",
"\n",
"\n",
"Eine **pdf** gibt an mit welcher **Wahrscheinlichkeit ein Wert $x_i$** innerhalb eines **infinitesimalen Intervals $\\text{d}x_i$** zu finden ist. Des Weitren gilt das die Gesamtwahrscheinlichkeit gegeben ist durch $\\int_S f(x) dx = 1$. \n",
"\n",
"Nun betrachten wir folgendes Beispiel: In unserem Labor messen wir genau drei mal die Raumtemperartur T. Auch hier gilt, dass unsere Messung der einzelnen $T_i$ einer gewissen **Wahrscheinlichkeitsdichtefunktion** folgen. Betrachtet nun das folgende Bild; welche **Wahrscheinlichkeitsdichtefunktion** passt besser zu den gezeigten Daten und **Warum?**\n",
"\n",
"<figure class=\"image\">\n",
"<img src=\"images/MaterialPythonkurs092018/ProbMaxTemp.png\" alt=\"{{ Beispiel PDF }}\" width=100%>\n",
"</figure>\n",
"\n",
"Die rechte Verteilung spiegelt unsere Messdaten besser wieder. Dies können wir auch mathematisch ausdrücken. Für $N$ voreinander unabhängige Zufallszahlen bzw. Messpunkte (in unserem Beispiel $N = 3$) ist die Gesamtwahrscheinlichkeit gegeben durch das Produkt der einzelnen Wahrscheinlichkeitsdichten $f(x_i, \\theta)$ multipliziert mit dem jeweiligen infinitesimalen element $dx_i$\n",
"\n",
"$$\\prod_{i = 1}^{N} f(x_i,\\theta) \\ dx_i \\text{ für alle } x_i \\text{ in } [x_i, x_i + dx_i]$$\n",
"\n",
"wobei $x_i$ in unserem Beispiel den Messpunkten $T_i$ und $f(x_i,\\theta)$ unserer Gausverteilung mit $\\theta = (\\mu, \\sigma)$ entspricht. Sprich sofern unsere Werte gut von der jeweiligen **Wahrscheinlichkeitsdichtefunktion** repräsentiert werden, d.h. wir die richtigen Parameter $\\theta$ gewählt haben (wie im rechten oberen Plot), gilt \n",
"\n",
"$$ \\prod_{i = 1}^{N} f(x_i,\\theta) dx_i$$ \n",
"\n",
"ist **maximal**. Da die einzelnen $dx_i$ von unseren Parametern $\\theta$ unabhängig sind gilt die gleiche Argumentation auch für \n",
"\n",
"$$ \\mathcal{L}(x_1 ... x_N; \\theta_1 ... \\theta_N) = \\prod_{i = 1}^{N} f(x_i,\\theta)$$ \n",
"\n",
"wobei $\\mathcal{L}(x_1 ... x_N; \\theta_1 ... \\theta_N)$ die sogenannte **likely hood function** darstellt."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wie kommen wir nun von der **likely hood function** auf unsere **Methode der kleinsten Quadrate** und dem fitten einer Funktion $\\lambda(x; \\ $**$\\phi$**$)$ an die gemessenen Punkte **$(x,y)$**? Dazu brauche wir noch einen Zwischenschritt. Oftmals ist es einfacher statt die **likely hood function** zu maximieren die so genannte **log likely hood function**\n",
"\n",
"$$ \\log( \\mathcal{L}(x_1 ... x_N; \\theta_1 ... \\theta_N)) = \\sum_{i = 1}^{N} \\log(f(x_i,\\theta))$$\n",
"\n",
"zu maximieren. Dies ist im Grunde das Gleiche, da der logarithmus eine monoton-steigende Funktion ist. Auch in unserem Fall der **Methode der kleinsten Quadrate** benötigen wir die **log likely hood function**. \n",
"\n",
"Stellt euch nun vor wir haben eine Messung mit $N$ voneinander unabhängigen Messpunkten (x,y). Des Weiteren nehmen wir an, dass alle $x_i$ ohne Fehler sind und das unsere $y_i$ gaußförmig um einen unbekannten Wahrenwert $\\lambda_i$ (sprich $\\lambda_i$ entspricht dem Erwartungswert $\\mu_i$ unserer Gaußverteilung) mit einer bekannten Varianz $\\Delta y_i^2$ verteilt sind (Diese Annahme lässt sich mit dem zentralen Grenzwertsatz begründen, so lange der Fehler sich aus der Summe kleinen Fehlern zusammensetzt). Die dazugehörige **likely hood function** ist dann gegeben durch:\n",
"\n",
"$$ \\mathcal{L}(y_1 ... y_N; \\lambda_1 ... \\lambda_N, \\Delta y_1 ... \\Delta y_N)) = \\prod_{i = 1}^{N}\\frac{1}{\\sqrt{2 \\pi \\Delta y_i^2}} \\cdot \\exp \\bigg( \\frac{ -(y_i - \\lambda_i)^2}{2 \\cdot \\Delta y_i^2}\\bigg)$$\n",
"\n",
"Beziehungsweise die **log likely hood function** mit $\\lambda_i = \\lambda(x_i; \\phi)$ ergibt sich zu\n",
"\n",
"$$ \\log(\\mathcal{L}(y, \\theta)) \\approx -\\frac{1}{2} \\sum_{i = 1}^{N}\\bigg( \\frac{ (y_i - \\lambda(x_i; \\phi))^2}{\\Delta y_i^2}\\bigg)$$\n",
"\n",
"wobei die konstanten Terme welche nicht von unserer Funktion $\\lambda(x_i; \\phi)$ abhängen vernachlässigt worden sind. Durch den Faktor $-\\frac{1}{2}$ ist das maximieren dieser **log likely hood function** gleich dem minnimieren von\n",
"\n",
"$$ \\chi(\\phi_1 ... \\phi_N)^2 = \\sum_{i = 1}^{N} \\frac{ (y_i - \\lambda(x_i; \\phi))^2}{\\Delta y_i^2}$$\n",
"\n",
"Diese Funktion ist unsere gesuchte **Methode der kleinsten Quadrate**. Mit ihrer Hilfe kann eine beliebige Funktion $\\lambda(x; \\phi)$, welche liniear in ihren Parametern $\\phi$ ist, an unsere Messdaten $(x,y\\pm\\Delta y)$ gefittet werden. Dabei stellt der Fitprozess selbst lediglich ein Minimierungsproblem dar. Im folgenden sind unsere Annahmen noch einmal grafisch in einem Beispiel dargestellt.\n",
"\n",
"<figure class=\"image\">\n",
"<img src=\"images/MaterialPythonkurs092018/LeastSquare.png\" alt=\"{{ Least Square Beispiel }}\" width=100%>\n",
"</figure>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Es gibt verschiedene Arten von Algorithmen um Minimierungsprobleme zu lösen. Wie diese genau Aufgebaut sind lernt ihr in anderen Progrmmierkursen wie zum Beispiel *Programmieren für Physiker* oder *Computer in der Wissenschaft*. Zum Glück haben uns bereits in Python andere Menschen diese Arbeit abgenommen und wir können aus dem Package `scipy.optimize` die Funktion `curve_fit` verwenden. \n",
"\n",
"Hierbei stellt curve_fit eine Methode dar, Fit-Funktionen nach der obigen vorgestellten Methode der *kleinsten Quadraten* zu bestimmen. Dies hat zur Folge, dass lediglich die y-Fehler eurer Messwerte für den Fit verwendet werden können. "
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T14:03:03.767521Z",
"start_time": "2019-11-04T14:03:02.583918Z"
}
},
"outputs": [],
"source": [
"from scipy.optimize import curve_fit"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Gucken wir uns einen Fit ohne Messfehler an um die Funktion etwas näher kennen zu lernen."
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T14:04:02.759738Z",
"start_time": "2019-11-04T14:04:02.714523Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10.098259801145538\n",
"0.15780378609977405\n",
"Widerstand R 10.10 +/- 0.16 Ohm\n"
]
}
],
"source": [
"# Und jetzt fitten wir:\n",
"para, pcov = curve_fit(Spannung, # <-- Funktion die an die Messdaten gefittet werden soll\n",
" strom, # <-- gemessenen \"X\"-Werte\n",
" spannung # <-- gemessenen \"Y\"-Werte \n",
" )\n",
"\n",
"print(para[0])\n",
"print(pcov[0,0]**0.5)\n",
"\n",
"print(f'Widerstand R {para[0]:.2f} +/- {pcov[0,0]**0.5:.2f} Ohm')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ihr seht `curve_fit` gibt uns zwei unterschiedliche Listen zurück. Die erste Liste `para` beinhaltet die berechneten Fitparameter. `pcov` hingegen ist eine [Kovarianzmatrix](https://de.wikipedia.org/wiki/Kovarianzmatrix) auf deren Diagonalen ihr die Varianzen ($\\sigma^2$) der einzelnen Parameter findet (auf der Nebendiagonalen befinden sich die Kovarianzen). D.h. bei einer Funktion mit drei Parametern `def f(x, p1, p2, p3):` würde `para` und `pcov` allgemein so aussehen:\n",
"\n",
"```\n",
"para = [p1, p2, p3]\n",
"pcov = [[cov_1,1, cov_1,2, cov_1,3], \n",
" [cov_2,1, cov_2,2, cov_2,3],\n",
" [cov_3,1, cov_3,2, cov_3,3]]\n",
"```\n",
"wobei `cov_i,i` wie bereits erwähnt die einzelnen Kovarianzen bzw. Varianzen sind. Aber was genau macht jetzt curve_fit eigentlich um auf diese Werte zu kommen? Wie bereits erklärt basiert `curve_fit` auf der Methode der kleinsten Quadrate. D.h. die Funktion probiert etliche verschiedene Varianten eurer Parameter durch bis es die Kombination gefunden hat bei der das $\\chi^2$ klein wird. Gucken wir uns doch mal ein paar Zwischenschritte für unser Beispiel des ohm'schen Widerstandes an: \n",
"\n",
"<figure class=\"image\">\n",
"<img src=\"images/MaterialPythonkurs092018/Fitting_gif.gif\" alt=\"{{ Least Square Beispiel }}\" width=100%>\n",
"</figure>\n",
"\n",
"Nach dem wir nun wissen, was genau `curve_fit` macht wollen wir unser Resultat etwas schöner darstellen:"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T14:06:00.969312Z",
"start_time": "2019-11-04T14:06:00.676047Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA4D0lEQVR4nO3dd3hUZfbA8e+bkBBCFwKiQQOCtDQgELo0kQgqKoosFlZsIEYREPjZYC2LIqDAgg0FXWRdcRVWqSJIcRESCL0KI4IIIUgoIZByfn/cYUxIm0AmU3I+zzNPZu7ccm4yOXnz3vee14gISimlfI+fuwNQSinlGprglVLKR2mCV0opH6UJXimlfJQmeKWU8lHl3B1ATjVr1pSwsDB3h6GUUl4jMTHxuIiE5PeeRyX4sLAwEhIS3B2GUkp5DWPMLwW9p100SinlozTBK6WUj9IEr5RSPsqj+uDzk5GRwaFDh0hPT3d3KEqVKUFBQYSGhhIQEODuUHyazWZj4AP9mPXp55T0IBOPT/CHDh2icuXKhIWFYYxxdzhKlQkiQkpKCocOHaJevXruDsenPTP0UY4dSGDYU4/z1X+XlOi+Pb6LJj09nRo1amhyV6oUGWOoUaOG/ufsYgsXLmR70o+sG5vN1o1rWLRoUYnu3+MTPKDJXSk30N8710pPTyd+yCCmDkijSjBMHZBG/JBBJfpH1SsSfHHZbDY6d4zFZrO5OxSllMrXhDf+TmSdU/SMsl7HRUN47VTeenN8iR3DJxN8zj4tpZTyRDOmT2F4j7Rcy4bfksaM6VNK7Bg+l+Bd0adljOH+++93vM7MzCQkJITevXtf8b5L2sqVK/nxxx/dHYZDnz59aNOmjVPr2mw2KlSoQHR0NNHR0TzxxBMFrtu3b1/2799f6P4qVapUrFidFRYWRkREhCPOwr7fAwcOZN68eXmW22w2wsPDi3XcCxcu0KlTJzIzM4sds/I8g4fEM3FpcK5lE5cEM3hIfIkdw+NH0RTHxT6taZf0aW3duZ+goKDL3m/FihXZtm0b586do0KFCixbtoxrr722BCMvGZmZmaxcuZJKlSrRrl07d4fDyZMnSUxMpFKlSuzfv5/69esXuc0NN9xAUlJSoets376drKwsp/bnKitWrKBmzZqldrzMzEwCAwPp1q0bn3/+OQMGDCi1YyvXGDlqDOEfv8+ipDTiomFhEmw7WpW5z40usWP4VAvelX1at956K99++y0Ac+fOpX///o73zp49y8MPP0zr1q1p3rw58+fPB6xE1Lp1a6Kjo4mMjGTv3r2cPXuWXr16ERUVRXh4OJ9//jkbNmzgrrvuAmD+/PlUqFCBCxcukJ6e7khiP//8Mz179qRly5Z07NiRXbt2AVYL8YknniA2NpZ7772Xd999l8mTJxMdHc3q1atJTk7m7rvvplWrVrRq1Yq1a9fmOTebzUbHjh1p0aIFLVq0cLRIV65cmeu/lKFDhzJr1iwARo8eTdOmTYmMjGTEiBH5fs/+85//cNttt3Hffffxr3/960q+/bnMmTOHO+64w/F67ty5REREEB4ezqhRo3Kt+/zzzxMVFUWbNm04evQoYH3P4uPjadeuHfXr18/Vwp4wYQKtWrUiMjKSl19+2emYCvr5AKxatSrfY12UlZXFyJEjHcd97733AOv737FjR26//XaaNm0KWP8RzZkzx+m4lOcKCgpi6oyPiP8smNQ0iJ8TzJTpM6+oMZqHiHjMo2XLlnKpHTt25FlWkDq1qsmalxCZ8+dj9UvINbWrO72P/FSsWFE2b94sd999t5w7d06ioqJkxYoV0qtXLxERGTNmjHz66aciIvLHH39Iw4YN5cyZMzJ06FD55z//KSIi58+fl7S0NJk3b5488sgjjn2fPHlSMjIypF69eiIiMnz4cImJiZE1a9bIypUr5b777hMRka5du8qePXtERGTdunXSpUsXERF56KGHpFevXpKZmSkiIi+//LJMmDDBsf/+/fvL6tWrRUTkl19+kcaNG+c5v7Nnz8q5c+dERGTPnj1y8eeQ8xxFRJ588kn5+OOP5fjx43LjjTdKdna245zz0717d1m1apXs3r1bwsPDi/w+HzhwQIKDgyU6Olo6deokq1atyne9Tp06yZYtW0RE5PDhw1K3bl05duyYZGRkSJcuXeSrr74SERFAFixYICIiI0eOlFdeecXxPevbt69kZWXJ9u3b5YYbbhARkSVLlsijjz4q2dnZkpWVJb169ZIffvghz/Gvv/56CQ8Pl6ioKGndurWIFP7zye9YBw4ckGbNmomIyHvvveeILT09XVq2bCn79++XFStWSHBwsOzfv99x7MzMTKlZs2aR38uSUpzfP3V57ujVXZpc6yd9eve4rO2BBCkgp7q0i8YYUw34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/zo4YQ2PpulzHpHcQRO8U/z9/R2VA6Ojo7HZbI5iXjabjc8++8wtcbmiWmJCQoJjKGhhlSlnzZpFSEgI0dHRNG7cmMmTJ5fI8Z9//nnq1q2b59zOnz9Pv379aNCgAbGxBdf6f/jhh6lVq1aeO2ZPnDjBzTffTMOGDbn55pv5448/LjvG8ePHF1kP5sCBA8TGxtKgQQP69evHhQsX8qyTkpJCly5dqFSpEkOHDs313oULF3jssce48cYbady4MV9++aXT8Y0dO9ZxV7VyoUML4Jum1g1L1/e3+ts9jCZ4J1SoUIGkpCTHIywszJH4SjrBX7zRx11iYmKYMsWqR11U6eF+/fqRlJTE2rVree211/j111+v+Pi33XYb69evz7N85syZVK9enX379jFs2LA8RcUuGjhwIIsXL86zfPz48XTr1o29e/fSrVs3xo8vvADd2LFjHYXVLrVkyRJ69OhR6PajRo1i2LBh7Nu3j+rVqzNz5sw86wQFBfHKK6/km4xfe+01atWqxZ49e9ixY8dl37ylXEAE1vSDVXdAQGXovhrafGR10XgYTfCX6WILc/To0axevZro6GgmT55MWloa9957L02bNuXOO+8kNjaWhIQEwKo50rZtW1q0aME999zjuGMyLCyMUaNG0aJFC7744gs++OADWrVqRVRUFHfffTdpaVZtnQMHDjhuwrl4g9RFzlRBrFSpEiNHjqRZs2Z0796d9evX07lzZ+rXr8+CBQuAPytI2my2PJUpC1KjRg0aNGjAkSNHruybCrRp04Y6derkWT5//nweeughwKoFv3z58nxv++/UqVO+N0fl3P6hhx7i66+/vqz4Tp06xYULFxy1b/IjInz//ff07du30ONVrFiRDh065Hun9UcffcSYMWMA8PPzy7c08YkTJ+jTpw+RkZG0adOGLVu2ON7bsWOH42d78Q+2zWajcePGDBw4kBtvvJEBAwbw3Xff0b59exo2bJjvH1aVQ7b95jNj4KqWEP0mxG2CWh3cG1chvC/Bf9c572PPdOu9zLT8398/y3o//Xje95xw7tw5R/fMnXfemeu98ePH07FjR5KSkhg2bBjTp0+nevXq7Nixg1deeYXExEQAjh8/zquvvsp3333Hxo0biYmJyXUHaI0aNdi4cSP33Xcfd911Fxs2bGDz5s00adLE0fp7+umnGTx4MFu3bs2V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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(strom, \n",
" spannung, \n",
" ls='', \n",
" marker='d', \n",
" mfc='orange', \n",
" mec='k', \n",
" ms=7,\n",
" label='Messwerte aus A. 5 (ohne Fehler)'\n",
" ) \n",
"plt.plot(strom, \n",
" [Spannung(value, para[0]) for value in strom], \n",
" ls ='dashed',\n",
" color='orange',\n",
" label = f'Fitgerade mit R = {para[0]:0.2f} +/- {pcov[0,0]**(1/2):0.2f} ohm'\n",
" )\n",
"\n",
"plt.legend()\n",
"plt.ylabel('Spannung [V]')\n",
"plt.xlabel('Strom [mA]')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Das Ergebnis sieht bereits ganz gut aus, allerdings kennt hier unsere Funktion `curve_fit` die Fehler unserer Messwerte noch garnicht. Da dies sehr unphysikalisch ist lasst uns das ganze nochmal mit Unsicherheiten wiederholen: "
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T14:08:11.387120Z",
"start_time": "2019-11-04T14:08:11.137181Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA0M0lEQVR4nO3dd3iUZdb48e8hBFKohihoWBOK0lKAACJlpQqKDVHEsqD42kVZRUB5wdV1f25BVHaxoiiLuDYUkQCC8CK6CgmGXsXQS0B6Ekg5vz+eyZhAyhAymczkfK5rLmbup507JGeeued5zi2qijHGmMBTzdcBGGOM8Q5L8MYYE6AswRtjTICyBG+MMQHKErwxxgSo6r4OoKAGDRpodHS0r8Mwxhi/kZKSclBVI4taVqkSfHR0NMnJyb4Owxhj/IaIbC9umQ3RGGNMgLIEb4wxAcoSvDHGBKhKNQZflOzsbHbt2kVWVpavQzGmSgkJCSEqKorg4GBfh2LKqNIn+F27dlG7dm2io6MREV+HY0yVoKocOnSIXbt2ERMT4+twTBlV+iGarKwsIiIiLLkbU4FEhIiICPvk7OcqfYIHLLkb4wP2d+f/Kv0QjTHG+CNP3yC9WbLdL87gfS0oKIiEhAT3Iy0tjSuvvBKAtLQ0PvjgA5/EVatWrXLfZ3JyMiNGjABgyZIlfP/990WuN23aNCIjI0lISKBFixZMmjSpXI7/zDPP0Lhx47P6durUKQYPHkyzZs3o1KkTaWlpRW5/zz33cOGFF9KmTZtC7b/++it9+vShefPm9OnTh8OHD5c5xhdffJEZM2aUuM4vv/xCp06daNasGYMHD+b06dNnrbN8+XL371R8fDyzZs0qtR+eGDZsGJ988sk5b2cCjyV4D4SGhpKamup+REdHuxNfeSf43NzccttXWSQmJvLqq68CJSd4gMGDB5Oamsp3333HCy+8wM6dO8/7+Ndddx3Lly8/q33q1KnUr1+frVu3MnLkSEaPHl3k9sOGDWPevHlntb/44ov06tWLLVu20KtXL1588cUS43j22WeZNm1akcvmz59P3759S9x+9OjRjBw5kq1bt1K/fn2mTp161jpt2rQhOTmZ1NRU5s2bx/33309OTk6J/TD+Q1ULPUpr9wZL8GWUf4Y5ZswYvv32WxISEpg0aRIZGRnceuuttGrViptuuolOnTq5yy8sWLCAzp07065dO2655RZOnDgBOCUaRo8eTbt27fj4449566236NChA/Hx8dx8881kZGQAzllh586diY2NZdy4cYXi+fvf/06HDh2Ii4tjwoQJxcY8atQoWrduTe/evVm+fDlXXXUVTZo0Yfbs2YCT1AcMGEBaWhqvv/46kyZNIiEhgW+//bbYn0VERATNmjVj79695/dDBa644goaNWp0VvsXX3zB0KFDARg0aBCLFi0q8o+je/fuXHDBBSVuP3ToUD7//PMyxXfs2DFOnz5NZGSRpT8A5w/4m2++YdCgQSUeLywsjOrVnVHSrKysQh/pi+tHQWlpafTs2ZO4uDh69erFjh073MuWLl3KlVdeSZMmTdxn80uWLOH3v/89N9xwA02aNGHMmDHMmDGDjh07Ehsby88//+zxz8H4B/9L8AuvOvuxeYqzLCej6OXbpjnLsw6evcwDmZmZ7o/SN910U6FlL774It26dSM1NZWRI0cyZcoU6tevz/r163n++edJSUkB4ODBg/z5z39m4cKFrFy5ksTERF566SX3fiIiIli5ciW33XYbAwcOZMWKFaxatYqWLVu6z/4ee+wxHnzwQdasWVMoCS5YsIAtW7awfPlyUlNTSUlJYenSpWf14+TJk/Ts2ZN169ZRu3Ztxo0bx9dff82sWbMYP358oXWjo6N54IEHGDlyJKmpqXTr1q3Yn8+OHTvIysoiLi7urGWLFy8uNLyV/8gf4vLU7t27ady4MQDVq1enbt26HDp0yOPt9+/f7/6ZNWzYkP3795/T8fMtXLiQXr16lbjOoUOHqFevnjt5R0VFsXv37iLX/fHHH2ndujWxsbG8/vrr7m088eijjzJ06FBWr17NHXfc4R5aA9i7dy/Lli1jzpw5jBkzxt2+atUqXn/9dTZs2MD06dPZvHkzy5cv595772Xy5MkeH9v4B/uS1QP5QzSeWLZsGY899hjgfATPT3o//PAD69evp0uXLgCcPn2azp07u7cbPHiw+/natWsZN24cR44c4cSJE1x99dUAfPfdd3z66acA3HXXXe5higULFrBgwQLatm0LwIkTJ9iyZQvdu3cvFFuNGjXo168fALGxsdSsWZPg4GBiY2OLHdMuyX/+8x+WLl3Kxo0b+ec//0lISMhZ6/To0cPjn11FEZEivwBbs2YNd911FwD79u2jRo0avPzyywAsWrSIiIgI5s2bx913311usXTq1Il169axYcMGhg4dSv/+/Yv8ORblv//9L5999hng/D489dRT7mU33ngj1apVo1WrVoXezDp06OB+o2vatKl7qCk2NpbFixeXV7dMJeF/Cb73kuKXVQ8reXlIg5KXe5Gq0qdPH2bOnFnk8vDwcPfzYcOG8fnnnxMfH8+0adNYsmSJe1lRiUlVGTt2LPfff3+JMQQHB7u3r1atGjVr1nQ/zx/7PReDBw/mn//8J8nJyfTt25frr7+ehg0bFlpn8eLFjBw58qxtw8LCShzfP9Mll1zCzp07iYqKIicnh6NHjxIREeHx9hdddBF79+6lUaNG7N27lwsvvPCsdWJjY91vRs8++yzR0dEMGzas0DrLly/ntddeIzc3l/bt2wNw/fXX89xzz7nXiYiI4MiRI+Tk5FC9enV27drFJZdcUmJ8LVu2pFatWqxdu5bExESP+1Wc/P9bKHyVRsH28vgdMIXl/30VN7YeGuwMrRUsi17aNufD/4ZoKpnatWtz/Phx9+suXbrw0UcfAbB+/XrWrFkDOGPL3333HVu3bgWc4ZLNmzcXuc/jx4/TqFEjsrOzC12t0aVLFz788EOAQu1XX30177zzjntMf/fu3Rw4cKDc+1acxMRE7rrrLl555ZWzluWfwZ/5OJfkDk4Sfe+99wD45JNP6Nmz5zldp11w+/fee48bbrjhnI4PsG7dOlq0aEFQUBBBQUHuvhRM7uD8wfbo0cM99l3c8X755Rd3Ut2+fTsbN27kXOZDuPLKKwv9PpQ0jGZ8L6wGNG4AIx8t+USsPFmCP09xcXEEBQURHx/PpEmTeOihh0hPT6dVq1aMGzeO1q1bU7duXSIjI5k2bRpDhgwhLi6Ozp07s3HjxiL3+fzzz9OpUye6dOlCixYt3O2vvPIK//rXv4iNjS00ptu3b19uv/129xewgwYN8igxl+a6665j1qxZpX7JCs5VI+++++55H/epp54iKiqKjIwMoqKiePbZZwEYPnw4hw4dolmzZrz00kvuq2D27NnDNddc495+yJAhdO7cmU2bNhEVFeX+/mLMmDF8/fXXNG/enIULFxYal/ZUUlKSe4irNH/961956aWXaNasGYcOHWL48OEAzJ492/19x7Jly4iPj3d/tzNlyhQaNGhQYj8Kmjx5Mu+++y5xcXFMnz69yDdYUznMnTuXumGw4jlYs3IZSUlJFXJc8fZlOuciMTFRz5zwY8OGDbRs2dJHEZ273NxcsrOzCQkJ4eeff6Z3795s2rSJGjVq+Do0c5769OnD+++/X+RVPoHK3/7+fK2o4ZasrCzatIjhn4P30S8eklJhxMeNWLNhGyEhIec9RCMiKapa5Lie/43BV3IZGRn06NGD7OxsVJUpU6ZYcg8QX3/9ta9DMH6i4PBhUDXo1Rr6xTuv+ydATNJeaoWHkpvn3TgswZez2rVr27SDxhi3GkEwvvDV1YwfCMs2QaaXE7yNwRtjTDkreKfq2GfGM3FBWKHlE+eH8fS4CXYnqzHG+LNRo8eyem8dklKd13NTYe3+ujz51Ll/0X+uAiLB59+4UtrDGGMqWkhICJNfe4fhb8HRDBgxI4xXp0z1+Ia28+HVBC8i9UTkExHZKCIbRKRz6Vud8zGKbA8tYpYxS/LGGF/on1iPRvWg43iIbdeV/v37V8hxvX0G/wowT1VbAPHABm8dqOCYV/4NBTcO6FsuFdtEhDvvvNP9Oicnh8jISAYMGHC+YZe70ipAVrQbb7yRK664wqN109LSCA0NddereeCBB7wcnTHlq1C+UYVMVwG+C9pyQ3vYeQgmTX6j+G3KmdcSvIjUBboDUwFU9bSqHvHW8fJ544aC8PBw1q5dS2ZmJuBcLlfaree+kJOTU6kS/JEjR0hJSeHo0aNs27bNo22aNm3qvkP09ddf93KExnjJkbXwTR+Yf4VTBDEohAmfQuZpzulu5fPlzTP4GCAdeFdEfhKRt0Uk/MyVROQ+EUkWkeT09PTzOmBWVhYjHhrOO/dBnTCYfEcGIx4aXi7zSl5zzTV89dVXAMycOZMhQ4a4l508eZJ77rmHjh070rZtW7744gvAubW9Y8eOJCQkEBcXx5YtWzh58iTXXnst8fHxtGnThv/85z+sWLGCgQMHAk5Z29DQUE6fPk1WVhZNmjQB4Oeff6Zfv360b9+ebt26ue+CHTZsGA888ACdOnXi1ltvPavEb3p6OjfffDMdOnSgQ4cOfPfdd2f1LS0tjW7dutGuXTvatWvnfoPILx2c75FHHnHXSB8zZgytWrUiLi6OJ598ssif2WeffcZ1113Hbbfd5r6l3piAduoQrHgEkuLh8Epo9RRU8+F9MGcWny+vB5AI5ACdXK9fAZ4vaZv27dvrmdavX39WW0GA+xFUDe0bi+qM3x592jjt+euURXh4uK5atUpvvvlmzczM1Pj4eF28eLFee+21qqo6duxYnT59uqqqHj58WJs3b64nTpzQRx55RP/973+rquqpU6c0IyNDP/nkE7333nvd+z5y5IhmZ2drTEyMqqo+8cQTmpiYqMuWLdMlS5bobbfdpqqqPXv21M2bN6uq6g8//KA9evRQVdWhQ4fqtddeqzk5OaqqOmHCBP373//u3v+QIUP022+/VVXV7du3a4sWLc7q38mTJzUzM1NVVTdv3qz5/w8F+6iq+vDDD+u7776rBw8e1Msuu0zz8vLcfS5K7969denSpbpp0yZt06ZNqT/nX375RcPCwjQhIUG7d++uS5cuLXUb412l/f2ZAo5tVf24vuoHQaorHlHNOlho8fnkoJIAyVpMTvXmjU67gF2q+qPr9SeAV68L8uYNBXFxcaSlpTFz5sxCtU/AKdc7e/Zs/vGPfwDOJ4kdO3bQuXNnXnjhBXbt2sXAgQNp3rw5sbGxPPHEE4wePZoBAwa4C0Q1bdqUDRs2sHz5cv74xz+ydOlScnNz6datGydOnOD777/nlltucR/z1KlT7ue33HILQUFBRca9cOFC1q9f73597NgxTpw4UWhKvOzsbB555BFSU1MJCgoqtghavrp16xISEsLw4cMZMGBAkd9F7N+/ny1bttC1a1dEhODgYNauXVviFHSNGjVix44dREREkJKSwo033si6deuoU6dOifEY41MZuyAsCmo1gSb3QJNhUK9NsRd1nNmu/jgnq6ruA3aKyOWupl7A+hI2Od/jlXhDQXm4/vrrefLJJwsNz+Qf+9NPP3WPHe/YsYOWLVty++23M3v2bEJDQ7nmmmv45ptvuOyyy1i5cqV7Vqb8SoTdu3cnKSmJ4OBgevfuzbJly1i2bBndunUjLy+PevXqFarGuGHDb99XFyw1fKa8vDx++OEH93a7d+8+a77TSZMmcdFFF7Fq1SqSk5Pd84dWr16dvLzf3hnzh7qqV6/O8uXLGTRoEHPmzCmyANdHH33E4cOHiYmJITo62v3mWJKaNWu6SwC3b9+epk2blvpmY4zPnNgGSwfCnJaQsQdEoN0/oN65z6PrLd6+iuZRYIaIrAYSgL9482DevqHgnnvuYcKECcTGxhZqv/rqq5k8ebL7nfinn34CYNu2bTRp0oQRI0Zwww03sHr1avbs2UNYWBh33nkno0aNYuXKlQB069aNl19+mc6dOxMZGcmhQ4fYtGkTbdq0oU6dOsTExPDxxx8DzhvKqlWriozxzBK/ffv2LTRTT1GTbxw9epRGjRpRrVo1pk+f7p4X9tJLL2X9+vWcOnWKI0eOsGjRIsCZUOTo0aNcc801TJo0qchYZs6cybx580hLSyMtLY2UlJRSx+HT09Pdx962bRtbtmxxfwdhTKWRfRxSn3YS+74F0PppqHn29IrFDZuc+fAmr9aiUdVUnLH4CuG+oeD2a9jwd+eGgslvl98NBVFRUYWmRcv3v//7vzz++OPExcWRl5dHTEwMc+bM4aOPPmL69OkEBwfTsGFDnn76aVasWMGoUaOoVq0awcHBvPbaa4Azs8/+/fvdszDFxcWxb98+98e5GTNm8OCDD/LnP/+Z7OxsbrvtNuLj48+K5brrrmPQoEF88cUXTJ48mVdffZWHH36YuLg4cnJy6N69+1lXpzz00EPcfPPNvP/++/Tr18/9iaBx48bceuuttGnThpiYGPeMUcePH+eGG24gKysLVS009SA4X9pu37690OWRMTEx1K1blx9//NH9BnjmZZBLly5l/PjxBAcHU61aNV5//fVS5yU1pkKdPgpftYLMPRDzB4j/fxB2sa+jKpbflwsuapwrrAZERcCuQ5BxuvCyytRfYyo7KxfscnI7hF/qPF/3F7ioJzTw7P4ObyupXLDflyooKmFnnIadBy25G2POU+Ze+O8wmN0UDqc6ba2frjTJvTQBUS7YErcxplzlZsHGl2HdC5B3GlqOglpNfR3VOfOLBK+qVkfGmApWZU+c8nJgXiIcXQdRN0Lbf0Bt/0vu4AcJPiQkhEOHDhEREWFJ3pgKoqocOnSoQioeVhontkF4DFSrDpePcK5rb9jb11Gdl0qf4KOioti1axfnW8bAGHNuQkJCiIqK8nUY3nfqV1g9Hra+Bt1mQdT10Ow+X0dVLip9gg8ODiYmJsbXYRhjAk1eDmx9w0nu2Ueg2YMQ2cXXUZWrSp/gjTHGK5Zc69yodFEPaP8K1IstfRs/YwneGFN1nPjFqRtTLRiaP+A8om50ygwEIL+/Dt4YY0qVfcJVXqAFbJ7itDW+yXkEaHIHO4M3xgQyzYO0GZA62rlpKfou+N0gX0dVYSzBG2MC1/L74OepcEEH6PopRJb7tNCVmiV4Y0xgydwLQaFQox40uRsiu0HMXSBVb0S66vXYGBOYcrNg3Yvw5WWw5k9OW2QXaDK0SiZ3sDN4Y4y/U4Xds2HlH527UaNugMse9nVUlYIleGOMf1v7HKx5Fuq2gh4LoFEfX0dUaViCN8b4n1O/Qm4mhF0C0XdAjfrQ/EHn+nbjVjUHpowx/ikvBzb/C75sDsmuYZjazZziYJbcz2Jn8MYY/7DvG0h5DI6uhQuvgtjnfB1RpWcJ3hhT+f08FX68F8KjodunEBXYd6CWF0vwxhif8HR+B1WFxgPh1EG4bARUD/VyZIHDErwxpnJTdb5EbTXa15H4HfuS1RjjE6pa6AHQoQnovCvQGaBJieiB72wo5jzYGbwxplLoEwsLxgAnf4Er3oWYP1TZO1DLi1cTvIikAceBXCBHVRO9eTxjjJ/JPQXHN0O9WBavh9Ez4a+fbYbgOr6OLCBUxNtjD1VNsORujHFThV1fwFet4Zs+kJNBTi78bQ6W3MuRDdEYYyrWkXWwciTS62sAdM98qB4GQGgwpKWlER0d7b7KJn983pw7b5/BK7BARFJEpMhpykXkPhFJFpHk9PR0L4djjPGpI+sgKR4OrfitrVFfAMJqQOMGMPLR+30UXODxdoLvqqrtgP7AwyLS/cwVVPVNVU1U1cTIyEgvh2OMqXB5Ob8l9LqtoO1EuG5LoVXmzp1L3TBY8RysWbmMpKQkHwQaeLya4FV1t+vfA8AsoKM3j2eMqWT2L4Z57WBhd8jY41zy2OIxCGngXiUrK4sRDw3nnfugThhMviODEQ8N92HQgcNrCV5EwkWkdv5zoC+w1lvHM8ZUIid+gW9vhkU9IfsYdJ4OoY2KXLVWeChN6+yjX7zzun8CxNTaS5BdIXnevPkl60XALNcXJdWBD1R1nhePZ4ypDLIOwldtnOdxz0OLJ0osL1AjCMbfVLht/EBYtgky87wYZxXgtQSvqtuAeG/t3xhTiajCwe+dKfJCGkDiP52JN8KiSt107DPjmTjvH3S5PMPdNnF+GKdzM0rYynjCPgQZY87PoRXwdRf4uiv8utJpa3q3R8kdYNTosazeW4ekVOf13FRYu78uuXb2ft4swRtjyiZzH/xwN8zvCCd+hk5ToX7COe8mJCSEya+9w/C34GgGjJgRxqtTppZ/vFWQ3ehkjDl3uadhXns4lQ4tR0Gbced1B2r//v05mgEdx0Ns+67079+/HIOtuizBG2M8owoH/g8u/D0E1YDEyVA3Fuo0L+PuCt+hmnEadh6E+ZPfKHK5OXc2RGOMKd3R9bC4Hyzq4dSQAWcSjjIm9+JkZkN0dHS57rMqszN4Y0zxTh+G1c/Cln9B9VrQ7mW45FofB2U8ZQneGFM0VafS4+GfoOl9EPcchFg5EX9iCd4YU9iBbyGiAwSFQMLfoOYFZbo6pjTFzcl6ZruNxZedjcEbYxwn0uDbW5y6MVted9oa9vRKcjcVw87gjanqck7Cuhdhw99BgpzyAs28X7LXzsy9zxK8MVXd93fBrllw6e3Q9q8e34FqKr9iE7yIvOrB9sdUdVw5xmOMqQiHkiH8dxByIcSOh5ZPOHVkTEAp6Qz+BmB8KduPASzBG+MvMvfBqqdh2zS4/DFoP8nG2ANYSQl+kqq+V9LGIlK/nOMxxnhD7inY9CqsfR7ysqDlk055ARPQSkrw35W2saq+XH6hGBP4irs08Ezl/gVk6mjY9ApcPADaTYQ6l5Xv/k2lVFKCf1NEagEfAjNVdX0FxWSMKQ9HNzhXxdS5zJl0o1E/uLifr6MyFajY6+BVtS0wAMgBPhGRVSIyRkSiKyo4YwKNqhZ6lNZeJqcPQ8rjMDcWUsc4beGNLblXQSXe6KSqm1T1T6raCvgDUBdYJCKlDt8YYypYXi5seQO+vAw2T4am/wMd3/B1VMaHPLoOXkSqARfizLMaDhzwZlDGmDLY/Cqs/KNTzrf9y3Z1jCk5wYtIN2AIcCOwBmc8fqSqHvV+aMaYUp1Ig1MHISIRmt4L4ZdC1E3g4Ze5JrAVO0QjIjuB/wesBxJU9WpVfdeSuzFlIyJFXkUTGgxpaWmlrldIzklYPR6+agnL73cqPwbXdmq0W3I3LiWNwXdV1a6q+k9VtSEZY7wgrAY0bgAjH/Ww9osqpM2EOS2ca9qjBkL3zy2pmyKVlODvLm1jEXm2/EIxpmqZO3cudcNgxXOwZuUykpKSSt9o1yz4/naoeSH0WQZdZjhXyBhThJLG4O8VkWMlLBfgNuDZco3ImCogKyuLEQ8N5537oE4YTL4jgxEPDWfNhm1nr5y5H46th4t6wCU3QNePoPHNIFbt25SspAT/FlC7lO3fKsdYjKkSRISgatCrNfSLd9r6J0BM0l5qhYf+tmLuaefKmDXPQfVwuGG7M9n1727xSdzG/xSb4FX1T+VxABEJApKB3ao6oDz2aYy/qxEE428q3DZ+ICzbBJl5roa5beD4lt/KCwTVqPA4jX+riM94jwEbKuA4xvgFVWXsM+OZuCCsUPvE+WE8PW7Cbw0SBFclwVVfWu0YUyZeTfAiEgVcC7ztzeMY429GjR7L6r11SEp1Xs9NhbV7QnjyqTG/rXTNaisvYM6Lt8/gXwaeAvKKW0FE7hORZBFJTk9P93I4xlQOISEhTH7tHYa/BUczYMT78OrtxwnhxG8rVQv2XYAmIJRaqqCYmZ2OAsmq+kUJ2w0ADqhqiohcVdx6qvom8CZAYmKiTdJoqoz+7cNpeTF0ngCxTevRf/RiCGng67BMAPHkDD4ESAC2uB5xQBQwXEReLmG7LsD1IpKGU+Kgp4j8+3yCNcafFaoUmbEHvunNnwbBsUyY9O+V7tox5VJR0hhASvtFEpEfgC6qmut6XR34FugKrHFVmixtH1cBT5Z2FU1iYqImJyd7Frkx/iYnA3bNhujbnNd7FxAWfTWZp70wwYepMkQkRVUTi1rmyRl8faBWgdfhwAWuhH+qHOIzJrCpQtqHMOdy+H4IHFnntDfqS+Zp34ZmApsn5YL/BqSKyBKcu1e7A38RkXBgoScHUdUlwJKyhWiMH/s1BVIeg/TvoH5buHIm1Gvt66hMFVFqglfVqSIyF+joanpaVfe4no/yWmTG+LucDFh8tXM9e6e3IWYYElT0n9yZ1SNtyMaUB48m/MAZykl3rd9MRJqp6lLvhWWMn8o9Dds/gJg/QPUw6DYL6sVBjbq+jsxUQZ5cJvlXYDCwjt+uZ1fAErwxBe2eCytHwvHNENLQuUnpwm6FVrEzc1ORPDmDvxG4XFXtC1VjinJ0ozNV3t4kqHM5XDXX7kA1lYInCX4bEIxdMWPM2VRh2c2QsQvavQTNH7aiYKbS8CTBZ+BcRbOIAkleVUd4LSpjKrO8XEib7pTtrR4Onf8NYZdAyIW+jsyYQjxJ8LNdD2PMgaXOZY+HUyH3FDS/Hy5o6+uojCmSJ5dJvlcRgRhTqZ3cAT+Ngh0fQVhj6PIh/O5WX0dlTIk8uYrmF5yrZgpR1SZeiciYymj5A3BgCcQ+Cy1HOZdAGlPJeTJEU7DGQQhwC3CBd8IxppJQdc7WI7s64+vtX4GgmhD+O19HZozHSq1Fo6qHCjx2q+rLOJN4GBOYfl0JC7vDd7fBlilOW53mltyN3/FkiKZdgZfVcM7oPb0D1hj/kXUAVj0DP0+Fmg2g41vQ5G5fR2VMmXmSqCcWeJ4DpAH27ZIJPKsnwLZp0GIktPlfqFHP1xEZc148uYqmR0UEYoxP7EmC0IuhfrzzBWqLx527UY0JAJ4M0dQEbgaiC66vqs95LyxjvOzYJqe8wJ65EH0nXDkdQi9yHsYECE+GaL7AmYM1BStXYPzd6aOw9jnY9KpzqWPbiXDZI76Oyhiv8CTBR6mqVU4yFerM+ujFOefqjFtfh42ToOlwiPuznbGbgOZJgv9eRGJVdY3XozHGGw4sg7zT0LAnXDYCGva18gKmSvAkwXcFhrnuaD2FM22fqmqcVyMzVdqZZ+b5Z/TndMZ+cgekjobtH8KFv3cSfPVQS+6myvAkwff3ehTGlKecDNjwd1j/V0ChzQRo9ZSvozKmwnlymeR2EQkCLvJkfWN8bveXsOZZpxhY279B+KW+jsgYn/DkMslHgQnAfgpP2WdDNKby+PUnOPEz/G6QU6e9VhOI6ODrqIzxKU/OyB/DmbLvkLeDMeacZaW7ygu87ST1qBuhWnVL7sbgWYLfiXMdvDFeVdoXqaHBkJaWRnR0NOSehi3/gjV/Qm51fj31VLKT3I0xgAfVJHHmZF0iImNF5I/5j9I2EpEQEVkuIqtEZJ2I/On8wzVVVVgNaNwARj56v9NweKVzJ2qDzr+tZLVjjCnEkwS/A/gaqAHULvAozSmgp6rGAwlAPxG5ooxxmips7ty51A2DFc/BmpQlJCUlQYMroF8KXDXX1+EZU2l5chVNmc681fmcfcL1Mtj1OMfbDk1Vl5WVxYiH7uGd+6BOGEy+8zQjHrqHNRt+IeSCdqXvwJgqzJOraCKBp4DWODM6AaCqPT3YNginhk0z4F+q+mPZQzVVRf5YfDWBdtEQGwn94p1l/RMgJmkftcJDyc0rdhfGGDwbopkBbARigD/h1INf4cnOVTVXVROAKKCjiLQ5cx0RuU9EkkUkOT093dO4TRUQFQG7D8OT1xRuHz8QagT5JiZj/IknCT5CVacC2ar6f6p6D1Dq2XtBqnoEWAycVbRMVd9U1URVTYyMjDyX3ZoApev+hqqyPV158IH7mbig8ATXE+eH8fS4CajquRcbM6YK8STBZ7v+3Ssi14pIWzyYdFtEIkWknut5KNAH55OAMWfLyfzt+ZrxcPxnAEZNeJnVe+uQlOosmpsKa/fX5cmnxlR4iMb4G08S/J9FpC7wBPAk8DYw0oPtGgGLRWQ1zpDO16o6p8yRmsCkCjs+hjktfmu7dgPUbgpASEgIk197h+FvwdEMGDEjjFenTCUkJKSYHRpj8kll+oibmJioycnJvg7DVKTs4zC7KYRejFy7Cij6RqfwmkJUBLRq35dZX84vtKxMlSaNCRAikqKqiUUtK/UMXkSaiMiXInJQRA6IyBci0qT8wzRVRlY6rH4W8nIguDb0Xgr9UkocU884DTsPwqTJb5y1zMbijSmaJ0M0HwAfAQ2Bi4GPgZneDMoEqLxs2PgyfNkc1r0AB39w2uu2gGqlXxaTmY1TpsAY4xFPEnyYqk5X1RzX498UuB7eGI/smQ9z42DlSOcu1GtWw4VdfR2VMQHNk8pMSSIyBvgQ507UwcBcEbkAQFV/9WJ8JhDk5cJPTzhDMr//Ei6+Fjycc9UYU3aeJPhbXf/ef0b7bTgJ38bjzdmyj8GGf0CLJ6BGXSexh14CQTU82ry4SbfPbLexd2OK50ktmpiKCMQECM2DbdNg1Vjny9S6reHSwVDLfo2MqWjFJngR6QDsVNV9rtd/AG4GtgPP2tCMOUv695AyAn5NgQZXwu+/gogir94qlZ2ZG3P+SvqS9Q3gNICIdAdeBN7HmfzjTe+HZvzOuhcgcx9c+QH0WVbm5G6MKR8lDdEEFThLHwy8qaqfAp+KSKrXIzOVX04mbJwI0bc70+V1ehuC60D1cF9HZoyh5DP4IBHJfwPoBXxTYJnNi1aVqcKOT+CrlrD6f2Hn5057aCNL7sZUIiUl6pnA/4nIQSAT+BZARJphc7RWXYdXQcrjcGAJ1IuDXovhoqt8HJQxpijFJnhVfUFEFuEUDVugv33rVQ14tCKCM5XQ1jfh6Bro8Bo0vdcmuTamEivxr1NVfyiibbP3wjGVTl42bJ4CER0hsjPEvwDxf4Ya9X0dmTGmFJ6UKjBV1Z75MDceVj7ulPQFqFHPkrsxfsI+X5uzHdvilBbY/SXUagbdZ8MlA3wdlTHmHFmCN2fb/QXsXwIJf4PLR0BQTV9HZIwpA0vwxlVe4D1n+KXxTXDZCIi+E0Ib+joyY8x5sDF4PyYiHj1KlP49zO8EP94DaR84bUE1LLkbEwDsDL6qytgFP42G7R9A6MXQ+d/OHanGmIBhCd6PnVmQ65zmJj34I+z8FFqPg1ajIbiWN0I0xviQJfiqQhV2fgan0qH5A9B4IFz/M4Rd4uvIjDFeYmPwVcHh1fBNL1g2CH553/lSVcSSuzEBzs7gA1nWQVgzHra+4dyclF9eQOx93ZiqwBK8nypuvD00GNLS0oiOjoaTaUjH15z1sjZDzQsqOkxjjA/ZqVwACasBv2sAI+/u7TQUnHDDkrsxVY7XEryINBaRxSKyXkTWichj3jqWgbmfvM1FdWH5c7BmwzaS5szydUjGGB/z5hl8DvCEqrYCrgAeFpFWXjxe1ZR9nKwfnmDEI//DlLuhThhM/oMy4tGHycrK8nV0xhgf8toYvKruBfa6nh8XkQ3AJcB6bx2zKopqWIdh3aDVxdAv3mnrnwAxSXupFR7q09iMMb5VIWPwIhINtAV+LGLZfSKSLCLJ6enpFRGO/0v/r/vp7l9hUhKMvq7wKuMHQo2gCo7LGFOpeD3Bi0gt4FPgcVU9duZyVX1TVRNVNTEyMtLb4fi3jN3w/Z3w9ZXuJlVlzNPjmbggrNCqE+eH8fS4CRUdoTGmEvFqgheRYJzkPkNVP/PmsQJabhasfQG+vMyZ7Lr1M4UWjxo9ltV765CU6ryemwpr99flyafGVHioxpjKw5tX0QgwFdigqi956zhVgubCltfg4n4wYL0zZV4BISEhTH7tHYa/BUczYMSMMF6dMpWQkBAfBWyMqQzEo8JUZdmxSFfgW2ANkOdqflpV5xa3TWJioiYnJ3slHr9zeDVsfAk6vumU7806CCEN3IuLutEpvKYQFQGt2vdl1pfzi13PGBM4RCRFVROLWubNq2iWAaUUIzdnKVheILgeHF0HF7QtlNyh6ISdcRp2HoT5k98ocT1jTNVgpQoqi7xc2DIFVo+HnOPQ/GGIffac70DNzMYpU2CMqfIswVcWIvDLe055gXYvQ73Wvo7IGOPnrBaNLx3fCt/dAacOORUee34NPRZYcjfGlAtL8L6QfdyZLu+rVrD7C/g1xWmvUd85k/dQcXOvntOcrMaYgGVDNBVJ1RmGSR0LWfsgZijE/wXCLvZ1ZMaYAGQJviKJwO4vIfxS6P4FNOh4XruzK2SMMSWxBO9tGbth1dPQaizUbQFXvAvVa9msSsYYr7Ms4y25WbDuLzDnctj+Ify6wmkPrmPJ3RhTIewM3ht2fg4rR8LJNIi6Cdr9A2o18XVUxpgqxhK8N6Qvc4Zhei6Ehr18HY0xpoqysYLycOoQrHgY9i10Xsc9D/1/suRujPEpO4M/H3nZsOV1WDMBso9BeDQ07A3VbSYlY4zvWYIvq/2LIfkROLoeLuoJ7V+Bem18HZUxxrhZgi+roxsgJxO6zYKoG87pDlRjjKkIluA9lX3cueyxzuXQZBg0uw+a3gNBNqmGMaZysi9ZS6N5sO09Z7q89S86E3EAVKtuyd0YU6nZGXxJfk2BFQ/BoeUQ0RG6fw4NOvk6KmOM8Ygl+JJkHYCMndD5fYi+w+5ANcb4FUvwBeVmwcZJzrBMm2fg4v5w3VaoHubryIwx5pxZggenjO+uz2HlE3DyF/jdYKdNxJK7McZvBWSC93SSC1WFY5thxYOw/xuo29qZValhby9HaIwx3heQCf6c5J2GI2ug/WRo/oBzdYwxxgSAgMxmZ06EkX9Gr6qQl+OUFzi23llYrw3cuMMueTTGBJyATPDF2rcIUh6Do+uc8gK5pyCopiV3Y0xA8tp1fyLyjogcEJG13jqGpy6uD589DnzTG3IyoNtnTinfoJq+Ds0YY7zGmxd2TwP6eXH/HsvOhY5NcSa4HrAeGt9ktWOMMQHPawleVZcCv3pr/wWJSIlXzqQfg8uegLTwIUUOx5S2vTHG+KMqcWtmWA2IioCRj97v61CMMabC+DzBi8h9IpIsIsnp6enlvv+5c+dSNwxWPAdrVi4jKSmp3I9hjDGVkc8TvKq+qaqJqpoYGRlZrvvOyspixEPDeec+qBMGk+/IYMRDw8nKyirX4xhjTGXk8wRfnvLH0vMftcJDaVpnH/3ineX9EyCm1l5qhYcWWs8YYwKRNy+TnAn8F7hcRHaJyHBvHas4NYJg/E2F28YPdNqNMSbQefMqmiGq2khVg1U1SlWneutYBY5Z6DH2mfFMXFC4WNjE+WE8PW5CofWMMSYQBdQQzZlGjR7L6r11SEp1Xs9NhbX76/LkU2N8GZYxxlSIgE7wISEhTH7tHYa/BUczYMSMMF6dMpWQECtNYIwJfAGd4AH69+/P0QzoOB5i23Wlf//+vg7JGGMqREAUGyttHD3jNOw8CPMnv1Gm7Y0xxh8F/Bl8vsxsiI6O9nUYxhhTYapMgjfGmKrGErwxxgSogBiDP1Nxd6ee2W5j78aYQGZn8MYYE6AC8gzezsyNMcbO4I0xJmBZgjfGmABlCd4YYwKUJXhjjAlQluCNMSZAWYI3xpgAZQneGGMClCV4Y4wJUFKZbgoSkXRgeznusgFwsBz3V1lVlX5C1elrVeknVJ2+equfl6pqZFELKlWCL28ikqyqib6Ow9uqSj+h6vS1qvQTqk5ffdFPG6IxxpgAZQneGGMCVKAn+Dd9HUAFqSr9hKrT16rST6g6fa3wfgb0GLwxxlRlgX4Gb4wxVZYleGOMCVB+neBF5B0ROSAiawu0XSAiX4vIFte/9V3tIiKvishWEVktIu18F/m5EZHGIrJYRNaLyDoReczVHlB9FZEQEVkuIqtc/fyTqz1GRH509ec/IlLD1V7T9Xqra3m0TztwjkQkSER+EpE5rteB2s80EVkjIqkikuxqC6jfXQARqScin4jIRhHZICKdfd1Pv07wwDSg3xltY4BFqtocWOR6DdAfaO563Ae8VkExlocc4AlVbQVcATwsIq0IvL6eAnqqajyQAPQTkSuAvwKTVLUZcBgY7lp/OHDY1T7JtZ4/eQzYUOB1oPYToIeqJhS4DjzQfncBXgHmqWoLIB7n/9a3/VRVv34A0cDaAq83AY1czxsBm1zP3wCGFLWevz2AL4A+gdxXIAxYCXTCufuvuqu9MzDf9Xw+0Nn1vLprPfF17B72LwrnD74nMAeQQOynK+Y0oMEZbQH1uwvUBX458//F1/309zP4olykqntdz/cBF7meXwLsLLDeLlebX3F9PG8L/EgA9tU1bJEKHAC+Bn4GjqhqjmuVgn1x99O1/CgQUaEBl93LwFNAnut1BIHZTwAFFohIiojc52oLtN/dGCAdeNc17Pa2iITj434GYoJ3U+etMWCuAxWRWsCnwOOqeqzgskDpq6rmqmoCzhluR6CFbyMqfyIyADigqim+jqWCdFXVdjjDEg+LSPeCCwPkd7c60A54TVXbAif5bTgG8E0/AzHB7xeRRgCufw+42ncDjQusF+Vq8wsiEoyT3Geo6meu5oDsK4CqHgEW4wxV1BOR6q5FBfvi7qdreV3gUMVGWiZdgOtFJA34EGeY5hUCr58AqOpu178HgFk4b9yB9ru7C9ilqj+6Xn+Ck/B92s9ATPCzgaGu50Nxxqvz2//g+vb6CuBogY9OlZqICDAV2KCqLxVYFFB9FZFIEanneh6K8z3DBpxEP8i12pn9zO//IOAb11lSpaaqY1U1SlWjgdtw4r6DAOsngIiEi0jt/OdAX2AtAfa7q6r7gJ0icrmrqRewHl/309dfTpznFxszgb1ANs476HCcsclFwBZgIXCBa10B/oUzprsGSPR1/OfQz644H+1WA6muxzWB1lcgDvjJ1c+1wHhXexNgObAV+Bio6WoPcb3e6lrexNd9KEOfrwLmBGo/XX1a5XqsA55xtQfU764r9gQg2fX7+zlQ39f9tFIFxhgToAJxiMYYYwyW4I0xJmBZgjfGmABlCd4YYwKUJXhjjAlQluCNMSZAWYI3fklEnnGVFF7tKkPbydX+uIiEVcDxh4lIuoi8XYZtq7u2ffGM9hki8quIDCpuW2POhSV443dEpDMwAGinqnFAb34r3PQ4TiXKorYLKudQ/qOq95Zhuz7AZuAW113KAKhzN+vs8grOGEvwxh81Ag6q6ikAVT2oqntEZARwMbBYRBYDiMgJEZkoIquAziLyRxFZ63o87lon2jVJwzQR2ew6k+4tIt+5JmroWFpArjP6z12TOqSJyCOuY/0kIj+IyAUFVh+CU3tmB06tHWO8whK88UcLgMauZDxFRH4PoKqvAntwJpfo4Vo3HPhRnUlEMoG7cWrMXwH8j4i0da3XDJiIU72yBXA7TomIJ4GnPYyrDTAQ6AC8AGSoU1nwv8AfwJm1CucTx5c4pTaGlOknYIwHLMEbv6OqJ4D2ODPhpAP/EZFhxayei1OFE5yEPUtVT7r28RnQzbXsF1Vdo6p5ODVTFqlTx2MNzqQynlisqsdVNR2nZvuXrvaC+xjgWi/TFdeNXhg6MgZwahgb43dUNRdYAiwRkTU4lfqmFbFqlmvd0pwq8DyvwOs8PP878WQfQ4CurlLB4BSj6okzuYkx5crO4I3fEZHLRaR5gaYEYLvr+XGgdjGbfotzxhzmKl17k6utQohIHZxPDL9T1Wh1ygU/jA3TGC+xM3jjj2oBk12143NwyujmTwX3JjBPRPYUGIcHQFVXisg0nJK7AG+r6k+uaRArwk04tdwLnul/AfxNRGqe0W7MebNywcaUgWvMP1FVHynn/U7DqQ//SXnu11RNNkRjTNlkAv3LcqNTcURkBvB7IKu89mmqNjuDN8aYAGVn8MYYE6AswRtjTICyBG+MMQHKErwxxgSo/w995+nKPQKPaAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"para2, pcov2 = curve_fit(Spannung, \n",
" strom, \n",
" spannung,\n",
" sigma=spannung_error, # <-- Diesesmal mit Fehler\n",
" absolute_sigma=True # <-- Diesen Option müssen wir auf Wahr setzen, da \n",
" # wir in der Regel absolute und keine relativen \n",
" # Unsicherheiten messen.\n",
" )\n",
"\n",
"plt.plot(strom, \n",
" [Spannung(value, para2[0]) for value in strom], \n",
" ls ='dashed',\n",
" color='orange',\n",
" label = f'Fitgerade mit R = {para2[0]:0.2f} +/- {pcov2[0,0]**(1/2):0.2f} ohm'\n",
" )\n",
"plt.errorbar(strom, \n",
" spannung,\n",
" xerr=strom_error,\n",
" yerr=spannung_error, \n",
" ls='', \n",
" marker='d', \n",
" mfc='orange', \n",
" mec='k', \n",
" ms=7,\n",
" ecolor='k', \n",
" elinewidth=2, \n",
" capsize=5, \n",
" capthick=2, \n",
" label='Messwerte aus A. 5'\n",
" ) \n",
"\n",
"\n",
"plt.legend()\n",
"plt.ylabel('Spannung [V]')\n",
"plt.xlabel('Strom [mA]')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wie ihr sehen könnt ist der Wert für den Widerstand zwar gleich geblieben, jedoch die Unsicherheit des Wertes hat sich erhöht.\n",
"\n",
"Wie gut denkt ihr fittet unsere obige Funktion unsere Messdaten? Sehr gut? Gut? Befriedigend? Oder doch eher schlecht? Wäre es nicht gut ein Maß für die Güte des Fits zu haben? Wie könnte ein solches Maß aussehen?\n",
"\n",
"Ihr habt das entscheiden Kriterium bereits kennen gelernt, bei der Methode der kleinsten Quadrate geht es darum das $\\chi^2$ zu minimieren sprich klein zu machen. Gucken wir uns hierzu erst noch einmal an wie sich das $\\chi^2$ berechnet:\n",
"\n",
"$$ \\chi(\\phi_1 ... \\phi_N)^2 = \\sum_{i = 1}^{N} \\frac{ (y_i - \\lambda(x_i; \\phi))^2}{\\Delta y_i^2}$$\n",
"\n",
"Dies bedeute in unserem Fall:\n",
"\n",
"$$ \\chi(R)^2 = \\sum_{i = 1}^{N} \\frac{ (U_i - u(I_i; R))^2}{\\Delta U_i^2}$$\n",
"\n",
"wobei hier groß $U$ unsere gemessenen Spannung und klein $u$ unsere Funktion entspricht."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T14:09:37.708408Z",
"start_time": "2019-11-04T14:09:37.683983Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Das chi-qudrat ist 1.26\n"
]
}
],
"source": [
"chi_2 = [ (u - Spannung(i, para2[0]))**2/du**2 for i,u,du in zip(strom, spannung, spannung_error)]\n",
"chi_2 = sum(chi_2)\n",
"print(f'Das chi-qudrat ist {chi_2:.2f}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wie vergleicht sich dieses $\\chi^2$ nun mit einer Funktion welche unsere Daten schlechter beschreibt. Zum Beispiel sofern wir die Spannung über die Funktion \n",
"\n",
"$$ U(R,I) = R \\cdot I $$\n",
"\n",
"$$ U(R,I) = R \\cdot I + U0 $$\n",
"\n",
"$$ U(R,I) = R \\cdot I^2 $$\n",
"\n",
"beschreiben würden."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-04T14:10:02.649772Z",
"start_time": "2019-11-04T14:10:02.619695Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Chi-qudrat nach URI: 1.26\n",
"Chi-qudrat nach URI-Parabel: 60.68\n"
]
}
],
"source": [
"def Spannung2(I, R):\n",
" return R * I**2\n",
"\n",
"\n",
"\n",
"para3, pcov3 = curve_fit(Spannung2,\n",
" strom,\n",
" spannung,\n",
" sigma=spannung_error,\n",
" absolute_sigma=True\n",
" )\n",
"\n",
"chi_2_new = [ (u - Spannung2(I, *para3))**2/du**2 for I,u,du in zip(strom, spannung, spannung_error)]\n",
"chi_2_new = sum(chi_2_new)\n",
"print(f'Chi-qudrat nach URI: {chi_2:.2f}\\nChi-qudrat nach URI-Parabel: {chi_2_new:.2f}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wie ihr sehen könnt ist das $\\chi^2$ für unsere zweite Funktion etwas größer als für das klassische ohm'sche Gesetzt. Somit würden wir unsere zweiten Ansatz verwerfen. \n",
"\n",
"Damit man für einen gegebene Datensatz nicht hunderte von verschiedene Funktionen durchprobieren muss gibt es für das $\\chi^2$ eine allgemeine Faustregel, welche den berechneten $\\chi^2$-Wert mit der Anzahl unserer Freiheitsgrade vergleicht. Die Anzahl an Freiheitsgrade ist allgemeinhin gegeben als *Anzahl der Messwerte - Anzahl der Funktionsparameter* ($m - n$).\n",
"\n",
"1. Sofern $\\chi^2/\\text{ndof} >> 1$: sollte die Hypothese bzw. die Fitfunktion angezweifelt werden. Sie beschreibt in diesem Fall die Messdaten nur unzureichend. (Bzw. sollte $\\chi^2/\\text{ndof} > 1$ kann dies auch bedeuten, dass eure Unsicherheiten unterschätzt sind)\n",
"2. Sofern $\\chi^2/\\text{ndof} \\approx 1$: beschreibt die Hypothese bzw. die Fitfunktion die Daten wie erwartet und wird nicht abgelehnt. \n",
"3. Falls $\\chi^2/\\text{ndof} << 1$ beschreibt die Hypothese bzw. die Fitfunktion die Daten wesentlich besser als erwartet. In diesem Fall heißt es nicht, dass unsere Hypothese falsch ist, aber man sollte überprüfen ob die gemessenen Fehler nicht überschätzt worden sind (oder eine Korrelation zwischen denn Messfehlern vor liegt). \n",
"\n",
"Sofern ihr eine Arbeit schreibt und eure **Goodness-of-the-Fit** ($\\chi^2/\\text{ndof}$) angeben wollt so gebt immer beides an, das $\\chi^2$ und die Anzahl an Freiheitsgraden ndof. Beide Werte getrennt habne einen größeren Informationsgehalt als der Resultierende Quotient (genaueres lernt ihr in z.B. in der Vorlesung *Statistik, Datenanalyse und Simulationen* im Master)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=task>\n",
" \n",
"#### Aufgabe 7.: PGP Auswertung:\n",
"\n",
"Jetzt seid ihr ein letztes mal gefordert. In dieser Aufgabe wollen wir alles was wir heute gelernt haben nochmal reflektieren und anwenden. Erstellt hierfür ein neues Jupyter-Notebook und bearbeitet die Aufgaben im Skript. Sofern ihr Fragen bzw. Probleme habt vergesst nicht auf die folgenden Hilfsmöglichkeiten zurückzugreifen:\n",
"\n",
"1. Verwenden der IPython-Hilfe unter Verwendung der shift + tab Tasten.\n",
"2. Die ausführlichen Dokumentation von Python und das Angebot etlicher nützlicher Hilfsbeiträge in verschiedenen Foren (z.B. stackoverflow) im Internet.\n",
"3. Fragt bei den Assistenten nach während der Stunde nach bzw. nutzt den Emailkontakt auf der [gitlab Seite](https://gitlab.rlp.net/hoek/pgp1-python-einfuehrung/tree/master). \n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}