我试图用scipy.optimize函数curve_fit来拟合一组误差线。
我用来读取输入的文件类似于y x dy_1 dy_2
0.64 45.1 6.65E-004 1.20E-002
0.72 38.3 1.81E-004 3.93E-002
0.62 46.3 1.20E-004 6.65E-002
0.71 39.1 3.93E-004 6.65E-002
0.76 33.2 6.65E-004 1.81E-002
0.69 39.4 5.86E-003 0.58
0.76 33.5 6.65E-004 6.65E-002
0.79 28.5 1.27E-002 1.27
其中dy_1和dy_2是y的两个不同的不确定性。
我用来拟合数据的代码看起来像
^{pr2}$
不包括错误条的输出显示a= -0.00964422694853 +/- 0.000497582672356 ( 5.15938369153 % )
b= 1.07794220116 +/- 0.0190839336114 ( 1.77040416368 % )
我希望用这些微小的误差条得到的偏差非常小。
我的问题不仅是输出之间的差异很大,而且无论我使用小误差线还是大误差线,我都会得到相同的输出:a= -0.0115247039688 +/- 0.000341896188408 ( 2.96663748877 % )
b= 1.15636325135 +/- 0.0148255830134 ( 1.28208700823 % )
我的程序似乎对错误的维度不敏感。这正常吗?我犯了些错误吗?在
我在年问了一个非常相似的问题
使用gnuplot,我得到了相同的结果和同样的问题。图中还显示了一些图。在