Main Content

高斯模型

关于高斯模型

高斯模型用于拟合峰值,由下式给出:

y=i=1naie[(xbici)2]

其中 a 是振幅,b 是质心(位置),c 与峰宽有关,n 是要拟合的峰值数量,1 ≤ n ≤ 8。

在科学和工程的许多领域都会遇到高斯峰值。例如,高斯峰值可以描述线发射频谱和化学浓度测定。

以交互方式拟合高斯模型

  1. 通过在 MATLAB® 命令行中输入 curveFitter 打开曲线拟合器。或者,在 App 选项卡上的数学、统计和优化组中,点击曲线拟合器

  2. 在曲线拟合器中,选择曲线数据。在曲线拟合器选项卡的数据部分中,点击选择数据。在选择拟合数据对话框中,选择 X 数据Y 数据,或仅选择 Y 数据(相对于索引绘图)。

  3. 点击拟合类型部分中的箭头以打开库,然后点击回归模型组中的高斯

Fit Options pane for Gaussian fit

您可以在拟合选项窗格中指定以下选项:

  • 将项数指定为范围 [1 8] 内的一个正整数。在结果窗格中查看模型项、系数值和拟合优度统计量。

  • (可选)在高级选项部分,指定系数起始值和约束边界,或更改算法设置。该 App 根据数据集计算高斯拟合的优化起点。您可以覆盖起点,并在拟合选项窗格中指定您自己的值。

    高斯拟合对宽度参数 c1 施加下界为 0 的约束。大多数库模型的默认下界为 -Inf,这表示系数无约束。

有关设置的详细信息,请参阅指定拟合选项和优化的起点

使用 fit 函数拟合高斯模型

此示例说明如何使用 fit 函数对数据进行高斯模型拟合。

高斯库模型是 fitfittype 函数的输入参量。指定模型类型 gauss 后跟项数,例如 'gauss1''gauss8'

拟合一个二项高斯模型

加载一些数据并拟合一个二项高斯模型。

[x,y] = titanium;
f = fit(x.',y.','gauss2')
f = 
     General model Gauss2:
     f(x) =  a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)
     Coefficients (with 95% confidence bounds):
       a1 =        1.47  (1.426, 1.515)
       b1 =       897.7  (897, 898.3)
       c1 =       27.08  (26.08, 28.08)
       a2 =      0.6994  (0.6821, 0.7167)
       b2 =       810.8  (790, 831.7)
       c2 =       592.9  (500.1, 685.7)
plot(f,x,y)

另请参阅

App

函数

相关主题