我正在使用 optimization.leastsq 来拟合数据。我想将拟合参数限制在一定范围内。使用optimize.leastsq时是否可以定义边界?边界是在optimize.fmin_slsqp中实现的,但我更喜欢使用optimize.leastsq。
我认为处理边界的标准方法是,每当参数超出边界时,使函数(残差)最小化得非常大。
import scipy.optimize as optimize
def residuals(p,x,y):
if within_bounds(p):
return y - model(p,x)
else:
return 1e6
p,cov,infodict,mesg,ier = optimize.leastsq(
residuals,p_guess,args=(x,y),full_output=True,warning=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)