Modul cassy¶
Dieses Modul enthält die Funktionalität zum Einlesen von Daten, die mit einem Cassy-System geschrieben wurden (Dateiendungen .lab (Cassy-1), bzw. .labx oder .txt (Cassy-2)).
- class praktikum.cassy.CassyDaten(cassydatei)[Quellcode]¶
Stellt die Gesamtheit der aus einer Cassy2-Datei eingelesenen Daten zur Verfügung.
Die Daten setzen sich aus einzelnen Messreihen (vom Typ
Messung
) zusammen.- Parameter
cassydatei (string) – Dateiname der einzulesenden Cassy-Datei (Dateiendung: .lab, .labx oder .txt)
- anzahl_messungen()[Quellcode]¶
Anzahl der Messungen in der Datei.
- info()[Quellcode]¶
Gebe Informationen über die enthaltenen Messungen aus.
- messung(nummer)[Quellcode]¶
Zugriff auf einzelne
Messung
.
- class praktikum.cassy.Datenreihe(werte, groesse, symbol, einheit)[Quellcode]¶
Eine Datenreihe enthält die Messwerte und weitere Informationen zu einer bestimmten bei einer Messung mit Cassy aufgezeichneten Größe.
Die Variable werte enthält die Liste der Messwerte. Daneben werden das während der Messung mit Cassy verwendete Formelzeichen (symbol), eine Beschreibung der Messgröße (groesse) und die Einheit der Messwerte (einheit) zur Verfügung gestellt.
- werte¶
Numpy-Array, dass die während der Messung mit Cassy aufgezeichneten Messwerte enthält.
- groesse¶
Beschreibung der Messgröße (z.B. „Stromstärke“).
- symbol¶
Für den Zugriff auf die Datenreihe zu verwendendes Symbol (z.B. „I_A1“).
- einheit¶
Einheit der Messwerte in werte (z.B. „mA“).
- info()[Quellcode]¶
Gebe Messgröße, Symbol und Einheit der Datenreihe aus, ebenso wie Informationen zu den enthaltenen Messwerten (Anzahl, Minimum und Maximum).
- class praktikum.cassy.Messung(zeitpunkt, beschreibung, nummer)[Quellcode]¶
Eine einzelne mit Cassy aufgezeichnete Messung.
Für jede bei der Messung aufgezeichnete Größe wird eine
Datenreihe
angelegt.Darüber hinaus werden der Zeitpunkt der Messung und der während der Messung in der Cassy-Software eingegebene Kommentar gespeichert. (Nur bei Verwendung der .labx-Dateien.)
- datenreihe(symbol)[Quellcode]¶
Zugriff auf die zum symbol gehörende
Datenreihe
.- Parameter
symbol (string) – Bei der Aufzeichnung mit Cassy verwendetes Symbol.
- Rückgabetyp
- info()[Quellcode]¶
Gebe Zeitpunkt und Kommentar zu der Messung aus (soweit vorhanden), sowie die Symbole aller in der Messung enthaltenen Datenreihen.
Modul analyse¶
Dieses Modul enthält grundlegende Funktionen, die bei der Datenanalyse im Grundpraktikum Physik verwendet werden.
- praktikum.analyse.exp_einhuellende(t, y, ey, sens=0.1)[Quellcode]¶
Exponentielle Einhüllende.
- Parameter
t (array_like) – Zeitwerte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
ey (array_like Fehler auf die y-Werte der Datenpunkte) –
sens (float, optional) – Sensitivität, Wert zwischen 0 und 1
Die Funktion gibt auf der Basis der drei Argumente (Listen mit t- bzw. dazugehörigen y-Werten plus y-Fehler) der Kurve die Parameter A0 und delta samt Fehlern der Einhüllenden von der Form \(A=A_0\exp(-\delta{}t)\) (abfallende Exponentialfunktion) als Liste aus. Optional kann eine Sensitivität angegeben werden, die bestimmt, bis zu welchem Prozentsatz des höchsten Peaks der Kurve noch Peaks für die Berechnung berücksichtigt werden (voreingestellt: 10%).
- Rückgabetyp
Liste [A0, sigmaA0, delta, sigmaDelta]
- praktikum.analyse.fit_gedaempfte_schwingung(t, y, ey, plot_fit=False, einheit_x='s', symbol_y='y', einheit_y='[y]', fehler_skalierung=False, fig_name=None)[Quellcode]¶
Fit einer gedämpften Schwingung (mit Offset) an Datenpunkte als Funktion der Zeit.
Die Funktion passt auf der Basis der drei Argumente (Listen mit t- und dazugehörigen y-Werten plus y-Fehler) eine exponentiell gedämpfte Schwinung (einschließlich eines Offsets) der Form \(y=A\exp(-\delta{}t)\cos(2\pi{}t/T+\phi) + y_0\) mit der Methode der kleinsten Quadrate an die Datenpunkte an. Die Startwerte werden automatisch bestimmt.
Auf Wunsch werden die Datenpunkte und die angepasste Kurve zusammen mit einem Residuenplot in einer neuen Abbildung geplottet.
- Parameter
t (array_like) – Zeitwerte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
ey (array_like) – Fehler auf die y-Werte der Datenpunkte
plot_fit (bool) – Sollen Datenpunkte, Fit und Residuenplot geplottet werden?
einheit_x (str) – Einheit der Zeit-Achse (für den Plot)
symbol_x (str) – Formelzeichen für die Größe auf der y-Achse (für den Plot)
einheit_y (str) – Einheit der y-Achse (für den Plot)
fehler_skalierung (bool) – Option, um die Unsicherheiten auf die Fit-Parameter so zu skalieren, dass sie den Werten entsprechen, die man erhalten würde, wenn man die Unsicherheiten auf die y-Werte so skaliert, dass man ein reduziertes Chi-Quadrat von 1 erhält. Nützlich für die Bestimmung von systematischen Unsicherheiten.
fig_name (str oder None) – Name für die Abbildung
- Rückgabe
Amplitude \(A\), Periodendauer \(T\), Phase \(\phi\), Dämpfungskonstante \(\delta\), Offset \(y_0\), entsprechende Periodendauer der ungedämpften Schwingung \(T_0\) (berechnet aus \(\omega^2=\omega_0^2-\delta^2\)), \(\chi^2\) der Anpassung, Anzahl der Freiheitsgrade
- Rückgabetyp
Tupel. Die Fit-Parameter werden als ufloat Objekte (Werte mit Unsicherheiten, aus dem uncertainties Paket) zurückgegeben.
- praktikum.analyse.fourier(t, y)[Quellcode]¶
Fourier-Transformation.
- Parameter
t (array_like) – Zeitwerte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
- Rückgabetyp
Gibt das Fourierspektrum in Form zweier Listen (freq,amp) zurück, die die Fourieramplituden als Funktion der zugehörigen Frequenzen enthalten.
- praktikum.analyse.fourier_fft(t, y)[Quellcode]¶
Schnelle Fourier-Transformation.
- Parameter
t (array_like) – Zeitwerte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
- Rückgabetyp
Gibt das Fourierspektrum in Form zweier Listen (freq,amp) zurück, die die Fourieramplituden als Funktion der zugehörigen Frequenzen enthalten.
- praktikum.analyse.gewichtetes_mittel(y, ey)[Quellcode]¶
Berechnet den gewichteten Mittelwert der gegebenen Daten.
- Parameter
y (array_like) – Datenpunkte
ey (array_like) – Zugehörige Messunsicherheiten.
- Rückgabetyp
Gibt den gewichteten Mittelwert samt Fehler als Tupel (Mittelwert, Fehler) zurück.
- praktikum.analyse.lineare_regression(x, y, ey)[Quellcode]¶
Lineare Regression.
- Parameter
x (array_like) – x-Werte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
ey (array_like) – Fehler auf die y-Werte der Datenpunkte
Diese Funktion benötigt als Argumente drei Listen: x-Werte, y-Werte sowie eine mit den Fehlern der y-Werte. Sie fittet eine Gerade an die Werte und gibt die Steigung a und y-Achsenverschiebung b mit Fehlern sowie das \(\chi^2\) und die Korrelation von a und b aus.
- Rückgabetyp
Liste der Fit-Ergebnisse in der Reihenfolge [a, ea, b, eb, chiq, corr]
- praktikum.analyse.lineare_regression_xy(x, y, ex, ey)[Quellcode]¶
Lineare Regression mit Fehlern in x und y.
- Parameter
x (array_like) – x-Werte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
ex (array_like) – Fehler auf die x-Werte der Datenpunkte
ey (array_like) – Fehler auf die y-Werte der Datenpunkte
Diese Funktion benötigt als Argumente vier Listen: x-Werte, y-Werte sowie jeweils eine mit den Fehlern der x- und y-Werte. Sie fittet eine Gerade an die Werte und gibt die Steigung a und y-Achsenverschiebung b mit Fehlern sowie das \(\chi^2\) und die Korrelation von a und b aus.
Die Funktion verwendet den ODR-Algorithmus von scipy.
- Rückgabetyp
Liste der Fit-Ergebnisse in der Reihenfolge [a, ea, b, eb, chiq, corr]
- praktikum.analyse.mittelwert_stdabw(daten)[Quellcode]¶
Berechnet das arithmetische Mittel und die empirische Standardabweichung der gegebenen Daten.
Der Mittelwert der Daten \(\{x_1, \ldots, x_N\}\) ist definiert als \(\overline{x} = \sum\limits_{i=1}^N x_i\). Die Standardabweichung ist gegeben durch \(\sigma_x = \sqrt{\frac{1}{N-1} \sum\limits_{i=1}^N (x_i-\bar{x})^2}\).
- Parameter
daten (array_like) – Messwerte
- Rückgabetyp
Tupel (Mittelwert, Standardabweichung)
- praktikum.analyse.peak(x, y, x0, x1)[Quellcode]¶
Approximiere ein lokales Maximum in den Daten (x,y) zwischen x0 und x1. Die Quadrate der y-Werte werden dabei als Gewichte verwendet.
- praktikum.analyse.peakfinder_schwerpunkt(x, y, schwelle=0.1)[Quellcode]¶
Finde Peak in den Daten (x,y) mit der Schwerpunktsmethode. Die Quadrate der y-Werte werden dabei als Gewichte verwendet. Es werden alle Datenpunkte verwendet, deren Amplitude oberhalb der gegebenen relativen Schwelle rund um das Maximum liegen.
- Parameter
x (array_like) – x-Werte des Eingangsdatensatzes.
y (array_like) – Zugehörige y-Werte.
schwelle (float, optional) – Berechne Peak aus allen Datenpunkten, deren Amplitude mindestens \(schwelle\cdot\mathrm{max}(y)\) beträgt.
- Rückgabetyp
Lage des Maximums entlang x.
- praktikum.analyse.quadratische_regression(x, y, ey)[Quellcode]¶
Quadratische Regression mit Fehlern in y-Richtung.
- Parameter
x (array_like) – x-Werte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
ey (array_like) – Fehler auf die y-Werte der Datenpunkte
Diese Funktion benötigt als Argumente drei Listen: x-Werte, y-Werte sowie eine mit den Fehlern der y-Werte.
Sie fittet eine Parabel der Form \(y=ax^2+bx+c\) an die Werte und gibt die Parameter a, b und c mit Fehlern sowie das \(\chi^2\) und die drei Korrelationskoeffizienten der Parameter aus.
- Rückgabetyp
Liste der Fit-Ergebnisse in der Reihenfolge [a, ea, b, eb, c, ec, chiq, (corr_ab, corr_ac, corr_bc)]
- praktikum.analyse.quadratische_regression_xy(x, y, ex, ey)[Quellcode]¶
Quadratische Regression mit Fehlern in x und y.
- Parameter
x (array_like) – x-Werte der Datenpunkte
y (array_like) – y-Werte der Datenpunkte
ex (array_like) – Fehler auf die x-Werte der Datenpunkte
ey (array_like) – Fehler auf die y-Werte der Datenpunkte
Diese Funktion benötigt als Argumente vier Listen: x-Werte, y-Werte sowie jeweils eine mit den Fehlern der x- und y-Werte. Sie fittet eine Parabel der Form \(y=ax^2+bx+c\) an die Werte und gibt die Parameter a, b und c mit Fehlern sowie das \(\chi^2\) und die drei Korrelationskoeffizienten der Parameter aus.
Die Funktion verwendet den ODR-Algorithmus von scipy.
- Rückgabetyp
Liste der Fit-Ergebnisse in der Reihenfolge [a, ea, b, eb, c, ec, chiq, (corr_ab, corr_ac, corr_bc)]
- praktikum.analyse.untermenge_daten(x, y, x0, x1)[Quellcode]¶
Extrahiere kleinere Datensätze aus (x,y), so dass x0 <= x <= x1
- Parameter
- Rückgabetyp
(xn,yn) wobei xn und yn die reduzierten x- und y-Listen sind.
Modul literaturwerte¶
Dieses Modul enthält Literaturwerte bzw. Herstellerangaben, die bei der Auswertung im Grundpraktikum Physik nützlich, aber nicht einfach anders zugänglich sind.
- praktikum.literaturwerte.brechungsindex_luft(lambd, t=20.0, p=1013.25, e=13.33)[Quellcode]¶
Berechnung des Brechungsindex von Luft
- Parameter
lambd – Vakuumwellenlänge der Lichtquelle in \(\mu{}m\)
t – Temperatur in °C
p – Luftdruck in mbar
e – Wasserdampfpartialdruck (Feuchtigkeit) in mbar
Quelle: Kohlrausch, Praktische Physik, 23. Auflage, Band 1, S. 461
Die Formel gilt in guter Näherung im Temperaturbereich von 15 bis 30 °C und im Druckbereich von 933 bis 1067 mbar, außerdem für ein CO2-Volumengehalt von 0,03%.
Mit der Formel lassen sich nicht die im Kohlrausch angegebenen beispielhaften Werte für einzelne Wellenlängen reproduzieren. Gleichwohl stimmen die Werte für trockene Luft mit denen überein, die sich nach dem CRC Handbook (78. Auflage, S. 10-259) berechnen lassen (das CRC Handbook gibt keine Formel für feuchte Luft an).
- Rückgabetyp
Brechungsindex der Luft
- praktikum.literaturwerte.dichte_luft(phi, p, t)[Quellcode]¶
Berechung der Dichte von (feuchter) Luft
- praktikum.literaturwerte.molare_masse_luft(phi, p, t)[Quellcode]¶
Berechung der molaren Masse von (feuchter) Luft
- praktikum.literaturwerte.n_schott_f2(lambd)[Quellcode]¶
Formel für den Brechungsindex des Schott-Glases F2 (Flintglas)
- Parameter
lambd – Vakuumwellenlänge der Lichtquelle in \(\mu{}m\)
- Rückgabetyp
Brechungsindex bei der gegebenen Wellenlänge.
- praktikum.literaturwerte.n_schott_nsf10(lambd)[Quellcode]¶
Formel für den Brechungsindex des Schott-Glases N-SF10 (Schwerflintglas)
- Parameter
lambd – Vakuumwellenlänge der Lichtquelle in \(\mu{}m\)
- Rückgabetyp
Brechungsindex bei der gegebenen Wellenlänge.
- praktikum.literaturwerte.saettigungsdampfdruck_wasser(t)[Quellcode]¶
Näherungsformel nach Magnus für den Sättigungsdampfdruck über einer Wasseroberfläche
- Parameter
t (float) – Temperatur in °C
Quelle: https://de.wikipedia.org/wiki/S%C3%A4ttigungsdampfdruck (abgerufen am 4.7.2019)
- Rückgabetyp
Sättigungsdampfdruck in mbar (bzw. hPa)
- praktikum.literaturwerte.schallgeschwindigkeit_luft(T)[Quellcode]¶
Näherungsformel für die Schallgeschwindigkeit in Luft
Quelle: Wikipedia, https://de.wikipedia.org/wiki/Schallgeschwindigkeit
- Parameter
T – Temperatur in Kelvin
- Rückgabetyp
Schallgeschwindigkeit in m/s.