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(0、4、50 ) Y =のFUNC(XDATA、2.5、1.3、0.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 << 3、0 <B < 2、0 <C < 1 POPT、PCOV = curve_fit(FUNC、XDATA、YDATA、境界=(0、[ 3、2、1 ])) plt.plot(XDATA、FUNC(XDATA、 * POPT)、' R- '、ラベル= ' フィット' )