多項式補間
• polyint(vx, vy, x) - 多項式関数を使用して求めた x における補間値と期待誤差を返します。
polyint 関数は、Neville アルゴリズムを使用して、指定された点 x において、長さが N のデータセットの多項式補間を実行します。この関数は、各点を通る、一意な N – 1 次多項式を計算します。
• polycoeff(vx, vy) - 補間多項式関数の係数を返します。
polycoeff 関数は、以降の計算で使用される補間多項式の係数を計算します。
• polyiter(vx, vy, x, N, e) - 最大次数が N、最大誤差が e の多項式関数を使用して、x における補間値を返します。
polyiter の出力ベクトルの 1 つ目の成分は収束判定フラグの値 (1 = 収束、0 = 収束しない)、2 つ目の成分は指定された許容誤差を満たすために必要な反復回数、3 つ目の成分は x の入力値に対する y の反復推定値です。
引数
• vx, vy は長さが同じ実数データ値のベクトルです。
• x は、補間曲線を求める独立変数の値です。最良の結果を得るには、x が vx の値の範囲内にある必要があります。
入力ベクトルに単位が使用されている場合、x は vx と同じ単位を持たなければなりません。
• N は最大反復回数です。反復計算が 1 回終了するたびに多項式の次数が 1 増分するので、N は多項式関数の最大次数でもあります。
• e は入力許容誤差です。
入力ベクトルに単位が使用されている場合、e は vy と同じ単位を持たなければなりません。
追加情報
• polyiter 関数で使用される Aitken-Neville 補間は、polyint および polycoeff に実装されている多項式補間とほぼ同じです。ただし、補間は反復されるので、polyiter では入力許容誤差 e および最大反復回数 N を指定できます。データ点の最後の 2 つの反復推定値が許容誤差 e の範囲内に収まるか、反復回数が入力引数 N に達すると、このアルゴリズムは停止します。反復補間は、定積分の Romberg 求積法などで使用するのが効果的です。数値積分はコンピュータに非常に多くの負荷がかかるプロセスです。反復回数を減らすことによって処理時間を短縮できますが、解の精度が下がります。一般的に、Aitken-Neville 補間は、いくらかの許容誤差を指定して少ない数の補間点を求める場合に使用します。
• polyint ルーチンと polycoeff ルーチンはそれぞれ "Numerical Recipes in C, The Art of Scientific Computing" (Cambridge University Press), Copyright (C) 1987, 1988 Numerical Recipes Software の p.109 と p.121 に基づき、許可の下で使用されています。polyiter ルーチンについては、McCalla, Thomas Richard (1967). Introduction to Numerical Methods and FORTRAN Programming, John Wiley に詳しい説明があります。