Darstellung und Auswertung von Messdaten
Im allen Praktika zur Physik werden Methoden zur Darstellung und Analyse von Messdaten benötigt. Die Script- und Programmiersprache python mit den Zusatzpaketen numpy und matplotlib bietet dazu felxible Werkzeuge, die auch die Wiederholbarkeit und Reproduzierbarkeit von Datenauswertungen gewährleisten.
In der Veranstaltung
„Computergestützte Datenauswertung“,
die im neuen Studienplan für den Bachelorstudiengang Physik
seit dem Sommersemester 2016 angeboten wird,
werden Methoden und Software zur grafischen Darstellung von Daten,
deren Modellierung und Auswertung eingeführt.
Die folgen Links erlauben einen schnellen Überblick:
Speziell für das „Praktikum zur klassischen Physik“
finden sich eine kurze Einführung (
Einführungsvorlesung zum Praktikum )
sowie Beispiele als Startpunkt für eigene Auswertungen
unter folgendem Link:
Starter-Kit für das Praktikum klassische Physik
zip-Datei
Nützliche Funktionen sind im Paket „PhyPraKit“
zum Import in eigene Anwendungen zusammengefasst:
- Das Paket
PhyPraKit enthält Hilfsfunktionen
zur Verwendung (d. h. import) in eigenen
Anwendungen mittels
import PhyPraKit as ppk
bzw.
from PhyPraKit import <modulname>
PhyPraKit Downloads:
Download-Verzeichnis PhyPraKit-master.zip Installationspaket für pip (.tar.gz) pip wheel (.whl)
Beispielprogramme in python
Die nachfolgenden kurzen Programmbeispiele illustrieren die Anwendung der in PhyPraKit.py enthaltenen Module:- test_readColumnData ist ein Beispiel zum Einlesen von Spalten aus Textdateien; die zugehörigen „Metadaten“ können ebenfalls an das Script übergeben werden und stehen so bei der Auswertung zur Verfügung.
- test_readtxt.py nutzt das Modul readtxt() zum Einlesen von Daten im sehr allgemeinen .txt-Format, das als Option von vielen Datenloggern angeboten wird. Allerdings ist dieses Format nicht genau festgelegt; daher werden eine als Parameter vorzugebende Anhahl von Kopfzeilen übersprungen, ASCII-Sonderzeichen außer dem ebenfalls als Parameter zu übergebenden Spalten-Trenner entfernt und bisweilen verwendete deutsche Dezimalkommata durch Dezimalpunkte ersetzt.
- test_readPicoScope liest Ausgabedateien von USB-Oszillographen der Marke PicoScope im Format .csv oder .txt.
- test_labxParser liest Ausgabedateien von Leybold CASSY im .labx-Format. Die Kopfzeilen und Daten von Messreihen werden als Listen in python zur Verfügung gestellt. Typische Eingabedaten finden sich in der Datei CassyExample.labx
- test_readCassy liest Ausgabedateien von Leybold CASSY im .txt-Format. Die Datei Cassy.txt ist ein typisches Beispiel.
- test_AutoCorrelation.py liest die Datei AudioData.csv und führt eine Analyse der Autokorrelation zur Frequenzbestimmung durch. test_Fourier.py illustriert die Durchführung einer Fourier-Transfomation eines periodischen Signals, das in der PicoScope-Ausgabedatei Wellenform.csv enthalten ist.
- test_kRegression dient zur Anpassung einer Geraden an Messdaten mit Fehlern in Ordinaten- und Abszissenrichtung und für alle Messpunkte gemeinsamen (d. h. korrelierten) relativen oder absoluten systematischen Fehlern mit dem Paket kafe.
- test_linRegression ist eine einfachere Version mit python-Bordmitteln zur Anpassung einer Geraden an Messdaten mit Fehlern in Ordinaten- und Abszissenrichtung. Korrelierte Unsicherheiten werden nicht unterstützt.
- test_kFit ist eine verallgemeinerte Version von test_kRegression und dient zur Anpassung einer beliebigen Funktion an Messdaten mit Fehlern in Ordinaten- und Abszissenrichtung und für alle Messpunkte gemeinsamen (d. h. korrelierten) relativen oder absoluten systematischen Fehlern mit dem Paket kafe.
- test_Histogram ist ein Beispiel zur Darstellung und statistischen Auswertung von Häufigkeitsverteilungen (Histogrammen) in einer und zwei Dimensionen.
- test_generateXYata zeigt, wie man mit Hilfe von Zufallszahlen
„künstliche Daten“
zur Veranschaulichung oder zum Test von Methoden zur Datenauswertung
erzeugen kann.
- kfitf.py ist ein Kommandozeilen-Werkzeug, mit dem man komfortabel Anpassungen ausführen kann, bei denen Daten und Fit-Funktion in einer einzigen Datei angegeben werden. Beispiele finden sich in den Dateien mit der Endung .fit.
- Beispiel_Drehpendel.py demonstriert die Analyse von am Drehpendel mit CASSY aufgenommenen Daten. Enthalten sind einfache Fuktionen zur Suche nach Extrema, zur Anpassung einer Einhüllenden, zur diskreten Fourier-Transformation und zur Interpolation von Messdaten mit kubischen Spline-Funktionen, also durch Segmente von Polynomen dritten Grades.
- Beispiel_Hysterese.py zeigt die Analyse von Daten, die mit einem USB-Oszilloskop der Marke PicoScope am Versuch zur Hysterese aufgenommen wurden. Die Datenauswertung nutzt die Interpolation der aufgenommenen Daten mit Hilfe von kubischen Spline-Funktionen. Die aufgezeichneten Werte für Strom und B-Feld werden in einen Zweig für steigenden und fallenden Strom aufgeteilt, interpoliert und dann integriert.
- Beispiel_Wellenform.py zeigt eine typische Auswertung periodischer Daten am Beispiel der akustischen Anregung eines Metallstabs. Genutzt werden Fourier-Transformation und eine Suche nach charakteristischen Extrema. Die Zeitdifferenzen zwischen deren Auftreten im Muster werden bestimmt, als Häufgkeitsverteilung dargestellt und die Verteilungen statistisch ausgewertet.
- Beispiel_GammaSpektroskopie.py liest mit dem Vielkanalanalysator des CASSY-Systems im .labx-Format gespeicherten Dateien ein (Beispieldatei GammaSpektra.labx).
Für die Erstellung von Protokollen mit Tabellen, Grafiken und Formeln bietet sich das Textsatz-System LaTeX an. Die Datei Protokollvorlage.zip enthält eine sehr einfach gehaltene Vorlage, die für eigene Protokolle verwendet werden kann. Eine sehr viel umfangreichere Einführung sowie ein ausführliches Beispiel bietet die LaTex-Vorlage der Fachschaft Physik.
- Installation der empfohlenen Software auf verschiedenen Plattformen html pdf packages
- virtuelle Maschine mit Software zur Datenanalyse
- Skript: Funktionsanpassung mit der χ2-Methode
- Funktionsanpassung in Python (Paket kafe)   (local Download)   (download from github)