2

プロットをどのように適合させることができますか?

これまで、ループに配置された配列 (実験のデータ) からさまざまなグラフをプロットする次のコードを取得しました。

import matplotlib as plt
plt.figure(6)
plt.semilogx(Tau_Array, Correlation_Array, '+-')
plt.ylabel('Correlation')
plt.xlabel('Tau')
plt.title("APD" + str(detector) + "_Correlations_log_graph")
plt.savefig(DataFolder + "/APD" + str(detector) + "_Correlations_log_graph.png")

これは対数プロットでこれまでのところ機能しますが、フィッティングプロセスがここでどのように機能するのか疑問に思っています. 最後に、私が測定したデータを最もよく説明する何らかの式または/およびグラフが必要です。

誰かが私を助けてくれたら嬉しいです!

4

1 に答える 1

3

curve_fitこれにはfromを使用できますscipy.optimize。ここに例があります

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

def func(x,a):
   return np.exp(a*x)

x,y,z = np.loadtxt("fit3.dat",unpack=True)

popt,pcov = curve_fit(func,x,y)
y_fit = np.exp(popt[0]*x)


plt.plot(x,y,'o')
plt.errorbar(x,y,yerr=z)
plt.plot(x,y_fit)
plt.savefig("fit3_plot.png")
plt.show()

あなたの場合、funcそれに応じて定義できます。poptフィッティング パラメータの値を含む配列です。

于 2012-07-12T08:43:24.383 に答える