当前位置:首页 > 行业动态 > 正文

python 高斯函数拟合

使用Python的Scipy库中的curve_fit函数,可以轻松实现高斯函数拟合。首先导入所需库,然后定义高斯函数,最后调用curve_fit进行拟合。

高斯函数拟合是一种非线性回归方法,用于拟合数据分布,在Python中,我们可以使用scipy.optimize.curve_fit函数进行高斯函数拟合,以下是详细的步骤和小标题:

1、导入所需库

2、定义高斯函数

3、准备数据

python 高斯函数拟合

4、使用curve_fit进行拟合

5、可视化结果

1. 导入所需库

python 高斯函数拟合

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit 

2. 定义高斯函数

def gaussian(x, a, x0, sigma):
    return a * np.exp((x x0)**2 / (2 * sigma**2)) 

3. 准备数据

生成模拟数据
x_data = np.linspace(10, 10, 100)
y_data = gaussian(x_data, 1, 0, 1) + np.random.normal(0, 0.1, len(x_data)) 

4. 使用curve_fit进行拟合

python 高斯函数拟合

popt, pcov = curve_fit(gaussian, x_data, y_data) 

popt是一个包含拟合参数的数组,pcov是协方差矩阵。

5. 可视化结果

绘制原始数据和拟合曲线
plt.scatter(x_data, y_data, label='Data')
plt.plot(x_data, gaussian(x_data, *popt), 'r', label='Fit: a=%5.3f, x0=%5.3f, sigma=%5.3f' % tuple(popt))
plt.legend()
plt.show() 

通过以上步骤,我们可以实现高斯函数拟合。