日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python數據擬合之scipy.optimize.curve_fit解讀_python

作者:Dylan_zlh ? 更新時間: 2023-01-12 編程語言

scipy.optimize.curve_fit解讀

相比numpy庫的多項式擬合函數polyfit,scipy.optimize模塊中的函數curve_fit能夠擬合的函數范圍更廣,不局限于多項式函數

已有數據

# 導入模塊
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 導入數據
x = np.linspace(0,1.0,11)
y = np.array([-0.447, 1.978, 3.28, 6.16, 7.08, 7.34, 7.66, 9.56, 9.48, 9.30, 11.2])
# 擬合二次多項式
f = lambda x, a, b, c: a*x**2 + b*x + c
 
# popt為擬合參數,pcov為參數的協方差矩陣
popt, pcov = curve_fit(f, x, y)
print("擬合的參數值a,b,c分別為:", popt)
 
# x=0.25, 0.35的預測值
print("x=0.25, 0.35的預測值為", f(np.array([0.25, 0.35]), *popt))

擬合的參數值a,b,c分別為: [-9.81083901 20.12929291 -0.03167108]

x=0.25, 0.35的預測值為 [4.38747471 5.81175366]

plt.rc('font', size=15)
plt.plot(x, y, '*')    # 觀測值數據的散點圖
# 擬合數據的折線圖
plt.plot(np.linspace(0.0, 1.0, 50), f(np.linspace(0.0, 1.0, 50), *popt), '-')
plt.show()

總結

原文鏈接:https://blog.csdn.net/weixin_43737994/article/details/117565552

欄目分類
最近更新