564kcal

日常メモ

飛び飛びの値を(線形)補間する方法(matlab)

ちょっとしたメモ(自分用)

 

時系列データを扱っていると飛び飛びに欠損値が存在するデータに出くわす場面が多い。

特に大気とか海洋の観測データだと機材の不調で欠損値が生じる場合がある。

通常interp1を使えば良いのだが、複数の時系列データセットかつ、欠損期間がバラバラだとうんざりする。

fillmissingを使えば一発で瞬時に補完できる。

つい最近まで知らなかったのでメモする。

 

以下、公式から引用

A = [NaN NaN 5 3 NaN 5 7 NaN 9 NaN;
     8 9 NaN 1 4 5 NaN 5 NaN 5;
     NaN 4 9 8 7 2 4 1 1 NaN]
F = fillmissing(A,'linear',2,'EndValues','nearest')

F =

     5     5     5     3     4     5     7     8     9     9
     8     9     5     1     4     5     5     5     5     5
     4     4     9     8     7     2     4     1     1     1