高斯函数拟合是一种常用的数学方法,用于将一组数据点拟合成一个高斯分布(正态分布)曲线。这种方法在数据分析、信号处理、图像处理等领域有广泛的应用。
高斯函数(正态分布函数)的数学形式为: [ G(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x - \mu)^2}{2\sigma^2}} ] 其中:
以下是一个使用Python进行高斯函数拟合的简单示例:
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
# 生成模拟数据
np.random.seed(0)
x_data = np.linspace(-5, 5, num=100)
y_data = 3 * np.exp(-(x_data - 1)**2 / (2 * 0.5**2)) + np.random.normal(0, 0.1, len(x_data))
# 定义高斯函数
def gaussian(x, mu, sigma, A):
return A * np.exp(-(x - mu)**2 / (2 * sigma**2))
# 初始参数估计
initial_guess = [1, 0.5, 3]
# 进行拟合
popt, pcov = curve_fit(gaussian, x_data, y_data, p0=initial_guess)
# 提取拟合参数
mu_fit, sigma_fit, A_fit = popt
# 绘制结果
plt.scatter(x_data, y_data, label='Data')
plt.plot(x_data, gaussian(x_data, *popt), 'r-', label='Fit')
plt.legend()
plt.show()
print(f"拟合参数: mu = {mu_fit}, sigma = {sigma_fit}, A = {A_fit}")
通过以上步骤和方法,可以有效进行高斯函数拟合,并解决常见的拟合问题。
领取专属 10元无门槛券
手把手带您无忧上云