【发布时间】:2019-02-12 04:18:48
【问题描述】:
我必须使用curve_fit 进行拟合。我的问题是,我得到的不是连续曲线,而是一条折线,如图所示。这是我的代码:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
N=np.array([66851,200522,401272,801832,1200951])
e=np.array([2.88,1.75,1.17,0.80,0.71])
def er_func(x,A,c):
return A/np.sqrt(x)+c
from scipy.optimize import curve_fit
popt, pcov=curve_fit(er_func,N,e,p0=[10,1000])
plt.plot(N,er_func(N,*popt),"b")
plt.plot(N,e,"xr")
plt.xlabel("Number of events")
plt.ylabel("Error [Chn]")
[https://i.stack.imgur.com/BZtnN.png][1]
我认为发生这种情况是因为我正在绘制在我的点对应关系中评估的拟合函数,然后它将五个点与一条直线连接起来。我怎样才能获得正确的配合? 感谢您提供的任何帮助。
【问题讨论】:
标签: python numpy matplotlib scipy