25.10.2014 Aufrufe

QtiPlot - Fachschaft Physik Universität Konstanz

QtiPlot - Fachschaft Physik Universität Konstanz

QtiPlot - Fachschaft Physik Universität Konstanz

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!