Gnuplot线性误差拟合

时间:2014-11-01 13:13:50

标签: gnuplot curve-fitting linear

这是一个普遍的问题。如果你想使y(x)=m*x+n线性拟合,它将看起来像这样:

fit y(x) 'datapath' using 1:2:3 via n,m

我希望Gnuplot计算n和m的错误,因此我的第三列必须包含我y的错误。

我的第三列真的必须包含我的y错误,还是必须包含我y错误的权重(1 /方差?)?

2 个答案:

答案 0 :(得分:0)

第三栏肯定是错误。

考虑这个简单的数据:

#x  y   delta_y
1   1   0.1
2   1   0.1
3   5   3
4   1   0.1
5   1   0.1

y是常数值1,误差为0.1。但是,在x = 3时,存在一个有很大误差的异常值。

通过

拟合函数f(x)=n
 fit f(x) "data.csv" using 1:2:3

时给出n = 1.00111 +/- 0.03332
 fit f(x) "data.csv" using 1:2:(1/$3)

给出n = 4.9823 +/- 0.1327

只有第一种情况才能给出预期结果。这也可以在下面的图中看到。

请注意,如果没有给出错误,则使用错误1,这意味着所有权重都是1,或者只是实际上没有权重。

enter image description here

答案 1 :(得分:0)

引用文档中的fit部分:

  

第三个using限定符(列号    或表达式),如果存在,则被解释为标准    相应z值的偏差用于计算a    基准重量,1 / s ** 2。