"# Werkzeuge zur Datannahme für den Versuch Pendel"
]
},
{
"cell_type": "markdown",
"id": "a7fd56cb-ed0a-4516-86e6-9fe10a9dd806",
"metadata": {},
"source": [
"Mit den folgenden Code-Fragmenten zeigen wir Ihnen: \n",
"\n",
" * Wie man die Daten Code-Zellen im Protokoll so vorbereiten kann, dass man während der Datrennahme per Hand die aufgenommenen Daten sofort graphisch darstellen kann.\n",
" * Wie man die $\\chi^{2}$-Funktion aus dem Programmpaket `scipy` dazu verwenden kann einen $p$-Wert zu bestimmen. \n",
"\n",
"Alle im Folgenden gezeigten Code-Fragmente lassen sich geeignet kombinieren. "
]
},
{
"cell_type": "markdown",
"id": "4847bf0a-0697-400d-a0f0-11a41a48133b",
"metadata": {
"jp-MarkdownHeadingCollapsed": true,
"tags": []
},
"source": [
"## Datenname per Hand und sofortige Visualierung der aufgezeichneten Daten im Protokoll"
]
},
{
"cell_type": "markdown",
"id": "0928d73a-39a5-48fb-aa32-a3b5f881cca0",
"metadata": {},
"source": [
"Mit dem folgenden Code-Fragment zeigen wir Ihnen:\n",
" \n",
" * Wie man mit Hilfe der Programmpakete `numpy` und `matplotlib` und geschickter Vorbereitung der Code-Zellen im Protokoll Datenpunkte von Hand aufnehmen und während der Entstehung sofort graphisch darstellen kann."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b019dbde-bf4c-4db8-ba60-3cbdabfb2a10",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from numpy import nan\n",
"\n",
"# Check small angle approximation. Columns of entires are: \n",
"# phi0, T01, T02, T03, T04, T05; \n",
"# phi0 will run in steps of 5 deg von 60 bis 5 deg. Replace nan's by actual \n",
"# measurments\n",
"a = np.array([\n",
" 60., nan, nan, nan, nan, nan,\n",
" 55., nan, nan, nan, nan, nan,\n",
" 50., nan, nan, nan, nan, nan,\n",
" 45., nan, nan, nan, nan, nan,\n",
" 40., nan, nan, nan, nan, nan,\n",
" 35., nan, nan, nan, nan, nan,\n",
" 30., nan, nan, nan, nan, nan,\n",
" 25., nan, nan, nan, nan, nan,\n",
" 20., nan, nan, nan, nan, nan,\n",
" 15., nan, nan, nan, nan, nan,\n",
" 10., nan, nan, nan, nan, nan,\n",
" 5., nan, nan, nan, nan, nan,\n",
"]).reshape((12,6))\n",
"# Definition of a single measurement row (here done by using numpy)\n",
"phi0 = a[0:,0] # For each row --> the first column\n",
"T0 = a[0:,1:].mean(axis=1) # For each row --> the mean over columns 1... end\n",
"dT = a[0:,1:].std(axis=1,ddof=1) # For each row --> the standard deviation over columns 1 ... end\n",
"# Check whether the calculated vlaues mae sense\n",
Mit den folgenden Code-Fragmenten zeigen wir Ihnen:
* Wie man die Daten Code-Zellen im Protokoll so vorbereiten kann, dass man während der Datrennahme per Hand die aufgenommenen Daten sofort graphisch darstellen kann.
* Wie man die $\chi^{2}$-Funktion aus dem Programmpaket `scipy` dazu verwenden kann einen $p$-Wert zu bestimmen.
Alle im Folgenden gezeigten Code-Fragmente lassen sich geeignet kombinieren.
* Wie man mit Hilfe der Programmpakete `numpy` und `matplotlib` und geschickter Vorbereitung der Code-Zellen im Protokoll Datenpunkte von Hand aufnehmen und während der Entstehung sofort graphisch darstellen kann.