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