如何用Python做出多高斯拟合

2025-10-13 08:19:32

1、要使用Python进行高斯拟合,您可以使用SciPy库中的curve_fit函数。以下是一个基本的实例:

2、import numpy as np

import matplotlib.pyplot as plt

from scipy.optimize import curve_fit

# 定义高斯函数

def gauss(x, a, x0, sigma):

    return a * np.exp(-(x - x0)**2 / (2 * sigma**2))

# 生成数据

x = np.linspace(-5, 5, 100)

y = gauss(x, 1, 0, 1) + np.random.normal(size=len(x))

# 进行拟合

popt, pcov = curve_fit(gauss, x, y)

# 输出拟合参数

print(popt)

# 绘制原始数据和拟合结果

plt.plot(x, y, 'b-', label='data')

plt.plot(x, gauss(x, *popt), 'r-', label='fit')

plt.legend()

plt.show()

3、在此示例中,我们定义了高斯函数gauss,生成带有噪声的数据,并使用curve_fit函数对数据进行拟合。curve_fit函数需要两个参数:要拟合的函数和要拟合的数据。它返回两个对象:拟合参数(popt)和协方差矩阵(pcov)。在本例中,我们只打印了拟合参数。最后,我们绘制原始数据和拟合结果。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢