Processing math: 100%

数値解析 第6回 (4) ニュートン・コーツの公式

ラグランジュ補間の利用

 台形公式は、y=f(x) の線形補間を y=p(x) として
βαf(x)dxβαp(x)dx
と近似する公式、と言えます。 そこでもっと次数を上げて m 次のラグランジュ補間 ( m2 ) を用いることを考えてみましょう。
  • m 次のラグランジュ補間は m+1 個の観測点で決めましたので、 小区間 [α,β] を更に m 等分して
    α=x0<x1<<xm=β
    とします。ただし、
    xk=α+k(βαm)=α+k(baNm)    ( 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×mk=0ck×yk
ただし
  • Δx= ( x の刻み幅 ) =βαm=baNm,
  • 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 ) になります。


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 を大きくする方が良いとされています。