1. 程式人生 > >Matlab三次樣條法插值

Matlab三次樣條法插值

end for 直接 mat wid tla 文獻 nbsp 出現

以N方向為例:

1、將N方向數據導入Matlab,將十進制年轉化為年積日

2、重新排序,將缺失數據的天數以NaN補齊

3、尋找出NaN所在的天數

nxx = find( isnan(n) );

4、直接進行三次樣條插值,2192代表了6年的數據

x = 1:2192;
nyy = spline(x,n,nxx);

5、nyy向量裏即是需要插補的值,將其值插入到n中

 j = 1;
for i = 1 : 2192
    if ( isnan(n(i)) == 1 )
        n(i) = nyy(j);
        j = j + 1;
    end
end

問題:

數據連續缺失多於5個的時候,采用此方法插值可能會出現插入的數據失真的情況,要考慮使用所謂的多點三次樣條法插值。

詳見參考文獻:

技術分享圖片

Matlab三次樣條法插值