我尝试使用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
使用quad
时,我也不确定如何让它设置epsabs=0
。
如果您不认为有可能调整绝对误差,或者认为可能有更好的方法来排除故障,我也很高兴听到您的建议。
(注意:恐怕我不能在这里发布我的代码,因为它太长太复杂了,但是在least_squares
help page上有一些示例可以学习。)
发布于 2019-03-26 09:52:00
least_squares不依赖于integrate.quad,因此错误来自您的代码。
https://stackoverflow.com/questions/55337043
复制相似问题