ニュートン・コーツの公式

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ニュートン・コーツの公式(ニュートン・コーツのこうしき、: Newton-Cotes formulae、Newton-Cotes rules)とは、等間隔の点における被積分関数の値にもとづく数値積分法の総称である。名前はアイザック・ニュートンロジャー・コーツに由来する。

ニュートン・コーツの公式は、等間隔の点での被積分関数の値が与えられた場合に有用である。もし他の点での値も求められるならば、ガウス求積クレンショー・カーチス求積英語版などの他の方法の方が適している場合もある。

概要[編集]

閉区間[ab]上で定義される関数ƒの値が等間隔の点xi = a + i (b - a) / n (i = 0, ..., n)について既知であると仮定する。

ニュートン・コーツの公式には、全ての点を使う「閉じた」ものと、端点を使わない「開いた」ものの2種類がある。n次の閉じたニュートン・コーツの公式は次のようになる。

\int_a^b f(x) \,dx \approx \sum_{i=0}^n w_i\, f(x_i)

wiは重みと呼ばれる。以下の導出からもわかるように、重みはラグランジュ多項式から導かれる。これは重みは関数ƒによらず、xiのみで決まることを意味する。ここで、L(x)は与えられた点(x0, ƒ(x0) ), …, (xn, ƒ(xn) )のラグランジュ補間による補間多項式である。

\int_a^b f(x) \,dx \approx \int_a^b L(x) \,dx = \int_a^b \left( \sum_{i=0}^n f(x_i)\, l_i(x) \right) \,dx
= \sum_{i=0}^n f(x_i) \underbrace{\int_a^b l_i(x) \,dx}_{w_i}

n次の開いたニュートン・コーツの公式は次のようになる。

\int_a^b f(x) \,dx \approx \sum_{i=1}^{n-1} w_i\, f(x_i)

重みは閉じた場合と同様である。

ニュートン・コーツの公式の一覧[編集]

閉じたニュートン・コーツの公式
次数 名前 誤差項
1 台形公式 \frac{b-a}{2} (f_0 + f_1) -\frac{(b-a)^3}{12}\,f^{(2)}(\xi)
2 シンプソンの公式 \frac{b-a}{6} (f_0 + 4 f_1 + f_2) -\frac{(b-a)^5}{2880}\,f^{(4)}(\xi)
3 シンプソンの3/8公式 \frac{b-a}{8} (f_0 + 3 f_1 + 3 f_2 + f_3) -\frac{(b-a)^5}{6480}\,f^{(4)}(\xi)
4 ブールの公式英語版 \frac{b-a}{90} (7 f_0 + 32 f_1 + 12 f_2 + 32 f_3 + 7 f_4) -\frac{(b-a)^7}{1935360}\,f^{(6)}(\xi)
開いたニュートン・コーツの公式
次数 名前 誤差項
2 中点則 (b-a) f_1 \frac{(b-a)^3}{24}\,f^{(2)}(\xi)
3 台形法 \frac{b-a}{2} (f_1 + f_2) \frac{(b-a)^3}{36}\,f^{(2)}(\xi)
4 ミルンの公式 \frac{b-a}{3} (2 f_1 - f_2 + 2 f_3) \frac{7(b-a)^5}{23040}\,f^{(4)}(\xi)
5 \frac{b-a}{24} (11 f_1 + f_2 + f_3 + 11 f_4) \frac{19(b-a)^5}{90000}\,f^{(4)}(\xi)

ここで、fif(xi)の略記である。

誤差項において、積分区間の長さ(b - a)の次数は近似による誤差の程度を表している。また、ƒの導関数は、多項式は正確に積分できる(即ち、誤差が0になる)ことを表している。なお、ƒの導関数の階数は、一つおきに2ずつ増加する。ξは開区間(ab)内の点である。

ブールの公式はしばしば誤ってボーデの公式(Bode's formula)と呼ばれる。これはAbramowitz and Stegunの誤記に由来する[1]

重みの計算[編集]

ニュートン・コーツの公式の重みは線形方程式系の解として求めることができる[2]。 これは補間多項式の一意性よりƒ(x)がn次以下の多項式の場合L(x) = ƒ(x)となることに基づく。係数行列ファンデルモンド行列である。

閉じたニュートン・コーツの公式の場合


\begin{pmatrix}
1 & 1 & \cdots & 1 \\
x_0 & x_1 & \cdots & x_n \\
\vdots & \vdots & \ddots & \vdots \\
x_0^n & x_1^n & \cdots & x_n^n
\end{pmatrix}
\begin{pmatrix}
w_0 \\
w_1 \\
\vdots \\
w_n
\end{pmatrix}
=
\begin{pmatrix}
b - a \\
\frac{b^2 - a^2}{2} \\
\vdots \\
\frac{b^{n+1} - a^{n+1}}{n+1}
\end{pmatrix}

開いたニュートン・コーツの公式の場合


\begin{pmatrix}
1 & 1 & \cdots & 1 \\
x_1 & x_2 & \cdots & x_{n-1} \\
\vdots & \vdots & \ddots & \vdots \\
x_1^{n-2} & x_2^{n-2} & \cdots & x_{n-1}^{n-2}
\end{pmatrix}
\begin{pmatrix}
w_1 \\
w_2 \\
\vdots \\
w_{n-1}
\end{pmatrix}
=
\begin{pmatrix}
b - a \\
\frac{b^2 - a^2}{2} \\
\vdots \\
\frac{b^{n-1} - a^{n-1}}{n-1}
\end{pmatrix}

高次における不安定性[編集]

ニュートン・コーツの公式は、任意の次数で構築できる。しかし大きな次数nにおいてはルンゲ現象により誤差指数関数的に大きくなる。そのため、通常は大きな次数ではガウス求積クレンショー・カーチス求積英語版などの非等分点法の方が、安定してより正確な値を求められる。もしそれらの方法が使えないならば、合成積分公式を使うことでルンゲ現象を避けることができる。

合成積分公式[編集]

ニュートン・コーツの公式の精度を良くするには、ステップ長(b - a) / nは小さくする必要がある。つまり、積分区間[ab]自体が小さくなければならない。このため、積分区間[ab]を小さな部分区間に分割し、各部分区間ごとにニュートン・コーツの公式を使い、その結果を足し合わせるという方法が使われる。これは合成積分公式と呼ばれる。

関連項目[編集]

脚注[編集]

  1. ^ Booles Rule at Wolfram Mathworld
  2. ^ A Useful Note on Newton-Cotes Quadratures

参考文献[編集]

外部リンク[編集]