Tutorium:Datenauswertung während des Praktikums
Henning Gast, RWTH Aachen • p 2
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 • p 3
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 • p 4
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 • p 5
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 • p 6
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 • p 7
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: Qt4Aggfont.size: 16.0
Henning Gast, RWTH Aachen • p 8
Python Programme ausführen
Durch Aufruf von python:python skript.py
Aus einer ipython Sitzung:ipythonIn [1]: %run skript.py
Als standalone executable:1. Zeile in skript.py:
#! /usr/bin/env pythonAusführbar machen:
chmod u+x skript.pyLaufen lassen:
./skript.py
Tipp: schnelle interaktive Analyse mitipython pylab
Henning Gast, RWTH Aachen • p 9
Praktikumsbibliothek (python)
Download:http://accms04.physik.rwthaachen.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 • p 10
CASSY Daten einlesen
Blick in eine CASSY-lab Datei:
Einlesen mitPraktikum.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 11
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 12
Beispiel: Pendelversuch
Mathematisches Pendel der Länge L:
Bestimmung der Erdbeschleunigung g über
Beispiel_Pendel.py→
ϕ(t )=A cos(ω t )+B sin (ω t )
ω2=gL
Henning Gast, RWTH Aachen • p 13
Beispiel: Dampfdruckkurve
Clausius-Clapeyron-Gleichung, mit geeigneten Näherungen:
Beispiel_Thermodynamik.py→
log(p / p0)=−ΛR ( 1
T−
1T 0
)