MrD*_*MrD 5 gnuplot curve-fitting
今天我试图用给定的理论模型拟合实验数据。尽管拟合相当好,但 gnuplot 返回了极高的错误:
Final set of parameters Asymptotic Standard Error
======================= ==========================
A = 1.76654e-11 +/- 2.589e-06 (1.465e+07%)
g = 0.000929911 +/- 1.006e-05 (1.082%)
offset = 0.831727 +/- 0.005273 (0.634%)
x0 = 25.7152 +/- 3768 (1.465e+04%)
Run Code Online (Sandbox Code Playgroud)
特别是,x0 上的误差是我后续计算的重要度量。显然,这个值绝对是无稽之谈,如下图所示。
我该怎么做才能得到有意义的错误?

MWE:
f(x,x0,g) = -16.0*A*(g*(g**2.0-12.0*(x-x0)**2))/(pi*(g**2.0+4.0*(x-x0)**2.0)**3.0) + offset
FIT_LIMIT = 1e-16
A=-1e-3
g=1e-3
offset=0.8
x0 = 25.71514200
fit f(x,x0,g) "data" via A,g,offset,x0
plot "data", f(x,x0,g)
Run Code Online (Sandbox Code Playgroud)
数据: 链接(pastebin)
Luu*_*cky -2
我认为问题在于使用三参数函数。从第一行看来x0和g是变量。但fit它被用作参数(因为via……)和变量(因为…… f(x,x0,g))的混合。
有多少列有文件“数据”?看起来 2 是正确答案。
尝试这个:
f(x) = -16.0*A*(g*(g**2.0-12.0*(x-x0)**2))/(pi*(g**2.0+4.0*(x-x0)**2.0)**3.0) + offset
FIT_LIMIT = 1e-16
A=-1e-3
g=1e-3
offset=0.8
x0 = 25.71514200
fit f(x) "data" via A,g,offset,x0
plot "data", f(x)
Run Code Online (Sandbox Code Playgroud)