mirror of
https://gitlab.rlp.net/pgp/pgp1-python-einfuehrung
synced 2024-11-16 13:48:11 +00:00
Small changes, especially removing the list of lists daten
This commit is contained in:
parent
2fd7e95409
commit
ee101a63ac
3 changed files with 40 additions and 34 deletions
|
@ -905,6 +905,24 @@
|
||||||
"Messwerte1"
|
"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",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": null,
|
||||||
|
@ -1166,7 +1184,7 @@
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"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",
|
" \n",
|
||||||
"#### Aufgabe 4.a.: Erstellen von Messwerttabellen:\n",
|
"#### Aufgabe 4.a.: Erstellen von Messwerttabellen:\n",
|
||||||
"\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",
|
"\n",
|
||||||
"| Messwertnummer | Spannung [V] | Strom [mA] | Fehler der Spannung [V] | Fehler des Stroms [mA] |\n",
|
"| Messwertnummer | Spannung [V] | Strom [mA] | Fehler der Spannung [V] | Fehler des Stroms [mA] |\n",
|
||||||
"|----------------|--------------|------------|-------------------------|---------------------------|\n",
|
"|----------------|--------------|------------|-------------------------|---------------------------|\n",
|
||||||
|
@ -1213,16 +1231,8 @@
|
||||||
"**Tipp:**\n",
|
"**Tipp:**\n",
|
||||||
"\n",
|
"\n",
|
||||||
"1. Sie haben bereits die Funktionen für die Leistung in Aufgabe 3 definiert und können sie hier erneut verwenden. \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",
|
"\n",
|
||||||
"```python\n",
|
"2. Geben Sie an, wie sich die Messwertnummer zum Listenindex verhält.\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",
|
|
||||||
"<div>"
|
"<div>"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -1245,7 +1255,7 @@
|
||||||
"<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",
|
"\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",
|
"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",
|
||||||
"| Fallhöhe [m] | Höhenfehler [m] | Fallzeit [s] | Zeitfehler [ms] |\n",
|
"| Fallhöhe [m] | Höhenfehler [m] | Fallzeit [s] | Zeitfehler [ms] |\n",
|
||||||
|
@ -1295,7 +1305,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.9.7"
|
"version": "3.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
|
@ -198,7 +198,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.9.7"
|
"version": "3.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
|
@ -47,7 +47,8 @@
|
||||||
"for wert in liste:\n",
|
"for wert in liste:\n",
|
||||||
" print('Wert:', wert)\n",
|
" print('Wert:', wert)\n",
|
||||||
" rechnung = wert + 2\n",
|
" rechnung = wert + 2\n",
|
||||||
"print('Ergebnis:', rechnung)"
|
"\n",
|
||||||
|
"print('Rechnung:', rechnung)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -250,7 +251,7 @@
|
||||||
"<div class=task>\n",
|
"<div class=task>\n",
|
||||||
" \n",
|
" \n",
|
||||||
"#### Aufgabe 4.b.: Werte berechnen:\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>"
|
"<div>"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -267,24 +268,19 @@
|
||||||
"source": [
|
"source": [
|
||||||
"# Hier eine kleine Hilfestellung für den Start:\n",
|
"# Hier eine kleine Hilfestellung für den Start:\n",
|
||||||
"# Messwerttabelle aus Aufgabe 4. a.:\n",
|
"# Messwerttabelle aus Aufgabe 4. a.:\n",
|
||||||
"messwert_nummer = list(range(1,7,1))\n",
|
"spannung_werte = [12., 11.78, 12.56, 12.34, 12.01, 11.94]\n",
|
||||||
"spannungs_wert = [12., 11.78, 12.56, 12.34, 12.01, 11.94]\n",
|
|
||||||
"strom_werte = [110, 98, 102, 124, 105, 95]\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",
|
"dspannung_werte = [0.32, 0.15, 0.63, 0.12, 0.20, 0.17]\n",
|
||||||
"dstrom_werte = [10]*len(messwert_nummer)\n",
|
"dstrom_werte = [10] * len(strom_werte)\n",
|
||||||
"widerstand = []\n",
|
"widerstand_werte = []\n",
|
||||||
"\n",
|
|
||||||
"daten = [messwert_nummer, spannungs_wert, strom_werte, dspannung_wetre, dstrom_werte]\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"# Beispiel für die Berechnung des Widerstandes:\n",
|
"# Beispiel für die Berechnung des Widerstandes:\n",
|
||||||
"def res(i, u):\n",
|
"def res(i, u):\n",
|
||||||
" r = u/i\n",
|
" r = u / i\n",
|
||||||
" return r\n",
|
" return r\n",
|
||||||
"\n",
|
"\n",
|
||||||
"for strom, spannung in zip(daten[2], daten[1]):\n",
|
"for strom, spannung in zip(strom_werte, spannung_werte):\n",
|
||||||
" widerstand.append(res(strom, spannung))\n",
|
" widerstand_werte.append(res(strom, spannung))\n",
|
||||||
" \n",
|
|
||||||
"daten.append(widerstand)\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"# Jetzt sind Sie gefragt:\n",
|
"# Jetzt sind Sie gefragt:\n",
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -515,8 +511,8 @@
|
||||||
" return x**3\n",
|
" return x**3\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"x1 = list(range(-3, 4, 1)) # <- Werte zwischen -3 und 3\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",
|
"x2 = [i / 10 for i in range(-30, 31, 1)] # <- 10 mal mehr Werte\n",
|
||||||
"\n",
|
"\n",
|
||||||
"y1 = [cubic(j) for j in x1]\n",
|
"y1 = [cubic(j) for j in x1]\n",
|
||||||
"y2 = [cubic(value) for value in x2]\n",
|
"y2 = [cubic(value) for value in x2]\n",
|
||||||
|
@ -1056,7 +1052,7 @@
|
||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"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",
|
"chi_2 = sum(chi_2)\n",
|
||||||
"print(f'Das chi-qudrat ist {chi_2:.2f}')"
|
"print(f'Das chi-qudrat ist {chi_2:.2f}')"
|
||||||
]
|
]
|
||||||
|
@ -1092,10 +1088,10 @@
|
||||||
" strom, \n",
|
" strom, \n",
|
||||||
" spannung,\n",
|
" spannung,\n",
|
||||||
" sigma=spannung_error,\n",
|
" sigma=spannung_error,\n",
|
||||||
" absolute_sigma=True \n",
|
" absolute_sigma=True,\n",
|
||||||
" )\n",
|
" )\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",
|
"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}')"
|
"print(f'Chi-qudrat nach URI: {chi_2:.2f}\\nChi-qudrat nach URI-Parabel: {chi_2_new:.2f}')"
|
||||||
]
|
]
|
||||||
|
@ -1166,7 +1162,7 @@
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.9.7"
|
"version": "3.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
|
Loading…
Reference in a new issue