我的数据集有两个靠近的峰。我希望将这些峰值与高斯人匹配,以便我提出一个复制原始数据的 new 数据集。为此,我正在使用MATLAB" findpeaks"功能,并使用峰的高度和宽度,以提出适当数量的高斯,然后将这些高斯加在一起。但是,由于峰值非常接近,结果如下所示(原始数据设置为蓝色,复制的数据设置为红色):
有没有更好的方法来复制具有高斯峰值的数据?
答案 0 :(得分:0)
高斯函数由两个变量,均值和方差定义。这两个高峰将为您提供两个高斯的手段,并且通过图的外观可以得到相同的方差(如果某些数据经历了高斯过程,则方差将是相同的,我无法想到不是这种情况的物理过程,除非它只是一个任意的情节)。所以你只需找到一个变量。至于那些只是归一化的峰值,这样曲线下的面积总和为1.高斯总和默认为1,如果你想要拟合的曲线下的总和是2,你不需要做任何事情,否则相应地缩放。
我的猜测是这样的(伪代码):
f = 0.5*gauss(-3,var)+0.5*gauss(3,var)
如果您对创建情节的过程有更多了解,那么您实际上可以做得更好。