Web教材一覧数値解析
(BOK大区分:1 基礎理論、中区分:2 アルゴリズムとプログラミング、中区分:2 アルゴリズム)

補間(ラグランジュの補間多項式)

キーワード

数値解析、補間、ラグランジュの補間多項式


右図のように、n+1個の点(黒点)(x0,y0),(x1,y1),(x2,y2),・・・,(xn,yn)が与えられているとき、その点を通るなめらかな曲線をひき、x0~xnの間の値xにおける点(赤点)のyの値を求めることを補間といいます。
 n+1個の点を通る曲線は多様ですが、最も単純なのはn次式、
   y=a0+a1x+a2x2+・・・+anxn
です。
 そして、n+1個の点をn次式で補間するポピュラーな方法にラグランジュの補間多項式があります。

1次式での補間

最も単純なのは、2点(x0,y0),(x1,y1)が与えられ、1次式により、x0~x1の間xに対するyを求める場合です。

2点(x0,y0),(x1,y1)を通る直線は、
      y1-y0
   y=────(x-x0)+y0
      x1-x0

です。これを変形すると、次の式が得られます。
     x-x1    x-x0
   y=───×y0+───×y1
     x0-x1   x1-x0

例えば、2点を(1,3)と(4,7)とし、x=3とすると、
   x-x1    3-4   1  x-x0    3-1   14
   ───×y0=───×1=─、 ───×y1=───×7=──
   x1-x0   1-4   3  x1-x0   4-1    3

ですから、求めるyは
     1 14
   y=─+──=5
     3  3

になります。

ラグランジュの補間多項式

これをn次式に一般化して、
   y=L0y0+L1y1+L2y2+・・・+Lnyn
としたときの、Lkは、次の式になります。
   

例えば2点、1次式のときはn=1ですから、上の式でx2以上のものがある項は不要です。
 ここで仮に、上の「kの項がない」ことを無視して書くと次のようになります。
      (x-x0)(x-x1)
   L=────────
     (xk-x0)(xk-x1)

0(k=0)では、このL式のkを0と書き変えれば、
      (x-x0)(x-x1)                 (x-x0)
   L0=──────── となりますが、k項、すなわち、──── を除くので、
     (x0-x0)(x0-x1)                 (x0-x0)
正しいL0
       x-x1
   L0=────
      x0-x1
になります。
 同様に、L1は、次のようになります。
      (x-x0)(x-x1)   x-x0
   L1=────────=────
     (x1-x0)(x1-x1)   x1-x0

すなわち、yの値は次式で求められます。
     x-x1    x-x0
   y=───×y0+───×y1
     x0-x1   x1-x0

これは、前述の「1次式での補間」で示した結果と一致します。

数値例

●問題
 3点 (2,1),(3,0),(5,4) が与えられたとき、2次のラグランジュの補間多項式を用いて、x=4 のときのyを求めよ。
●解答
    (x-x0) (x-x1) (x-x2)  (x-x1) (x-x2) (4-3)×(4-5)  -1
 L0=────────────=────────=──────=──
    (x0-x0)(x0-x1)(x0-x2)  (x0-x1)(x0-x2) (2-3)×(2-5)  3

    (x-x0) (x-x1) (x-x2)  (x-x0) (x-x2) (4-2)×(4-5)
 L1=────────────=────────=──────=1
    (x1-x0)(x1-x1)(x1-x2)  (x1-x0)(x1-x2) (3-2)×(3-5)

    (x-x0) (x-x1) (x-x2)  (x-x0) (x-x1) (4-2)×(4-3)  1
 L2=────────────=────────=──────=──
    (x2-x0)(x2-x1)(x2-x2)  (x2-x0)(x2-x1) (5-2)×(5-3)  3

    1       1
 y=-─×1+1×0+─×4=1
    3       3

実務的な考慮

n+1個の点をn次式で補間するのは、nが大きくなると、
  ・計算量が増大するだけでなく、
  ・右図(赤線、点A)のように、実務的ではない補間値になる
欠点があります。
 それで、あえて全体を一つの式で表すのではなく、補間すべき周辺の数点だけを用いて、低次元の式(青線)で補間を行う(B点)ことがよく行われます。

その際、xの近傍の点の小さい側と大きい側が同じ(1次式や3次式を用いる)ならば、問題はないのですが、2次式を用いるときは、小さいほうが1点で大きいほうが2点の場合(a)と、小さいほうが2点で大きいほうが1点の場合(b)の2つの曲線が候補になります。
 このような場合には、aとbの両方で計算して、重みづけをして平均をとるなどの方法も用いられます。


数値解析へ