经过大量搜索并且无法找到答案后,我选择将我的问题放在这里。
如何将y =(1 / A)e ^(-x / A)形式的指数函数拟合到所示数据并绘制该函数?我仍然需要一些适应Python的习惯。帮助将不胜感激!
先感谢您。
最佳答案
看起来我想通了。
def exponential_fit(x, a, c):
"""
Logarithmic fit used for the MuonLab life time measurements.
:param x:
:param a:
:param c:
:return:
"""
return (1/a)*np.exp(-x/a)+c
def logarithmic_fit_plot(x,y):#在制品
font = {'family':'normal',
'weight':'bold',
'大小':20}
matplotlib.rc('font', **font)
xdata = x
ydata = y
plt.rc('text', usetex=True)
plt.plot(xdata, ydata, '.', label='sample')
popt, pcov = sp.optimize.curve_fit(exponential_fit, xdata, ydata)
plt.plot(xdata, exponential_fit(xdata, *popt), 'r-',
label=r"$\frac{1}{\tau_0}e^{\frac{-x}{\tau_0}}, \tau_0=%5.3f, c=%5.3f$" % tuple(popt))
plt.legend()
plt.show()
遗憾的是,它不能很好地拟合数据,但是我猜这只是一个数学问题。