Daten Plotten und Fitten in Gnuplot #2

[latexpage]

In diesem Beispiel wurden Messwerte aus einem Versuch zur Comptonstreuung verwendet: messwerte_compton

Um den oben gezeigten Plot daraus zu erhalten kann man folgenden Code verwenden:

set term x11
set xrange[0:600]
set yrange[0:15000]
set xtics 50
set grid

#Fit für den Fotopeak
f(x)=a+b*x**2+c*x+d*x**3+e*x**4+f*x**5
fit [420:520] f(x) 'comptonkante.tsv' via a,b,c,d,e,f

#Fits für die Rückstreukante
g(x)=i*x+k
fit [275:320] g(x) 'comptonkante.tsv' via i,k
h(x)=l*x+m
fit [320:350] h(x) 'comptonkante.tsv' via l,m

plot "comptonkante.tsv", [440:510] f(x), [150:350] g(x), [300:400] h(x)

Was passiert?

Zeile 1 legt fest welche Ausgabe das Terminal erzeugen soll. Bei x11 wird keine Datei erzeugt, sondern der Plot lediglich angezeigt.

Zeile 2 definiert die Wertebereiche der beiden Achsen.

Zeile 3 sorgt dafür, dass die Werte der X-Achse in 50er Schritten laufen

Zeile 4 fügt das Raster ein.

Zeile 6: Kommentare werden mit „#“ gekennzeichnet. Gnuplot ignoriert alles was hinter einem „#“ steht.

Zeile 7: Definition der Fitfunktion für den Fotopeak (der rechte Peak im Plot). Verwendet wurde ein Plolynomzug der bis $x^5$ geht. Gnuplot kennt die sonst übliche Schreibweise für „x^5“ nicht. Es muss „x**5“ verwendet werden.

Zeile 8: Die Funktion „fit“ wird aufgerufen. Die Werte in der eckigen Klammer geben den Datenbereich an der gefittet werden soll. Diese Angabe muss vor der Fitfunktion, also vor $f(x)$. Dann muss angegeben werden aus welcher Datei die Messwerte genommen werden sollen. Zuletzt muss mit dem Befehl „via“ noch mitgeteilt werden welche Parameter der Fitfunktion bestimmt werden sollen.

Zeile 10-14: Analog wie Zeile 8. Hier wurde für die anderen Wertebereiche andere Fitfunktionen definiert.

Zeile 16: Diese Zeile plottet die gesamten Daten und die zugehörigen Fits. Die eckigen Klammern geben an für welche X-Werte die Fitfunktionen gezeigt werden sollen. Ansonsten würde bspw. der Fit für den Fotopeak im Rest des Plots stören. Jeder einzelne Plot muss durch ein Komma von den anderen getrennt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*