数値解析 第6回 (4) ニュートン・コーツの公式
ラグランジュ補間の利用
台形公式は、
y=f(x) の線形補間を
y=p(x) として
∫βαf(x)dx ≒ ∫βαp(x)dx
と近似する公式、と言えます。
そこでもっと次数を上げて
m 次のラグランジュ補間 (
m≧2 ) を用いることを考えてみましょう。
- m 次のラグランジュ補間は m+1 個の観測点で決めましたので、
小区間 [α,β] を更に m 等分して
α=x0<x1<⋯<xm=β
とします。ただし、
xk=α+k(β−αm)=α+k(b−aNm) ( k=0,1,⋯,m )
です。
- {(xk,yk)}k=0,1,⋯,m に関する m 次ラグランジュ補間多項式を p(x) として
∫βαf(x)dx ≒ ∫βαp(x)dx
と近似します。
例えば 2 次のラグランジュ補間を用いるときは、
小区間
[α,β] の両端を
x0,
x2, 中点を
x1 として
{(xk,yk)}k=0,1,2 を通る放物線が
y=p(x) になり、
ます。
ニュートン・コーツの公式
こう書いてくると
p(x) を具体的に求める必要があるように思えますが、
実はその必要はありません。
公式 (8.20) ( 小区間 )
∫βαf(x)dx
≒
Δx×m∑k=0ck×yk
ただし
- Δx= ( x の刻み幅 ) =β−αm=b−aNm,
- xk=α+kΔx,
- yk=f(xk)
で、
ck は表 ( 教科書 p.176, 表8.1 など ) から拾って使う。
※ 積分区間全体ではこの値を全ての小区間について足し合わせます。
公式 (8.20) の仕組み たとえば
m=2 のとき、
p(x) は 3 つの 2 次式
p0(x),
p1(x),
p2(x) を用いて
p(x)=y0×p0(x)+y1×p1(x)+y2×p2(x)
と書けていました(
第4回参照 )。
ゆえに
∫βαp(x)dx=y0∫βαp0(x)dx+y1∫βαp1(x)dx+y2∫βαp2(x)dx
となりますが、この
∫βαpk(x)dx の値が
Δx× ( 定数
ck ) になります。
もっと詳しく見る
ck の計算式は
ck=∫m0( ∏0≦j≦mj≠mt−jk−j )dt
です。例えば
m=2 のときの
c1 は
c1=∫20(t−01−0)(t−21−2)dt=43
となります。
ck には次のような性質もあります:
- cm−k=ck すなわち ck の表は左右対称になる
- m∑k=0ck=m
m=1,2,3 のときのニュートン・コーツの公式
には別名が付いています:
m=1 のときは 台形公式 でした。
m=2 のときを シンプソンの公式 と言います:
∫βαf(x)dx ≒ β−α6(y0+4y1+y2)
m=3 のときを シンプソンの 38 公式 と言います:
∫βαf(x)dx ≒ β−α8(y0+3y1+3y2+y3)
実装上の注意
次数
m を大きくするとラグランジュ補間には不自然な凹凸ができ(ルンゲ現象)、
積分値の精度にも影響が出てくるので、
m を大きくするよりは、
積分区間の分割数
N を大きくする方が良いとされています。