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)。在本例中,我们只打印了拟合参数。最后,我们绘制原始数据和拟合结果。