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

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

1、导入所需库

python 高斯函数拟合

2、定义高斯函数

3、准备数据

4、使用curve_fit进行拟合

5、可视化结果

python 高斯函数拟合

1. 导入所需库

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()

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。