0

有没有什么好方法可以在 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] 是否定的!有什么建议吗?

4

1 回答 1

1

您可以为此使用 lmfit 库:

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

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

于 2014-03-28T23:26:20.997 回答