Levenberg-Marquardt在python中有约束

时间:2013-10-08 18:42:56

标签: python-2.7 levenberg-marquardt

有没有什么好方法可以在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)

但即便如此,也有可能得到错误的结果,例如。 params [0]是否定的!任何建议?

1 个答案:

答案 0 :(得分:1)

您可以使用lmfit库:

http://cars9.uchicago.edu/software/python/lmfit/

它支持约束,它建立在scipy之上。