【问题标题】:Fitting gaussians to close peaks in MATLAB在 MATLAB 中拟合高斯以关闭峰值
【发布时间】:2017-02-23 03:50:24
【问题描述】:

我有一个数据集,其中有两个靠近的峰。我想用高斯拟合这些峰值,以便我想出一个复制原始数据集的数据集。为此,我正在使用 MATLAB 的“findpeaks”函数,并使用峰的高度和宽度来得出适当数量的高斯,然后将这些高斯相加。但是,由于峰非常接近,结果如下所示(原始数据集为蓝色,复制的数据集为红色):

有没有更好的方法来复制具有高斯峰的数据?

【问题讨论】:

    标签: matlab curve-fitting gaussian data-analysis


    【解决方案1】:

    高斯函数由两个变量定义,均值和方差。这两个峰值将为您提供两个高斯的均值,并且从图中看,它们的方差相同(如果某些数据经过高斯过程,方差将是相同的,我想不出一个物理过程,情况并非如此,除非它只是一个任意的情节)。所以你只需要找到一个变量。至于只是归一化的峰值,因此曲线下的面积总和为 1。默认情况下,高斯总和为 1,如果您尝试拟合的图下的总和为 2,则不需要做任何东西,否则相应地缩放。

    我的猜测是这样的(伪代码):

    f = 0.5*gauss(-3,var)+0.5*gauss(3,var)
    

    如果您对创建情节的过程了解更多,那么您实际上可以做得更好。

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 2021-06-22
      • 2020-07-15
      • 2012-10-19
      • 1970-01-01
      • 2021-08-20
      • 2022-01-02
      • 2020-11-30
      相关资源
      最近更新 更多