Pythonはカーブフィッティングパッケージscipyのダウンロードを使用して実装されています

scipyのダウンロードコールcurve_fitパッケージは、カーブフィッティング関数形式の指定されたセットから既知のデータと従属変数とすることができます。

インポートnumpyのようなNPの
インポートパンダとしてのPd 
インポートmatplotlib.pyplot としてPLT
 からscipy.optimizeインポートcurve_fit 


#自定义函数
:DEF FUNC(X、a、b)は
    戻り *のPOWを(X、B)


データ = pd.read_excel(R ' C:\ユーザー\ YBM \デスクトップ\ data.xlsx ' 
X =データ[ ' X ' ] 
Y =データ[ ' Y ' ] 

POPT、PCOV = curve_fit(x、y)は
、A = POPT [ 0 ] 
B = POPT [ 1] 
Yvals = FUNC(X、A、B)

Plot1 = plt.plot(X、Y、' S '、ラベル= ' 元の値' 
Plot2 = plt.plot(X、yvals、' R&LT '、ラベル= ' 関数polyfit値' 
plt.xlabel(' X ' 
plt.ylabel(' Y ' 
(LOCのplt.legend = 4は)#右下の位置に凡例を指定
plt.title(' curve_fit '

 

次の3つのパラメータの関数を定義することができます。

インポートnumpyのようなNPの
インポートパンダとしてのPd 
インポートmatplotlib.pyplot としてPLT
 からscipy.optimizeインポートcurve_fitの


:DEF FUNC(X、A、B、C)
    を返す *のnp.expを(-b * X)+ C 


XDATA = NP。 linspace(0450 
Y =のFUNC(XDATA、2.51.30.5 
y_noise = 0.2 * np.random.normal(サイズ= xdata.size)
YDATA = Y + y_noise 
plt.plot(XDATA、YDATA、'B- 'ラベル= ' データ' 

POPT、PCOV = curve_fit(FUNC、XDATA、YDATA)
A = POPT [ 0 ] 
B = POPT [ 1 ] 
C = POPT [ 2 ] 
yvalsの =のFUNC(XDATA、A、B、 C)
plot1 = plt.plot(XDATA、YDATA、' S '、ラベル= ' 元の値' 
plot2 = plt.plot(XDATA、yvals、' R '、ラベル= ' 関数polyfit値'  
#の或:
plt.plot(XDATA、FUNC(XDATA、 * POPT)、' R- '、ラベル= ' フィット' 

#限制参数范围:0 << 30 <B < 20 <C < 1 
POPT、PCOV = curve_fit(FUNC、XDATA、YDATA、境界=(0、[ 321 ]))
plt.plot(XDATA、FUNC(XDATA、 * POPT)、' R- '、ラベル= ' フィット' 

 

おすすめ

転載: www.cnblogs.com/excellent123/p/11374535.html
おすすめ