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

Added the table for the fit task and some hints

This commit is contained in:
MoBit 2021-10-19 17:15:14 +02:00
parent 95573a818a
commit e7d098f40c
3 changed files with 46 additions and 16 deletions

View file

@ -549,8 +549,6 @@
"a = 'eins'\n", "a = 'eins'\n",
"b = 2\n", "b = 2\n",
"\n", "\n",
"print('Dies ist Syntaxvariante {}'.format(a))\n",
"print()\n",
"print(f'Dies ist Syntaxvariante {b}') " "print(f'Dies ist Syntaxvariante {b}') "
] ]
}, },
@ -574,9 +572,7 @@
"source": [ "source": [
"pi = 3.1415926535\n", "pi = 3.1415926535\n",
"\n", "\n",
"print(f'Dies ist pi auf 4 signifikante Stellen gerundet: {pi:.4f}')\n", "print(f'Dies ist pi auf 4 Nachkommastellen gerundet: {pi:.4f}')"
"print()\n",
"print('Dies ist pi auf 4 signifikante Stellen gerundet: {:.4f}'.format(pi))"
] ]
}, },
{ {
@ -629,7 +625,7 @@
"Lassen Sie nun Ihre berechneten Werte aus Aufgabe 2 mithilfe von `print` erneut ausgeben. Nutzen Sie jedoch dieses Mal **Formatstrings** für eine schönere und bedeutungsvollere Rückgabe. Achten Sie dabei ins besonders auf:\n", "Lassen Sie nun Ihre berechneten Werte aus Aufgabe 2 mithilfe von `print` erneut ausgeben. Nutzen Sie jedoch dieses Mal **Formatstrings** für eine schönere und bedeutungsvollere Rückgabe. Achten Sie dabei ins besonders auf:\n",
"\n", "\n",
"* Die Angabe der richtigen Einheiten.\n", "* Die Angabe der richtigen Einheiten.\n",
"* Das Runden der berechneten Werte der Anzahl an signifikanten Stellen entsprechend. " "* Das Runden der berechneten Werte der Anzahl an signifikanten Nachkommastellen entsprechend. "
] ]
}, },
{ {
@ -1265,10 +1261,25 @@
"<div class=task>\n", "<div class=task>\n",
" \n", " \n",
"#### Vorbereitungsaufgabe 1.: Werte der Schiefen Ebene in Pyhton übertragen:\n", "#### Vorbereitungsaufgabe 1.: Werte der Schiefen Ebene in Pyhton übertragen:\n",
" \n",
"Stellen Sie sich den folgenden Versuch vor: Jahr 2132, die Firma SpaceY hat Sie auf eine Außenmission auf den Planeten X geschickt. Hier sollen Sie zusammen mit ihrem Versuchspartner die Fallbeschleunigung $g_X$ des Planeten bestimmen. Als Versuch lassen Sie eine Kugel aus unterschiedlichen Fallhöhen innerhalb einer evakuierten Glasröhre fallen. Sie lassen die Kugel insgesamt aus 10 unterschiedlichen Höhen fallen. Die Messdaten und die dazugehörigen Fehler protokollieren Sie in der unteren Tabelle:\n",
"\n", "\n",
"Am Python-\"Versuchstag\" selbst wollen wir anhand der Messdaten zur Bestimmung der Fallbeschleunigung auf Planet X das Fitten von Funktionen mittels $\\chi^2$ üben. Als Vorbereitung hierfür sollen Sie die Messdaten der gemessenen Zeiten und Höhen so wie ihre Fehler als Listen in Python eintippen. \n", "| Fallhöhe [m] | Höhenfehler [m] | Fallzeit [s] | Zeitfehler [ms] |\n",
"| ------------ | --------------- | ------------ | --------------- |\n",
"| 1.00 | 0.01 | 0.74 | 12 |\n",
"| 1.20 | 0.01 | 0.80 | 11 |\n",
"| 1.40 | 0.01 | 0.87 | 9 |\n",
"| 1.60 | 0.01 | 0.94 | 8 |\n",
"| 1.80 | 0.01 | 0.99 | 10 |\n",
"| 2.00 | 0.01 | 1.03 | 11 |\n",
"| 2.20 | 0.01 | 1.10 | 12 |\n",
"| 2.40 | 0.01 | 1.15 | 13 |\n",
"| 2.60 | 0.01 | 1.17 | 80 |\n",
"| 2.80 | 0.01 | 1.24 | 10 |\n",
"\n", "\n",
"Darüber hinaus definieren Sie sich eine Funktion $h(t)$ welche proportional zu $g_{??}$ ist. Diese Funktion soll am Ende des Tages gegen die Messdaten in einem Höhe-gegen-Zeit Diagramm gefittet werden.\n", "Am Python-Einführungs-Tag selbst wollen wir anhand der Messdaten zur Bestimmung der Fallbeschleunigung auf Planet X das Fitten von Funktionen mittels $\\chi^2$ üben. Als Vorbereitung hierfür sollen Sie die Messdaten der gemessenen Zeiten und Höhen so wie ihre Fehler als Listen in Python eintippen.\n",
"\n",
"Darüber hinaus definieren Sie sich eine Python-Funktion $h(t, g)$ mit $h$ als Höhe, $t$ als Zeit und $g$ als die Beschleunigung $g_X$. Diese Funktion soll am Ende des Tages gegen die Messdaten in einem Höhe-gegen-Zeit Diagramm gefittet werden.\n",
" \n", " \n",
"**Tipp:**\n", "**Tipp:**\n",
" \n", " \n",
@ -1300,7 +1311,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.6" "version": "3.9.7"
} }
}, },
"nbformat": 4, "nbformat": 4,

View file

@ -14,9 +14,9 @@
"\n", "\n",
"### ZDV JupyterHub\n", "### ZDV JupyterHub\n",
"\n", "\n",
"Sie können auch den durch die ZDV angebotenen Jupyter Hub (https://jupyterhub.zdv.uni-mainz.de) zur Bearbeitung Ihrer Notebooks verwenden.\n", "Sie sollten den durch die ZDV angebotenen JupyterHub (https://jupyterhub.zdv.uni-mainz.de), auf dem Sie sich gerade befinden, zur Bearbeitung Ihrer Notebooks verwenden.\n",
"\n", "\n",
"Um Zugang zum Jupyter-Hub zu erhalten, müssen Sie sich zunächst mit Ihrem Uni-Account anmelden. Danach erscheint eine Auswahlseite, auf der Sie die Art der Jupyter Umgebung auswählen. Für das Praktikum ist die Standardumgebung die richtige Wahl, s. Bild unten.\n", "Um Zugang zum JupyterHub zu erhalten, müssen Sie sich zunächst mit Ihrem Uni-Account anmelden. Danach erscheint eine Auswahlseite, auf der Sie die Art der Jupyter Umgebung auswählen. Für das Praktikum ist die Standardumgebung die richtige Wahl, s. Bild unten.\n",
"\n", "\n",
"![images/Screenshot_ZDV_JupyterHub.png](images/Screenshot_ZDV_JupyterHub.png)\n", "![images/Screenshot_ZDV_JupyterHub.png](images/Screenshot_ZDV_JupyterHub.png)\n",
"\n", "\n",
@ -198,7 +198,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.6" "version": "3.9.7"
} }
}, },
"nbformat": 4, "nbformat": 4,

View file

@ -1121,13 +1121,32 @@
"source": [ "source": [
"<div class=task>\n", "<div class=task>\n",
" \n", " \n",
"#### Aufgabe 7.: PGP Auswertung:\n", "#### Aufgabe 7.: Fitten:\n",
"\n", "\n",
"Jetzt sind Sie ein letztes mal gefordert. In dieser Aufgabe wollen wir alles, was wir heute gelernt haben, nochmal reflektieren und anwenden. Erstellen Sie hierfür ein neues Jupyter-Notebook und bearbeiten Sie die Aufgaben im Skript. Sofern Sie Fragen bzw. Probleme haben, vergessen Sie nicht auf die folgenden Hilfsmöglichkeiten zurückzugreifen:\n", "Jetzt sind Sie ein letztes mal gefordert. In dieser Aufgabe wollen wir alles, was wir heute gelernt haben, nochmal reflektieren und anwenden. Erstellen Sie hierfür **ein neues Jupyter-Notebook** und bearbeiten Sie die folgende Aufgabe:\n",
"\n",
"Bestimmen Sie mithilfe Ihrer Vorbereitungsaufgabe 1 im anderen Notebook und der entsprechenden Funktion die Fallbeschleunigung $g_X$ mittels eines **$\\chi^2$-Fits**. Diskutieren Sie anschließend mittels der **Fit-Güte** Ihres Fits, ob Ihre Fitfunktion die gemessenen Daten gut widerspiegelt. Auf welchen Planeten in unserem Sonnensystem befinden Sie sich?\n",
"\n",
"Testen Sie anschließend, ob nicht ein **linearer Fit** mit der linearen Funktion `h(t, g, h0) = t * g + h0` besser geeignet wäre. Begründen Sie Ihre Antwort.\n",
"\n",
"Ist die lineare Funktion physikalisch sinnvoll?\n",
"\n",
"---\n",
"\n",
"Es ist für das PGP (und später das fortgeschrittene Praktikum) **sehr wichtig**, sich mit der Vorgehensweise dieser Aufgabe vertraut zu machen! Wenn Sie Fragen bzw. Probleme haben, vergessen Sie nicht auf die folgenden Hilfsmöglichkeiten zurückzugreifen:\n",
"\n", "\n",
"1. Verwendung der IPython-Hilfe unter Verwendung der **Shift + Tab** Tasten.\n", "1. Verwendung der IPython-Hilfe unter Verwendung der **Shift + Tab** Tasten.\n",
"2. Die ausführliche Dokumentation von Python und das Angebot etlicher nützlicher Hilfsbeiträge in verschiedenen Foren (z.B. stackoverflow) im Internet.\n", "2. Die ausführliche Dokumentation von Python und das Angebot etlicher nützlicher Hilfsbeiträge in verschiedenen Foren (z.B. stackoverflow) im Internet.\n",
"3. Fragen Sie beim Assistenten nach: **`mobitar@students.uni-mainz.de`**" "3. **Fragen Sie** im Channel \"Main\" auf Mattermost nach, damit der Assistent die Fragen beantwortet und alle, die ähnliche Fragen haben, davon profitieren!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Neues Notebook nutzen!"
] ]
} }
], ],
@ -1147,7 +1166,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.6" "version": "3.9.7"
} }
}, },
"nbformat": 4, "nbformat": 4,