python 3.3:scipy.optimize.curve_fit不更新point的值

时间:2017-08-18 16:21:26

标签: python-3.x scipy curve-fitting

我正在尝试使用curve_fit将自定义函数拟合到某些数据点。我尝试了一两个免费参数。我曾经使用过它。现在我正在努力做一个拟合,因为无论初始值是什么,算法总是返回初始输入值,具有无限sigma。我也尝试打印调用我的自定义函数的内部参数,我不明白,我的自定义函数只调用了4次,前三个调用的参数始终相同,最后一个函数调用相对变化参数为10 ^ -8。这看起来不正确

1 个答案:

答案 0 :(得分:3)

最初调用目标函数是很正常的,参数值的变化非常小(大约1e-8),以便计算偏导数以决定在参数空间中走哪条路。如果目标函数的结果完全没有变化(甚至不是1e-8级别),则拟合将放弃:更改参数值不会改变结果。

我首先会看一下你的目标函数的结果是否对参数非常敏感。如果对结果的更改确实对1e-8更改不敏感,但对更大的更改敏感,则可能需要增加传递给epsfcn的{​​{1}}的值。