7
我尝试使用curve_fit将我的数据拟合为逻辑增长曲线,使用以下函数作为输入。限制curve_fit的值(scipy.optimize)
def logistic(x, y0, k, d, a, b):
if b > 0 and a > 0:
y = (k * pow(1 + np.exp(d - (a * b * x)), (-1/b))) + y0
elif b >= -1 or b < 0 or a < 0:
y = (k * pow(1 - np.exp(d - (a * b * x)), (-1/b))) + y0
return y
正如你可以看到我使用的函数对参数a和b可以接受的值有一些限制。任何猜测如何处理不正确的值?输入函数应该引发异常还是返回一个虚拟值? 在此先感谢。
它似乎工作好一点,谢谢!我会再玩一点,但是... – mgalardini 2012-03-01 15:37:17