使高斯人在MATLAB中关闭峰值

时间:2016-10-13 20:58:10

标签: matlab curve-fitting gaussian data-analysis

我的数据集有两个靠近的峰。我希望将这些峰值与高斯人匹配,以便我提出一个复制原始数据的 new 数据集。为此,我正在使用MATLAB" findpeaks"功能,并使用峰的高度和宽度,以提出适当数量的高斯,然后将这些高斯加在一起。但是,由于峰值非常接近,结果如下所示(原始数据设置为蓝色,复制的数据设置为红色):

enter image description here

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

1 个答案:

答案 0 :(得分:0)

高斯函数由两个变量,均值和方差定义。这两个高峰将为您提供两个高斯的手段,并且通过图的外观可以得到相同的方差(如果某些数据经历了高斯过程,则方差将是相同的,我无法想到不是这种情况的物理过程,除非它只是一个任意的情节)。所以你只需找到一个变量。至于那些只是归一化的峰值,这样曲线下的面积总和为1.高斯总和默认为1,如果你想要拟合的曲线下的总和是2,你不需要做任何事情,否则相应地缩放。

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

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

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