何度も検索して答えを見つけることができなかった後、ここに質問を置くことにしました。
表示されたデータに y=(1/A)e^(-x/A) の形式の指数関数を当てはめ、この関数をプロットするにはどうすればよいですか? Python でのフィッティングに慣れる必要があります。助けていただければ幸いです。
前もって感謝します。
何度も検索して答えを見つけることができなかった後、ここに質問を置くことにしました。
表示されたデータに 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): # WIP font = {'family': 'normal', 'weight': 'bold', 'size': 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()
悲しいことに、データにうまく適合していませんが、それは単なる数学の問題だと思います。