首页 > 解决方案 > 使用 gnuplot 拟合小值时遇到问题

问题描述

我将尝试解释我在做什么并显示我最后遇到的错误。所以,我有一个包含以下数据的文件:

1.00000000E-05  8.39843750E-02  1.28074971E-02
1.00000000E-06  6.83593750E-02  1.15548433E-02
1.00000000E-07  4.29687500E-02  9.16096828E-03
1.00000000E-08  2.73437500E-02  7.30792458E-03
1.00000000E-09  3.90625000E-02  8.73464054E-03
1.00000000E-10  2.34375000E-02  6.76582347E-03
1.00000000E-11  1.36718750E-02  5.16748303E-03
1.00000000E-12  1.56250000E-02  5.52427173E-03

我需要做一个试衣。我这样做

datfile = "data.dat"
a = 0.1; b = 0.2
f(x) = a*x**b
fit f(x) datfile u 1:2:3 yerrors via a, b

并获得值a = 0.312672b=0.116722。然后我想绘制点和拟合函数。x = 10^-9但是,正如您在此处看到的那样,拟合函数会“断裂” -> 1。我相信可能与数值精度有关,但无法弄清楚。我的 gnuplot 版本是5.2,我的绘图代码是

set logscale x
set logscale y
plot datfile u 1:2:3 w yerrorbars, f(x) w lines lw 2

提前致谢!

标签: gnuplotprecisiondata-fitting

解决方案


推荐阅读