Mathematics    

内挿と多次元配列

いくつかの内挿関数は、多次元データにも機能します。

関数
詳細
interp3
3次元データの内挿
interpn
多次元データの内挿
ndgrid
多次元データのグリッド化 (ndfun ディレクトリ)

この節では、つぎの事柄を説明します。

3次元データの内挿

関数interp3は、3次元のサンプル値Vの間の値を探す3次元内挿を行ないます。ユーザは、既知のデータ点をもっていなければなりません。

interp3に対する最も一般的な型は、

です。ここで、XI, YI, ZIは、関数interp3Vを内挿する点を示すものです。範囲外のものについては、interp3NaNを出力します。

3次元データの内挿には、3種類のものがあります。

これらすべての方法は、X, Y, Zは共に、特定の方向に増加または減少する単一関数です。加えて、meshgrid関数を使ってこれらの行列を準備するか、またはmeshgridの出力に相当する点のパターンにするかのどちらかを行なってください。

個々の方法は、内挿を行なう前に入力を等間隔の領域に射影します。xが既に等間隔になっているならば、method文字の前に*を付けて実行時間を短縮することができます。例えば、'*cubic'です。

高次元データの内挿

関数interpnは、多次元のサンプルデータVの点間の内挿値を求めるために多次元内挿を行ないます。interpnの最も一般形は、

です。1, 2, 3, ...は、与えられた Vの値に対する点を設定する行列です。 Vは、これらの点に対応する値を含んでいる行列です。1, 2, 3, ...は、interpnVの内挿された値を出力する点です。範囲外の値に対しては、NaNを出力します。

Y1, Y2, Y3, ... は、同じ大きさの配列かまたはベクトルのどちらかになります。これらが異なる大きさのベクトルならば、interpnは、これらをndgridに転送し、その後、結果の並列を使います。

多次元データに対して3つの異なる方法があります。

これらすべての方法は、X1, X2,X3 は単調でなければなりません。加えて、ndgrid関数を使ってこれらの行列を準備するか、またはndgridの出力に相当する点のパターンを用意するかのどちらかが必要です。

各々の方法は、内挿が行われる前に入力を等間隔の領域に射影する必要があります。Xが既に等間隔になっているならば、method文字変数の先頭に*を付けることにより実行時間をセーブすることができます。例えば、'*cubic'です。

多次元データのグリッド化

関数ndgridは、多次元関数の関数値や内挿にデータの配列を作成します。ndgridは、一連の入力ベクトルにより設定される領域を一連の出力配列に変換します。これらの出力配列のi番目の次元は、入力ベクトルxiの要素のコピーです。

ndgridの書式は、

例えば、与えられた範囲に渡り、3つの変数からなる関数を計算しようとします。つぎの関数を考えます。

ここで、, , の範囲で考えます。この関数を計算し、プロットするには、つぎのようにします。


 内挿法の比較 散布データの三角メッシュと内挿