python curve_fit中数学上不正确的拟合系数

时间:2018-08-28 20:26:31

标签: python-3.x

幂律的定义是A *(x-D)^ B + C。数学上。在这种情况下,我希望幂律的奇点为零。

def powerlaw(x,a,b,c):
    return a*x**b+c

xdat=np.arange(len(USAarr))
ydat0=np.sort(USAarr[:,0])
ydat=ydat0[::-1]
par=[1.,1.,1.,1.]
p0=par
par,pvar=curve_fit(powerlaw,xdat,ydat)


p=figure(height=400,width=400,title="Power law fit to v/c histogram",\
    x_axis_label="v/c", y_axis_label="ratio of counts")
p.vbar(x=index, width=0.5, bottom=0, top=ydat, color='cyan',\ 
    legend='v/c data')
p.line(index, powerlaw(index,par[0],par[1],par[2]),color='black',\
    legend='power law fit')
output_notebook()
show(p)

enter image description here

par=array([-0.1001773 , 0.16004007, 0.44202822])

此幂定律拟合是对我的数据的两个极好的拟合之一(基于bokeh的图形描述),但是输出参数错误。对于在正象限中具有正偏移的递减指数,根据定义,a> 0,b <0,c> 0。但这不是我在这里获得的。

是否有任何python专家知道curve_fitbokeh可能出什么问题?

0 个答案:

没有答案