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

Small changes, especially removing the list of lists daten

This commit is contained in:
Mo 2022-05-26 21:28:03 +02:00
parent 2fd7e95409
commit ee101a63ac
3 changed files with 40 additions and 34 deletions

View file

@ -905,6 +905,24 @@
"Messwerte1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Man kann eine leere Liste erstellen und später mit `append` Einträge hinzufügen."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"empty_list = [] # Leere Liste\n",
"empty_list.append(42)\n",
"empty_list"
]
},
{
"cell_type": "code",
"execution_count": null,
@ -1166,7 +1184,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"SIe können die `range` Rückgabe auch wieder in eine Liste umwandeln"
"Sie können die `range` Rückgabe auch wieder in eine Liste umwandeln"
]
},
{
@ -1196,7 +1214,7 @@
" \n",
"#### Aufgabe 4.a.: Erstellen von Messwerttabellen:\n",
"\n",
"Erstellen Sie für jede Spalte der nachfolgenden Messtabelle eine Liste, welche die Messdaten beinhaltet. Benutzen Sie anschließend den `append` Befehl, um die Daten jeder Spalte an eine weitere Liste namens *daten* anzuhängen. \n",
"Erstellen Sie für jede Spalte der nachfolgenden Messtabelle eine Liste, welche die Messdaten beinhaltet.\n",
"\n",
"| Messwertnummer | Spannung [V] | Strom [mA] | Fehler der Spannung [V] | Fehler des Stroms [mA] |\n",
"|----------------|--------------|------------|-------------------------|---------------------------|\n",
@ -1213,16 +1231,8 @@
"**Tipp:**\n",
"\n",
"1. Sie haben bereits die Funktionen für die Leistung in Aufgabe 3 definiert und können sie hier erneut verwenden. \n",
"2. Das Slicen von verschachtelten Listen funktioniert genauso wie bei normalen Listen:\n",
"\n",
"```python\n",
"spalte0 = daten[0] #<-- Wählt die Spalte 0 an \n",
"spalte0[2] #<-- Wählt aus Spalte 0 den Messwert mit Index 2 an\n",
"# oder als Einzeiler:\n",
"daten[0][2] \n",
"```\n",
"\n",
"3. Geben Sie an, wie sich die Messwertnummer zum Listenindex verhält.\n",
"2. Geben Sie an, wie sich die Messwertnummer zum Listenindex verhält.\n",
"<div>"
]
},
@ -1245,7 +1255,7 @@
"<div class=task>\n",
" \n",
"#### Vorbereitungsaufgabe 1.: Werte der Schiefen Ebene in Pyhton übertragen:\n",
" \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",
"| Fallhöhe [m] | Höhenfehler [m] | Fallzeit [s] | Zeitfehler [ms] |\n",
@ -1295,7 +1305,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
"version": "3.10.4"
}
},
"nbformat": 4,

View file

@ -198,7 +198,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
"version": "3.10.4"
}
},
"nbformat": 4,

View file

@ -47,7 +47,8 @@
"for wert in liste:\n",
" print('Wert:', wert)\n",
" rechnung = wert + 2\n",
"print('Ergebnis:', rechnung)"
"\n",
"print('Rechnung:', rechnung)"
]
},
{
@ -250,7 +251,7 @@
"<div class=task>\n",
" \n",
"#### Aufgabe 4.b.: Werte berechnen:\n",
"Kopieren Sie Ihre Lösung von Aufgabe 4.a. aus der Vorbereitung in das Notebook und berechnen Sie nun für die Messwerte aus Aufgabe 4 a. die Leistung $P$ und den Widerstand $R$ sowie deren Fehler. Nutzen Sie 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ügen Sie die berechneten Werte als neue Spalten an die Liste *daten* an. \n",
"Kopieren Sie Ihre Lösung von Aufgabe 4.a. aus der Vorbereitung in das Notebook und berechnen Sie nun für die Messwerte aus Aufgabe 4 a. die Leistung $P$ und den Widerstand $R$ sowie deren Fehler. Nutzen Sie hierfür die ausführliche schrebweise der **for**-Schleife im Fall des Widerstands $R$ und den list-comprehension Syntax für die Leistung $P$.\n",
"<div>"
]
},
@ -267,24 +268,19 @@
"source": [
"# Hier eine kleine Hilfestellung für den Start:\n",
"# Messwerttabelle aus Aufgabe 4. a.:\n",
"messwert_nummer = list(range(1,7,1))\n",
"spannungs_wert = [12., 11.78, 12.56, 12.34, 12.01, 11.94]\n",
"spannung_werte = [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",
"widerstand = []\n",
"\n",
"daten = [messwert_nummer, spannungs_wert, strom_werte, dspannung_wetre, dstrom_werte]\n",
"dspannung_werte = [0.32, 0.15, 0.63, 0.12, 0.20, 0.17]\n",
"dstrom_werte = [10] * len(strom_werte)\n",
"widerstand_werte = []\n",
"\n",
"# Beispiel für die Berechnung des Widerstandes:\n",
"def res(i, u):\n",
" r = u/i\n",
" r = u / i\n",
" return r\n",
"\n",
"for strom, spannung in zip(daten[2], daten[1]):\n",
" widerstand.append(res(strom, spannung))\n",
" \n",
"daten.append(widerstand)\n",
"for strom, spannung in zip(strom_werte, spannung_werte):\n",
" widerstand_werte.append(res(strom, spannung))\n",
"\n",
"# Jetzt sind Sie gefragt:\n",
"\n"
@ -515,8 +511,8 @@
" 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",
"x1 = 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",
@ -1056,7 +1052,7 @@
},
"outputs": [],
"source": [
"chi_2 = [ (u - Spannung(i, para2[0]))**2/du**2 for i,u,du in zip(strom, spannung, spannung_error)]\n",
"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}')"
]
@ -1092,10 +1088,10 @@
" strom, \n",
" spannung,\n",
" sigma=spannung_error,\n",
" absolute_sigma=True \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 = [(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}')"
]
@ -1166,7 +1162,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
"version": "3.10.4"
}
},
"nbformat": 4,