我正在使用scipy.integrate.dblquad,我收到此错误:
UserWarning: The maximum number of subdivisions (50) has been achieved. If increasing the limit yields no improvement ...
我想增加这个限制,看看积分是否融合良好. documentation指定了如何为scipy.integrate.quad执行此操作(该函数将最大迭代次数作为参数),但不适用于scipy.integrate.dblquad
.如何增加dblquad的细分数?
解决方法
更简单的方法是使用nquad函数而不是dblquad.示例代码:
from scipy.integrate import nquad options={'limit':100} integral=nquad(func,[[xmin,xmax],[ymin,ymax]],args=(other_arg,),opts=[options,options])
请注意,有几个参数是列表.这些列表的元素按顺序应用于每个坐标.请参阅nquad here的文档.