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

cleanup

parent 4c1911c7
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
# Beispiele zur Arbeit mit Daten
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:
In den folgenden Abschnitten zeigen wir Ihnen:
* 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
* Wie Sie, mit Hilfe der Bibliothek *numpy* Mittelwert und Varianz einer Stichprobe von zufallsgrößen auswerten können.
* Wie die einen gewichteten Mittelwert und die Unsicherheit daraus auswerten können.
* Wie Sie den *pull* zwischen zwei Messungen $x_{0}$ und $x_{1} $ mit Unsicherheiten $\Delta x_{0}$ und $\Delta x_{1}$ berechnen können.
%% 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