Skip to content
Snippets Groups Projects
Commit 4c1911c7 authored by Roger Wolf's avatar Roger Wolf
Browse files

add new file to support new lecture

parent e9aa17d7
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:4abb1785-91d0-4c14-8b61-a04e2823a405 tags:
# Aufnahme der Daten von Hand
Um Daten manuell (d.h. per Hand) aufzunehmen und ins Jupyter-notebook einzutragen empfiehlt es sich **übersichtlich und gut organisiert** zu arbeiten. Die Aufnahme der Daten ist dadurch schneller und weniger Fehleranfällig. Gehen Sie dabei wie folgt vor:
* Machen Sie sich **bereits in der Vorbereitung zum Versuch** klar, was Sie messen möchten.
* Legen Sie geeignete Tabellen in Code-Zellen an.
* Richten Sie die grundlegende Weiterverarbeitung der Messdaten ein, indem Sie z.B. **Code-Snipets zur Berechnung systematischer Unsicherheiten in einer Code-Zelle hinterlegen**.
* Richten Sie die Möglichkeit ein die aufgenommenen **Daten sofort zu visualisieren**. So können Sie missglückte Messungen (sog. *outlier*) leicht identifizieren und ggf. neu messen.
* Speichern Sie das Jupyter-notebook während der Datennahme in regelmäßigen Zeitabständen, damit Ihnen keine Daten verloren gehen.
In der folgenden Code-Zelle sehen Sie ein Beispiel für eine vorgefertigte Tabelle, wie man Sie bereits in der Vorbereitung zum Versuch einrichten kann, und in die Sie nur noch Ihre Messwerte eintragen müssen. Nach Ausführen der Code-Zelle können Sie die aufgenommenen Daten zu jedem Zeitpunkt **sofort visualisieren**:
%% Cell type:code id:c8b97a8a-fbfb-4b35-aa9c-a0fb933adfb7 tags:
``` python
# Example for the visualization of measurement points
import matplotlib.pyplot as plt
# You may use the numpy.nan object as a placeholder for values that you have
# not measured, yet
from numpy import nan, array
import numpy as np, matplotlib.pyplot as plt
# die Messdaten
x_data = [1, 2, 3, 4, 5]
x_err = [0.3, 0.3, 0.2, 0.2, 0.1]
y_data = [1, 4, 9, 16, 25]
y_err = [0.75, 0.8, 1.2, 2.5, 3.5]
# grafische Darstellung
plt.errorbar(x_data, y_data, xerr=x_err, yerr=y_err, color='darkblue', marker="o")
plt.ylabel("y-Achse", size='x-large')
plt.xlabel("x-Achse")
plt.title("Beispiel zur Visualisierung von Daten mit Unsicherheiten")
plt.show()
```
%% Output
%% Cell type:code id:5dcc2735-37bb-4bcc-be21-1ca7bcfb63f7 tags:
``` python
import numpy as np
# Werte
vx = np.array([1, 2, 3, 4, 6, 5, 8, 7])
dx = np.array([0.1, 0.2, 0.1, 0.1, 0.05, 0.75, 1.5, 0.25])
# Berechnung eines gewichteten Mittelwerts
w = 1./dx**2
sumw = np.sum(w)
mean = np.sum(w*vx)/sumw
sigma = np.sqrt(1./sumw)
print("Gewichteter Mittelwert:", mean, "+/-", sigma)
```
%% Output
Gewichteter Mittelwert: 4.5402900284048435 +/- 0.03668095690941965
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment