Datenauswertung während des Praktikums

Werbung
Tutorium:
Datenauswertung während des
Praktikums
Ziele

Gewinnung der relevanten physikalischen Größen und ihrer
Messunsicherheiten aus den (z.B. mit CASSY) aufgezeichneten Daten
Für Protokoll und Vortrag benötigt:

Darstellung der Rohdaten:
Tabelle
 Histogramm
 Graph


Analyse der Daten:
Kurvenanpassung
 Fourier-Transformation
 Fehlerrechnung: Fehlerfortpflanzung, Statistik


Präsentation der Ergebnisse
Heute: Lösung einiger dieser Aufgaben mit Standardwerkzeugen für das Praktikum.
Henning Gast, RWTH Aachen
•
p2
Programmieren im Praktikum (und darüber hinaus)


Datenauswertung wird in der Physik sehr häufig mit Hilfe eines Computers
durchgeführt.
Dazu ist die Kenntnis einer geeigneten (und gängigen) Programmiersprache
und ggfs eines Computeralgebrasystems unerlässlich.
Vorkenntnisse: Vorlesung zur Datenverarbeitung und Programmierkurs.

Wichtig:
Die Physik steht im Mittelpunkt, der Computer und zu schreibende
Programme sind nur Werkzeuge.
 Das Praktikum ist kein Programmierkurs.


Geeignete Werkzeuge:
python ← unsere Empfehlung und Thema für heute
 ROOT
 Maple
 ...

Henning Gast, RWTH Aachen
•
p3
Python


Voll entwickelte Programmiersprache
Vorteile:






sehr klare Syntax
flache Lernkurve
extrem gute Dokumentation (weite Verbreitung, googlen!)
viele Pakete verfügbar, einschließlich für Datenanalyse
frei verfügbar
Nachteile:
nur eingeschränkt für Analyse sehr großer Datenmengen geeignegt
 (noch) nicht in allen Gebieten der Physik in Aachen verbreitet

Henning Gast, RWTH Aachen
•
p4
ROOT


Analyseumgebung für C++, entwickelt am CERN
Vorteile:
von Physikern für Physiker
 Standardwerkzeug in der Teilchenphysik
 schnelle Lösungen für typische Aufgaben in der Datenanalyse


Nachteile:
erfordert (gute) C++ Kenntnisse
 Dokumentation lückenhaft
 hält den Benutzer zum Teil zu schlechtem Programmieren an

Henning Gast, RWTH Aachen
•
p5
Maple


Computeralgebrasystem
Vorteile:
symbolisches Rechnen
 kein Erlernen einer Programmiersprache notwendig
 schneller Zugang zu vielen Werkzeugen


Nachteile:
nicht primär für Datenanalyse gedacht
 Programmierung für komplexere Aufgaben möglich, aber umständlich
 nicht kostenlos

Henning Gast, RWTH Aachen
•
p6
Python: Installation

auf den Praktikumslaptops:
ipython über Startmenü aufrufen
 Skripte und Dateien sollten hier gespeichert werden:

C:\Dokumente und Einstellungen\praktikum\Eigene Dateien\Python Scripts

auf dem eigenen Laptop:
python 2.7
 ipython
 numpy, scipy, matplotlib


Konfiguration von matplotlib:
~/.config/matplotlib/matplotlibrc:
backend: Qt4Agg
font.size: 16.0
Henning Gast, RWTH Aachen
•
p7
Python Programme ausführen

Durch Aufruf von python:
python skript.py

Aus einer ipython Sitzung:
ipython
In [1]: %run skript.py

Als standalone executable:
1. Zeile in skript.py:
#! /usr/bin/env python
Ausführbar machen:
chmod u+x skript.py
Laufen lassen:
./skript.py

Tipp: schnelle interaktive Analyse mit
ipython ­pylab
Henning Gast, RWTH Aachen
•
p8
Praktikumsbibliothek (python)

Download:
http://accms04.physik.rwth­aachen.de/~praktapp/pgp_semester/python



Nützliche Routinen für das Praktikum, die Sie nachvollziehen können (und
sollen).
Zur Benutzung:
import Praktikum
Inhalt:








CASSY-lab Dateien einlesen
Lineare Regression
Fourier-Transformation
Peaksuche (Schwerpunktsberechnung)
Gewichteter Mittelwert
Tests / Beispiele:
Tests.py
Dokumentation:
z.B. in ipython:
help(Praktikum)
Grafische Datendarstellung (Plots, Histogramme, Graphen, …)
wird mit Hilfe von matplotlib durchgeführt.
Henning Gast, RWTH Aachen
•
p9
CASSY Daten einlesen

Blick in eine CASSY-lab Datei:

Einlesen mit
Praktikum.lese_lab_datei
Datenreihen entsprechen einzelnen
Spalten in dem Array.
Array slicing:
t=data[:,0]
p=data[:,2]
ein erster Plot:
plot(t,p)



→ Tests.test_datenlesen()
Henning Gast, RWTH Aachen
•
p 10
Einfache Plots

Dokumentation:
http://matplotlib.org/api/pyplot_api.html

Histogramm:
hist(p,bins=1000,range=(1000.,1020.),color='green')
Graph:
plot(x,y)
Plot mit Fehlerbalken:


errorbar(Tinv,logP,xerr=sigma_Tinv,yerr=sigma_logP,fmt='.')
Tipp: Plots als Vektorgrafik (eps, pdf) abspeichern und im Protokoll einbinden!
Henning Gast, RWTH Aachen
•
p 11
Beispiel: Pendelversuch

Mathematisches Pendel der Länge L:
ϕ (t )= A cos(ω t )+B sin (ω t )

Bestimmung der Erdbeschleunigung g über
ω2 =
g
L
→ Beispiel_Pendel.py
Henning Gast, RWTH Aachen
•
p 12
Beispiel: Dampfdruckkurve

Clausius-Clapeyron-Gleichung, mit geeigneten Näherungen:
1 1
log( p / p0 )=− Λ −
R T T0
(
)
→ Beispiel_Thermodynamik.py
Henning Gast, RWTH Aachen
•
p 13
Herunterladen