如何用python擬合數(shù)據(jù)求參數(shù)

小億
177
2023-10-07 16:43:27

在Python中,可以使用scipy庫(kù)中的curve_fit函數(shù)進(jìn)行數(shù)據(jù)擬合求參數(shù)。curve_fit函數(shù)可以擬合任意的非線性函數(shù)。

首先,需要導(dǎo)入所需的庫(kù):

import numpy as np
from scipy.optimize import curve_fit

然后,定義要擬合的非線性函數(shù),例如以下的指數(shù)函數(shù):

def func(x, a, b, c):
return a * np.exp(-b * x) + c

接下來(lái),準(zhǔn)備數(shù)據(jù)。假設(shè)有一組x和y數(shù)據(jù):

x = np.array([0, 1, 2, 3, 4, 5])
y = np.array([1, 2.2, 3.8, 6.5, 10.4, 16.5])

使用curve_fit函數(shù)進(jìn)行擬合:

params, params_covariance = curve_fit(func, x, y)

其中,params是擬合得到的參數(shù),params_covariance是參數(shù)的協(xié)方差矩陣。

最后,打印擬合得到的參數(shù):

print(params)

這樣就可以用Python擬合數(shù)據(jù)并求得參數(shù)了。

0