Mathematics | ![]() ![]() |
1次元内挿
多項式内挿
関数interp1
は、データ解析やカーブフィッテングに重要な演算である1次元内挿を行ないます。この関数は、与えられたデータに対して、データ間を多項式で近似し、希望する内挿点で適切な関数を推定します。この最も一般的な型は
yi = interp1(x,y,xi,method
)
y
は、ある関数値を含むベクトルで、 x
は、y
の値が与えられる点を含むy
と同じ長さのベクトルです。 xi
は、内挿される点を含むベクトルです。method
は、内挿法を設定するオプションの文字列です。
method = 'nearest'
):この方法は、内挿する点の最も近くにあるデータを使います。method = 'linear'
):この方法は、存在しているデータ点のお互いの組毎に別々の関数をフィットさせ、xi
で設定されている点で、その関数値を計算して出力します。これは、interp1
関数に対するデフォルトの方法です。method = 'spline'
):この方法は、存在しているデータ点の各組の間を種々のキュービック関数でフィットさせ、関数spline
を使って、データ点でキュービックスプライン内挿を行います。method = 'pchip'
または 'cubic'
):これらの方法は、同じものです。関数pchip
を使って、ベクトルx
とy
とを区分的なキュービックエルミート内挿を行います。これらの方法は、単調で、データの型を保ちます。xi
の任意の要素が、x
で張られる区間の外に位置する場合、設定した内挿法は、外挿を実行するものとして使われます。また、yi = interp1(x,Y,xi,method,extrapval)
は、外挿された値をextrapval
で置き換えます。NaN
が、extrapval
に対して、しばしば使われます。
すべての方法は、一様分布していないデータに対しても機能します。
スピード、メモリ、スムージング
内挿法を選択すると、他の処理より計算時間とスペースが必要になることは覚えておいてください。また、これらの必要な事柄と結果の求まるスムージング状態との間でトレードオフを行なうことが必要です。
各々の方法の相対的な性能は、2次元または多次元の内挿に対してさえも同じ結果になります。内挿法のグラフィカルな比較は、 "内挿法の比較"を参照してください。
FFTベースの内挿
関数interpft
は、FFTをベースにした1次元の内挿を行ないます。この方法は、周期的な関数の値を含むベクトルのFourier変換を計算します。それで、より多くの点を使って、逆Fourier変換を計算します。この書式は、
y = interpft(x,n)
です。x
は、等間隔にサンプルされた周期的な関数値を含むベクトルです。n
は、出力する等間隔な点の数です。
![]() | 内挿関数のまとめ | 2次元内挿 | ![]() |