例: 多項式補間
polyint
polyint関数を使用して、データセットに対して多項式補間を実行します。
1. データセットを定義します。
2. polyint 関数を呼び出して、特定の点におけるデータセットの多項式補間を計算します。
x = 328 のときの補間結果は y = -0.189 となり、誤差は 0.056 です。
3. y の補間値を求める x の値の範囲を定義します。
4. 補間値とその誤差を記録します。
5. データ点、補間曲線、誤差の推定値をプロットします。
polycoeff
補間値を計算するには、
polyint を使用します。補間多項式とそのいくつかの導関数の両方を計算するには、
polycoeffを使用します。
polycoeff によって返される係数は特定のデータ点において精度が低くなるので、補間値を表すのに最適ではありません。
1. 上記で定義した一連のデータ点を通る多項式曲線の多項式係数を求めます。
2. 多項式関数を定義します。ここで、c は多項式係数のベクトルです。
3. 多項式関数を微分します。
4. データ点、多項式補間、およびその 1 次導関数をプロットします。
最小二乗法による最良適合の多項式は polyfit 関数では作成されますが、polycoeff では作成されません。
元の x の値の範囲の外にある y の値の予測に polyint と polycoeff の結果を使用してはなりません。
polyiter
polyiter関数を使用して多項式補間を実行します。
1. 最大反復回数と許容誤差を定義します。
2. polyiter 関数を呼び出します。
このアルゴリズムは収束しなかったので、N_max 回反復する前に停止しませんでした。誤差が 0.01 以下にならず、polyint と同じ結果が返りました。
3. 元の点、厳密な計算による多項式、反復計算による多項式をプロットします。