我使用scipy.optimize.curve_fit来为数据拟合S形曲线。我需要绑定[-3,0.5]和[0.5,3.0]
中的一个参数我尝试了没有边界的拟合曲线,接下来如果参数低于零,我再次使用边界[-3,0.5]并且与[0.5,3.0]相反
是否可以将函数curve_fit与两个区间绑定?
答案 0 :(得分:0)
不,least_squares(因此curve_fit)仅支持框约束。
答案 1 :(得分:0)
有一种粗略的方法可以做到这一点,那就是如果参数超出多个边界,你的函数会返回非常大的值。例如:
Service
如果参数超出多个边界,则会产生非常大的错误。如果你有[upper,lower]的单一范围,那么tou不应该使用这种方法,因为最新版本的scipy已经支持更常见的单边界范围类型的问题。