我有一些地方植被指数的原始数据。当我将它们绘制在时间序列上时,我得到如下结果:
现在我们可以拟合一些高斯模型,其形式为
其中“n”是项数/高斯。Matlab 确实提供了这种功能,但最大 n=8。
那么我可以就如何在 Matlab 中拟合这种类型的函数获得一些帮助吗?
我有一些地方植被指数的原始数据。当我将它们绘制在时间序列上时,我得到如下结果:
现在我们可以拟合一些高斯模型,其形式为
其中“n”是项数/高斯。Matlab 确实提供了这种功能,但最大 n=8。
那么我可以就如何在 Matlab 中拟合这种类型的函数获得一些帮助吗?
Matalb 停在某个 n 是有充分理由的,想一想,计算你实际有多少数据点(比如 100),你实际需要拟合多少自由参数(3xn),所以如果你想拟合比如说 15 个高斯,你需要至少 45 个条件,添加噪声,并且每个高斯需要几个像素(超过 3 个)才能进行拟合,这可能需要比你拥有的更多的像素和一个漫长的优化过程。当然,如果您尝试拟合,您仍然会得到答案,但它不会是健壮的(垃圾进垃圾出),或单值。
这就是我要做的:由于数据中的高斯宽度被限制为 30 像素,我将数据分成几个部分(至少重叠一些像素),并尝试每次都适合较小的高斯到每个段。假设您取范围0<x<30
,然后10<x<40
,等等......并在每个中分别找到 3-4 高斯。我的直觉说这会更快更健壮。
如果您仍然想一次适应所有这些,您可以使用类似这个 fex文件的东西......