簡體   English   中英

在Matlab中擬合高斯曲線到時間序列

[英]Fitting A Gaussian Curve to a Time Series in Matlab

我有一些地方植被指數的原始數據。 當我在時間序列上繪制它們時,我得到如下結果:

在此輸入圖像描述

現在我們可以擬合一些形式的高斯模型

(C)MathWorks公司

其中“n”是術語數/高斯數。 Matlab確實提供了這種功能,但最大n = 8。

那么我可以獲得一些關於如何在Matlab中使用這類函數的幫助嗎?

有一個很好的理由為什么Matalb停在某個n,想想它一秒鍾,計算你實際擁有多少數據點(比如100),你實際需要多少個自由參數(3xn),所以如果你想要適合比如說15個高斯,你需要至少45個條件,增加噪聲以及每個高斯需要幾個像素(超過3個)以便適合工作的事實,這需要比你更多的像素和更長的優化過程。 當然,如果你試圖適應你仍然會得到一個答案,但它不會很強大(垃圾出垃圾),或單值。

這就是我要做的事情:由於數據中的高斯寬度限制為30像素,我將數據分成幾個部分(至少由一些像素重疊),並嘗試每次都適合較小的高斯#每個細分。 假設您取0<x<30 ,然后10<x<40等范圍......並在每個范圍內分別找到3-4高斯。 我的直覺說這會更快更強大。

如果你仍然希望一次適合所有這些,你可以使用像這個fex文件...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM