在Matlab中拟合高斯曲线到时间序列

问题描述 投票:0回答:1

我有一些地方植被指数的原始数据。当我在时间序列上绘制它们时,我得到如下结果:

现在我们可以拟合一些形式的高斯模型

其中“n”是术语数/高斯数。 Matlab确实提供了这种功能,但最大n = 8。

那么我可以获得一些关于如何在Matlab中使用这类函数的帮助吗?

matlab curve-fitting gaussian data-fitting
1个回答
2
投票

有一个很好的理由为什么Matalb停在某个n,想想它一秒钟,计算你实际拥有多少数据点(比如100),你实际需要多少个自由参数(3xn),所以如果你想要适合比如说15个高斯,你需要至少45个条件,增加噪声以及每个高斯需要几个像素(超过3个)以便适合工作的事实,这需要比你更多的像素和更长的优化过程。当然,如果你试图适应你仍然会得到一个答案,但它不会很强大(垃圾出垃圾),或单值。

这就是我要做的事情:由于数据中的高斯宽度限制为30像素,我将数据分成几个部分(至少由一些像素重叠),并尝试每次都适合较小的高斯#每个细分。假设你采取范围0<x<30,然后10<x<40等...并在每个发现3-4高斯分开。我的直觉说这会更快更强大。

如果你仍然希望一次适合所有这些,你可以使用like this fex文件......

© www.soinside.com 2019 - 2024. All rights reserved.