我希望您能够使用gnuplot来获取多条曲线的一次多项式方程(F(x)=a*x+b)的拟合参数。其中一些曲线是直线。
例如,如果我的数据如下:
无法计算拟合参数,出现以下错误信息。
例如,如果我的数据如下:
1 1
2 2
3 3
4 4
这可以用 f(x)=x (param a=0, b=0) 表示。
但以下的 gnuplot 代码
# regression line
f(x) = a*x + b
fit f(x) './test.dat' u 1:2 via a, b
无法计算拟合参数,出现以下错误信息。
Singular matrix in Invert_RtR
更新:看起来如果我为拟合函数定义迭代次数,gnuplot就不会“崩溃”
FIT_MAXITER = 1
# regression line
f(x) = a*x + b
fit f(x) './test.dat' u 1:2 via a, b
应该是a=1,b=0。但gnuplot给出的结果是:
Final set of parameters Asymptotic Standard Error
======================= ==========================
a = 0.989067 +/- 0.004339 (0.4387%)
b = 0.0761393 +/- 0.02692 (35.36%)
我该如何“强制”gnuplot计算出正确的a和b值?