補間法比較 戻る
数理・統計

補間法・スプライン補間比較

ラグランジュ・ニュートン・三次スプライン・PCHIP・線形補間を同一グラフで比較。ルンゲ現象を直感的に体感できる。

データセット・設定
データセット
既定のルンゲ関数 $f(x)=1/(1+25x^2)$ を等間隔ノードで標本化。高次のラグランジュ補間では端部でルンゲ現象(振動)が現れます。
サンプル点数 9
点数を増やすとラグランジュ補間の振動(ルンゲ現象)が拡大します。
強調する手法

ラグランジュ基底

$$L(x)=\sum_{i=0}^n y_i \prod_{j\neq i}\frac{x-x_j}{x_i-x_j}$$

各区間 $[x_i, x_{i+1}]$ で三次多項式 $S_i(x)$、連続条件:

$$S_i(x_{i+1})=S_{i+1}(x_{i+1}),\quad S_i'(x_{i+1})=S_{i+1}'(x_{i+1}),\quad S_i''(x_{i+1})=S_{i+1}''(x_{i+1})$$

自然境界:$S''(x_0)=S''(x_n)=0$

ルンゲ現象:等間隔ノードでの高次多項式補間($n\geq7$程度)で区間端付近に大振動が発生。

一時停止中はスライダーを動かすと結果が即座に更新されます。

強調中の手法
データ点数
評価点 x
補間値 f(x)
補間アニメーション(リアルタイム)
線形(区分直線) ラグランジュ(振動) 三次スプライン(C²) データ点
理論・主要公式

$$L_i(x) = \prod_{j \neq i} \frac{x - x_j}{x_i - x_j}$$

ラグランジュ基底多項式:\(n+1\) 個の節点を通る次数 \(n\) の多項式

$$S_i(x) = a_i + b_i(x-x_i) + c_i(x-x_i)^2 + d_i(x-x_i)^3$$

3次スプライン:各区間 \([x_i, x_{i+1}]\) で定義、接続点で2階微分まで連続

補間法・スプライン補間比較とは

🙋
「補間」って、データ点の間をどうやって埋めるかということですよね?ラグランジュやニュートン、スプラインって、どれが一番いいんですか?
🎓
大まかに言うと、データの性質や目的で「一番いい」方法は変わるんだ。例えば、滑らかな曲線が欲しいなら三次スプライン、計算がシンプルなら線形補間。このシミュレーターで、上の「データ点」を自由に動かして、5つの方法を並べて比べてみると、その違いが一目瞭然だよ。
🙋
「ルンゲ現象」ってツールの説明にありました。高次多項式で起こる振動って、具体的にどういう時に危険なんですか?
🎓
実務で多いのは、等間隔に測ったデータを高次のラグランジュ補間でつなごうとした時だ。端点付近でグラフが激しく暴れて、物理的にあり得ない値が出てしまう。シミュレーターのデフォルトの $f(x)=1/(1+25x^2)$ で、データ点を10個くらいに増やして「ラグランジュ」の線を確認してみて。両端が非常に跳ね上がるだろ?あれがルンゲ現象だ。
🙋
え、そうなんですか!確かに暴れてます…。じゃあ、現場のCAEでは振動しない「スプライン」や「PCHIP」ばかり使うんですか?
🎓
そうとも限らないんだ。スプラインは滑らかだけど、元のデータが単調増加なのに、補間結果がわずかに減る「オーバーシュート」が起きることがある。材料の応力-ひずみ曲線みたいに単調性が絶対に必要なデータには、PCHIP(区分的3次エルミート補間)がよく使われるね。ツールで「単調に増加する点」を設定して、スプラインとPCHIPを比べてみると、その違いがよくわかるよ。

よくある質問

ルンゲ現象とは、高次の多項式補間(特にラグランジュ補間)で、等間隔データ点を使用した際に区間の端で大きな振動が発生する現象です。このツールでは、例えばsin関数のような滑らかな曲線に対して、ラグランジュ補間と三次スプライン補間のグラフを比較することで、端部での乖離を直感的に確認できます。
ラグランジュ・ニュートン補間は少数点で厳密な一致が必要な場合に、三次スプラインは滑らかさが求められる曲線近似に、PCHIPは単調性を保ちたいデータ(例:実験値)に、線形補間は計算負荷が低く単純な補間に適しています。グラフ比較で各特性を確認してください。
等間隔データでは高次ラグランジュ補間でルンゲ現象が顕著になりますが、三次スプラインやPCHIPは比較的安定です。不等間隔データ(例:チェビシェフ点)ではラグランジュ補間の振動が抑制される場合があります。ツール上で点を追加・移動して、挙動の違いを試せます。
はい、グラフ上をクリックしてデータ点を追加したり、既存の点をドラッグして移動できます。ただし、点を極端に密集させたり、急激な変化を与えると、高次補間で予期せぬ振動が発生する可能性があります。比較結果を見ながら、適切な点配置を探ってください。

実世界での応用

CAE/材料工学:材料試験で得られる応力-ひずみ曲線は、離散的なデータ点の集合です。FEM解析ではこの曲線全体の情報が必要となるため、単調性を保持するPCHIP補間がよく用いられます。振動する補間は物理的に不適切な結果を招きます。

コンピュータグラフィックス/形状設計:自動車や航空機の滑らかな曲面形状を定義するために、NURBS(非一様有理Bスプライン)が使われます。これはBスプライン(スプライン補間の一般化)を基盤としており、複雑な自由曲面を少数の制御点で表現できます。

計測データの処理:実験やセンサーから得られる時系列データは等間隔とは限りません。異なる時刻のデータを揃えて比較したり、微分値を求めたりする際に、スプライン補間がデータの再サンプリングに活用されます。

数値制御(NC)加工:工具の滑らかな経路制御のためにスプライン補間が使用されます。与えられた通過点を、急激な加速度変化(ジャーク)が生じない滑らかな曲線で結ぶことで、加工精度の向上と機械の摩耗低減を実現します。

よくある誤解と注意点

まず、「補間は次数が高いほど良い」というのは大きな誤解です。ラグランジュ補間で次数を上げるとルンゲ現象が起きるのはその典型で、例えば等間隔に10点取ると、両端で補間曲線が実データから大きく外れて暴れます。これは見た目が悪いだけでなく、中間点の予測精度もむしろ低下させることがあります。実務では、データ点の数より「データの背後にある物理的な挙動」を考慮して手法を選ぶのが鉄則です。

次に、「スプライン補間は何でも滑らかにできる最強ツール」と思われがちですが、落とし穴があります。その一つが「単調性の保持」です。材料の塑性変形領域のような単調増加データをスプラインで補間すると、わずかに減少する部分(オーバーシュート)が生じ、物理的に不自然な結果になることがあります。このツールで、(1,1), (2,4), (3,9)といった単調増加点を設定し、スプラインとPCHIPを比較してみてください。PCHIPの曲線が単調性をきちんと守っているのがわかります。

また、「補間点の外側でも使える」と安易に外挿(予測)に使うのは危険です。補間関数は与えられた点の「間」を埋めるように設計されており、その外側では全く無意味な値に発散することがほとんどです。CAEで初期条件や境界条件を設定する際は、この点に特に注意が必要です。

使い方ガイド

  1. CSV形式またはテーブルで最大10個のデータ点(x,y座標)を入力します
  2. 比較対象の補間法をチェックボックスで選択します:線形補間、ラグランジュ補間、ニュートン補間、スプライン補間、PCHIP補間から任意に選択可能
  3. queryXに任意のx値を入力すると、各手法による補間値がリアルタイムで計算され、グラフ上に異なる曲線で表示されます
  4. 条件数(概算)も自動計算され、数値安定性の評価が可能です

具体的な計算例

機械部品の応力分布測定データで、5点(0,0)、(1,50)、(2,120)、(3,180)、(4,200)MPaがある場合、queryX=2.5での各補間結果は:線形補間値150MPa、ラグランジュ補間値156MPa、スプライン補間値154MPaとなります。データ点間隔が等間隔でない工業用センサーデータ処理では、スプライン補間がルンゲ現象を抑制し最も信頼性が高くなります。

実務での注意点