从gnuplot中获取适合的数据

时间:2012-05-27 10:23:20

标签: gnuplot octave

我经常使用Octave来创建可以从我的实验室结果中绘制的数据。然后,该数据在gnuplot中配备了一些函数:

f1(x) = a * exp(-x*g);
fit f1(x) "c_1.dat" using 1:2:3 via a,g

这会创建一个fit.log

*******************************************************************************
Tue May  8 19:13:39 2012


FIT:    data read from "e_schwach.dat" using 1:2:3
        format = x:z:s
        #datapoints = 16
function used for fitting: schwach(x)
fitted parameters initialized with current variable values



 Iteration 0
 WSSR        : 12198.7           delta(WSSR)/WSSR   : 0
 delta(WSSR) : 0                 limit for stopping : 1e-05
 lambda   : 14.2423

initial set of free parameter values

mu2             = 1
omega2          = 1
Q2              = 1

After 70 iterations the fit converged.
final sum of squares of residuals : 46.0269
rel. change during last iteration : -2.66463e-06

degrees of freedom    (FIT_NDF)                        : 13
rms of residuals      (FIT_STDFIT) = sqrt(WSSR/ndf)    : 1.88163
variance of residuals (reduced chisquare) = WSSR/ndf   : 3.54053

Final set of parameters            Asymptotic Standard Error
=======================            ==========================

mu2             = 0.120774         +/- 0.003851     (3.188%)
omega2          = 0.531482         +/- 0.0006112    (0.115%)
Q2              = 17.6593          +/- 0.7416       (4.199%)


correlation matrix of the fit parameters:

               mu2    omega2 Q2     
mu2             1.000 
omega2         -0.139  1.000 
Q2             -0.915  0.117  1.000 

有没有办法让参数及其错误重新进入Octave?我的意思是我可以编写一个解析它的Python程序,但我希望避免这种情况。

更新

这个问题不再适用于我,因为我现在使用Python和matplotlib进行实验室工作,它可以通过单个程序完成所有这些工作。我保留这个问题以防其他人遇到同样的问题。

1 个答案:

答案 0 :(得分:3)

我对gnuplot-Octave接口知之甚少,但是你可以做些什么可以让你的(解析)生活更轻松:

set fit errorvariables
fit a*x+g via a,g
set print "fit_parameters.txt"
print a,a_err
print g,g_err
set print

现在您的变量及其各自的错误位于“fit_parameters.txt”文件中 python不需要解析。

来自fit的文档:

  

如果使用此选项构建gnuplot,并使用set fit errorvariables激活它,则每个拟合参数的错误将为   存储在名为参数的变量中,但_err   追加。因此,错误可以用作进一步的输入   计算