Tutorium: Datenauswertung während des...

13
Tutorium: Datenauswertung während des Praktikums

Transcript of Tutorium: Datenauswertung während des...

Page 1: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

Tutorium:Datenauswertung während des Praktikums

Page 2: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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.

Page 3: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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 ...

Page 4: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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

Page 5: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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

Page 6: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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

Page 7: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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

Page 8: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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

Page 9: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

Henning Gast, RWTH Aachen • p 9

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.

Page 10: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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()

Page 11: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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!

Page 12: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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

Page 13: Tutorium: Datenauswertung während des Praktikumsaccms04.physik.rwth-aachen.de/~praktapp/pgp_semester/einfuehrung/... · ipython über Startmenü aufrufen

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

)