QtiPlot - Fachschaft Physik Universität Konstanz
QtiPlot - Fachschaft Physik Universität Konstanz
QtiPlot - Fachschaft Physik Universität Konstanz
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
L A T E X-Kurs der <strong>Fachschaft</strong> <strong>Physik</strong><br />
Teil 4 - <strong>QtiPlot</strong><br />
Martin Evers, Milan Holzäpfel<br />
November 2011
Einführung<br />
◮ Möglichkeiten: plotten, fitten, Tabellenkalkulation,<br />
Fouriertransformation, Interpolation, ...<br />
◮ es gibt Tabellen, Matrizen und Graphen (jeweils eigenes<br />
Fenster im Programm)<br />
◮ <strong>QtiPlot</strong> kann vollständig über GUI bedient werden<br />
Beispiel: Funktion plotten<br />
1. Fenster öffnen (Graph)<br />
2. Funktion definieren<br />
3. Formatierung (Achsenbeschriftung, Farbe, Gitter, ...)<br />
4. Exportieren
Funktion plotten
Formatierung<br />
◮ zur Änderung von Achsenbeschriftung oder Legende:<br />
Rechtsklick auf Objekt → Properties<br />
◮ zur Änderung der Kurve: Rechtsklick auf Objekt →<br />
Properties (Dicke, Farbe, ob Linie oder Punkte dargestellt<br />
werden, Kantenglättung (Antialiasing)...)<br />
◮ allgemein in <strong>QtiPlot</strong>: um irgendwas zu machen: drauf<br />
klicken
Exportieren von Plots<br />
Exportieren:<br />
◮<br />
File → Export Graph → current<br />
◮ Format wählen (z.B. pdf), Achtung: pdflatex kommt nicht<br />
mit allen Formaten klar (z.B. eps)<br />
◮ auch möglich: Export als tex-Datien (→ direkt einbinden in<br />
Latex-Dokument, erfordert Paket: tikz)
Importieren von (Mess-)Werten<br />
Importieren:<br />
◮ manuell eintippen (u.U. mühsam)<br />
◮ Import von Excel- od. OpenCalc- Daten<br />
◮ Import von ASCII (insbesondere bei großen Datensätzen)
Plotten von (Mess-)Werten<br />
Plotten:<br />
◮ Wichtig: <strong>QtiPlot</strong> muss wissen welche Spalte geplottet<br />
werden soll<br />
◮ neuen Graphen anlegen<br />
◮<br />
Add → Add/Remove Curve →Tabelle auswählen<br />
◮ Wichtig: <strong>QtiPlot</strong> muss wissen welche Spalte geplottet<br />
werden soll (richtige auswählen)<br />
◮ Linie und Symbol möglich
Plotten von (Mess-)Werten<br />
Plotten:<br />
◮ Wichtig: <strong>QtiPlot</strong> muss wissen welche Spalte geplottet<br />
werden soll<br />
◮ neuen Graphen anlegen<br />
◮<br />
Add → Add/Remove Curve →Tabelle auswählen<br />
◮ Wichtig: <strong>QtiPlot</strong> muss wissen welche Spalte geplottet<br />
werden soll (richtige auswählen)<br />
◮ Linie und Symbol möglich<br />
Fehlerbalken:<br />
◮ Werte der Fehler für jeden Punkt in Tabelle<br />
◮<br />
Add → Add Error bars → Tabelle und Spalte auswählen<br />
◮ Alternative: Standardabweichung oder festen relativen<br />
Fehler
Plotten von (Mess-)Werten
Fitten von Daten<br />
20<br />
The cake is a lie!<br />
0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5<br />
20<br />
Messwerte<br />
15<br />
15<br />
y in a.u.<br />
10<br />
10<br />
5<br />
5<br />
0<br />
0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5<br />
x in a.u.<br />
0
Fitten von Daten<br />
25<br />
The cake is a lie!<br />
0 1 2 3 4 5 6<br />
25<br />
20<br />
Messwerte<br />
lin. Fit<br />
20<br />
y in a.u.<br />
15<br />
10<br />
15<br />
10<br />
5<br />
5<br />
0<br />
0 1 2 3 4 5 6<br />
x in a.u.<br />
0
Fitten von Daten<br />
◮ Messdaten: (x i , y i ) i = 1, ..., n
Fitten von Daten<br />
◮ Messdaten: (x i , y i ) i = 1, ..., n<br />
◮ Theoriefkt.: f (x i ) ≈ y i , f hängt von Parametern p 1 , ..., p s ab
Fitten von Daten<br />
◮ Messdaten: (x i , y i ) i = 1, ..., n<br />
◮ Theoriefkt.: f (x i ) ≈ y i , f hängt von Parametern p 1 , ..., p s ab<br />
◮ einzelner Fehler: f (x i ) − y i ; Fehlerquadrat: [f (x i ) − y i ] 2 ≥ 0
Fitten von Daten<br />
◮ Messdaten: (x i , y i ) i = 1, ..., n<br />
◮ Theoriefkt.: f (x i ) ≈ y i , f hängt von Parametern p 1 , ..., p s ab<br />
◮ einzelner Fehler: f (x i ) − y i ; Fehlerquadrat: [f (x i ) − y i ] 2 ≥ 0<br />
◮ Ziel: Minimiere Gesamtfehler<br />
n∑<br />
[f (x i ) − y i ] 2 =: F(p 1 , ..., p s )<br />
i=1
Fitten von Daten<br />
◮ Messdaten: (x i , y i ) i = 1, ..., n<br />
◮ Theoriefkt.: f (x i ) ≈ y i , f hängt von Parametern p 1 , ..., p s ab<br />
◮ einzelner Fehler: f (x i ) − y i ; Fehlerquadrat: [f (x i ) − y i ] 2 ≥ 0<br />
◮ Ziel: Minimiere Gesamtfehler<br />
◮ mathematisch:<br />
n∑<br />
[f (x i ) − y i ] 2 =: F(p 1 , ..., p s )<br />
i=1<br />
( ¯p 1 , ..., ¯p s ) = argmin F(p 1 , ..., p s )
Fitten von Daten<br />
◮ Messdaten: (x i , y i ) i = 1, ..., n<br />
◮ Theoriefkt.: f (x i ) ≈ y i , f hängt von Parametern p 1 , ..., p s ab<br />
◮ einzelner Fehler: f (x i ) − y i ; Fehlerquadrat: [f (x i ) − y i ] 2 ≥ 0<br />
◮ Ziel: Minimiere Gesamtfehler<br />
◮ mathematisch:<br />
n∑<br />
[f (x i ) − y i ] 2 =: F(p 1 , ..., p s )<br />
i=1<br />
( ¯p 1 , ..., ¯p s ) = argmin F(p 1 , ..., p s )<br />
◮ für das numerische Optimieren gibt es jede Menge<br />
Algorithmen
Fitten von Daten<br />
◮ Messdaten: (x i , y i ) i = 1, ..., n<br />
◮ Theoriefkt.: f (x i ) ≈ y i , f hängt von Parametern p 1 , ..., p s ab<br />
◮ einzelner Fehler: f (x i ) − y i ; Fehlerquadrat: [f (x i ) − y i ] 2 ≥ 0<br />
◮ Ziel: Minimiere Gesamtfehler<br />
◮ mathematisch:<br />
n∑<br />
[f (x i ) − y i ] 2 =: F(p 1 , ..., p s )<br />
i=1<br />
( ¯p 1 , ..., ¯p s ) = argmin F(p 1 , ..., p s )<br />
◮ für das numerische Optimieren gibt es jede Menge<br />
Algorithmen<br />
◮ ACHTUNG: F(p 1 , ..., p s ) kann mehrere lokale Minima<br />
haben, d.h. Startwert für Algorithmus richtig wählen !!!
Fitten von Daten<br />
0,6<br />
Minimum gesucht!<br />
2 4 6 8 10 12 14<br />
0,6<br />
0,4<br />
0,4<br />
0,2<br />
0,2<br />
y in a.u.<br />
0<br />
0<br />
-0,2<br />
-0,2<br />
-0,4<br />
2 4 6 8 10 12 14<br />
x in a.u.<br />
-0,4
Fitten von Daten<br />
Fitten mit <strong>QtiPlot</strong>:<br />
◮ Werte importieren und plotten<br />
◮<br />
Analyze → entsprechenden Fit wählen (z.B. linearer Fit)<br />
◮ spezielles mit Fit Wizard<br />
◮ neue Theoriefunktionen definieren<br />
◮ Startwerte und Grenzen für Fitparameter festlegen<br />
◮ Algorithmus und Genauigkeitsanforderung wählen
Funktion plotten
Fitten von Daten/Fit Wizard<br />
1. Funktion eintippen, Parameter erkennt <strong>QtiPlot</strong> (alle<br />
Buchstaben, die nicht x sind)<br />
2. eventuell speichern<br />
3. Startwerte (oder Ober- und Untergrenze festlegen, vorher<br />
Range drücken)<br />
4. Fit und dann tut’s (hoffentlich)<br />
5. detailierte Ausgabe im Result Log
Aufgabe 1<br />
Erstelle einen Plot, der die Messwerte der Datei ”<br />
Oszillator.txt“<br />
als Punkte enthält. Fitte eine gedämpfte harmonische<br />
Schwingung<br />
V (t) = A · sin(ωt + ϕ) · e −βt<br />
mit den Parametern A, ω, ϕ und β an die Messwerte und trage<br />
die gefittete Funktion in den selben Plot als Linie ein. Zu jedem<br />
Plot (also auch zu diesem) gehört eine Achsenbeschriftung mit<br />
Einheit und eine Legende. Überschrift optional.