我正在尝试使用scipy.optimize.least_squares
函数,并且经常出现错误
packages/scipy/integrate/quadpack.py:364: IntegrationWarning: The integral is probably divergent, or slowly convergent.
warnings.warn(msg, IntegrationWarning)
对于涉及scipy.integrate.quad
的同一问题,有一个不错的解决方案here。建议您完全忽略绝对误差(设置epsabs=0
),而仅使用相对误差。
是否可以为least_squares
进行尝试?我没有在代码中明确使用quad
,但是least_squares
确实引用了它。 least_squares
有三个公差参数:ftol
,xtol
和gtol
,但是我不确定绝对误差对应于哪个参数。我还不确定使用least_squares
时如何使epsabs=0
设置quad
。
如果您认为无法调整绝对误差或有更好的方法进行故障排除,我也很高兴听到建议。
(注意:由于代码太长和太复杂,我恐怕无法在此处发布我的代码,但是您可以研究least_squares
help page上的一些示例。)>
答案 0 :(得分:0)
least_squares不依赖于tegral.quad,因此错误来自您的代码。