1

生データ

何度も検索して答えを見つけることができなかった後、ここに質問を置くことにしました。

表示されたデータに y=(1/A)e^(-x/A) の形式の指数関数を当てはめ、この関数をプロットするにはどうすればよいですか? Python でのフィッティングに慣れる必要があります。助けていただければ幸いです。

前もって感謝します。

4

2 に答える 2

1

私はそれを理解したように見えます。

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()

悲しいことに、データにうまく適合していませんが、それは単なる数学の問題だと思います。

于 2017-11-22T21:59:29.393 に答える