麻烦与gnuplot拟合指数

时间:2017-01-11 20:29:34

标签: gnuplot curve-fitting data-fitting

我有一个名为' dataset.txt'的文件。内有这些数据

#Temperature (K) - Pressure (kPa)

310.2 5.349
315.6 6.682
320.2 8.015
325.2 10.681
330.2 14.680
335.2 17.346
340.2 22.678
345.2 28.010
350.2 34.675
355.2 44.006
360.2 52.004
365.2 62.668
370.2 73.332

我必须使用指数形式

的数据拟合曲线
f(x) = a * exp(x * b) + c

所以我数字

f(x) = a*exp(x*b) + c
fit f(x) 'dataset.txt' u 1:2 via a, b, c

但是我收到类型错误

Current data point
=========================
#               = 1 out of 13
x               = nan            
z               = 5.349          

Current set of parameters
=========================
a               = nan            
b               = nan            
c               = 1              

     Function evaluation yields NaN ("not a number")

任何人都可以解释为什么吗?有语法错误吗?我已经使用Origin(在Windows上)安装了此曲线,并且没有出现任何问题。为什么gnuplot会给我这个奇怪的错误? THX!

1 个答案:

答案 0 :(得分:3)

这是一个浮点数问题。

您没有初始化拟合参数,因此gnuplot选择默认值ssh。现在,评估指数函数a=b=c=1会产生巨大的值,这会导致Marquardt-Levenberg拟合算法中的(浮点)无穷大和exp(x*b)

尝试初始化拟合参数,尤其是NaN,例如b