| 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次元内挿 | ![]() |