python - Python |以(1/A)e ^(-x/A)形式绘制和拟合数据拟合,其中A是常数-LMLPHP

经过大量搜索并且无法找到答案后,我选择将我的问题放在这里。

如何将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()


遗憾的是,它不能很好地拟合数据,但是我猜这只是一个数学问题。

10-05 18:43