2016-07-30 23 views
1

Ich habe eine Frage in Bezug auf eine Exponentialanpassung in und mit der y-axis in logscale gesetzt. Ich benutze Gnuplot 4.6.3. werde ich die paar Möglichkeiten, präsentiere ich versucht haben, eine Reihe Einstellung passen:

Die Funktion, die ich auf die Daten passen wollen, ist f (x) = a + b * x

Die erste:

set log y 
f(x)=a+b*x 
fit [4:8] f(x) 'CT2A_OH_R_log.dat' using (log($1)):($2) via a,b 

Resutls:

  Read 15 points 
     Skipped 15 points outside range [x=4:8] 
     No data to fit 
     error during fit 

Die zweite:

fit f(x) 'CT2A_OH_R_log.dat' using (log($1)):($2) via a,b 

Ergebnisse:

Final set of parameters    Asymptotic Standard Error 
a   =16.9858     +/- 6.299   (37.08%) 
b   =-8.43215     +/- 3.502   (41.53%) 
gnuplot> plot 'CT2A_OH_R_log.dat', f(x) via a,b 

Offensichtlich ist die Passform ist lächerlich, aber das ist der einzige Weg, die ich kenne, ist mir eigentlich einen Anfall. Ich kenne das Problem am ehesten innerhalb der Definition der xrange beim Anpassen, aber was kann ich sonst noch dort schreiben, um das zu beheben?

Below I Bild meiner Handlung zeigen (f (x) zeigt nicht, wie es in dem negativen Bereich aufgetragen ist.)

Antwort

1

‚verursacht ein logscale des y axis erfordert den Logarithmus der y-Achse während die fit ;-)

fit [4:8] f(x) 'CT2A_OH_R_log.dat' u 1:(log($2)) via a,b 

HINWEIS

Wenn Sie den Logarithmus Basis verwenden möchten auf 10, haben Sie log($2)/log(10) oder log10($2) zu verwenden.

+0

Dank! Ich habe einen so dummen Fehler übersehen! Allerdings tat ich das jetzt und ich bekomme immer noch eine seltsame Passform: gnuplot> passen [4: 8] [0,1: 60] f (x) 'CT2A_OH_R_log.dat' mit 1: (log ($ 2)) über a , b gnuplot> plot 'CT2A_OH_R_log.dat', f (x) über a, b Diesmal ist die Anpassung exponentiell. Ich möchte ein Bild hinzufügen, aber ich kann dies nicht im Kommentarabschnitt tun. Also, sehen Sie sich bitte den Kommentar unten an: – Omega

0

@ Tom Fest

gnuplot> fit [4:8] [0.1:60] f(x) 'CT2A_OH_R_log.dat' using 1:(log($2)) 
via a,b 
gnuplot> plot 'CT2A_OH_R_log.dat', f(x) via a,b 

Diesmal fit wie exponentiell ist.

Also, poste ich das Bild von dem, was ich bekomme jetzt:

enter image description here