在python中,有没有什么好方法可以将约束添加到levenberg-marquadt例程中?到目前为止,我发现的主要是将错误函数更改为类似于
def errorfunction(params, PSD_data, bins):
if (params[0] < 0) or (params[1] < 0) or (params[2] < 0):
return (PSD_data - PSD_fit(params, bins))*1000
else:
return PSD_data - PSD_fit(params, bins)但即使这样,也有可能得到错误的结果,例如。参数为负!有什么建议吗?
发布于 2014-03-29 07:26:21
您可以使用lmfit库来实现这一点:
http://cars9.uchicago.edu/software/python/lmfit/
它支持约束,并且构建在scipy之上。
https://stackoverflow.com/questions/19255739
复制相似问题