使用Python的Scipy库中的curve_fit函数,可以轻松实现高斯函数拟合。首先导入所需库,然后定义高斯函数,最后调用curve_fit进行拟合。
高斯函数拟合是一种非线性回归方法,用于拟合数据分布,在Python中,我们可以使用scipy.optimize.curve_fit
函数进行高斯函数拟合,以下是详细的步骤和小标题:
1、导入所需库
2、定义高斯函数
3、准备数据
4、使用curve_fit进行拟合
5、可视化结果
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进行拟合
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()
通过以上步骤,我们可以实现高斯函数拟合。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)