ニュートン・コーツの公式 (ニュートン・コーツのこうしき、英 : Newton–Cotes formulae, Newton-Cotes rules )とは、等間隔の点における被積分関数の値に基づく数値積分法 の総称である。名前はアイザック・ニュートン とロジャー・コーツ に由来する。
ニュートン・コーツの公式は、等間隔の点での被積分関数の値が与えられた場合に有用である。もし他の点での値も求められるならば、ガウス求積 やクレンショー・カーチス求積 (英語版 ) などの他の方法の方が適している場合もある。
ニュートン・コーツの公式は、端点を使う「閉じた」ものと、端点を使わない「開いた」ものの 2 種類に大別できる。
n 次の閉じたニュートン・コーツの公式は次のようになる。
∫
a
b
f
(
x
)
d
x
≈
∑
i
=
0
n
w
i
f
(
x
i
)
{\displaystyle \int _{a}^{b}f(x)\,dx\approx \sum _{i=0}^{n}w_{i}\,f(x_{i})}
ここで
x
i
=
a
+
i
b
−
a
n
{\displaystyle {\displaystyle x_{i}=a+i\,{\frac {b-a}{n}}}\ }
(
i
=
0
,
.
.
.
,
n
)
{\displaystyle (i=0,...,n)}
である。
wi は重みと呼ばれる。重みは以下のようにラグランジュ補間 による補間多項式 から導かれる。
∫
a
b
f
(
x
)
d
x
≈
∫
a
b
L
(
x
)
d
x
=
∫
a
b
(
∑
i
=
0
n
f
(
x
i
)
l
i
(
x
)
)
d
x
=
∑
i
=
0
n
f
(
x
i
)
∫
a
b
l
i
(
x
)
d
x
⏟
w
i
{\displaystyle \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}}}
また、以上の導出から重みは関数 f によらず、xi のみによって決まることがわかる。
n 次の開いたニュートン・コーツの公式の場合は、
x
i
=
a
+
(
i
+
1
)
b
−
a
n
+
2
{\displaystyle {\displaystyle x_{i}=a+(i+1){\frac {b-a}{n+2}}}\ }
(
i
=
0
,
.
.
.
,
n
)
{\displaystyle (i=0,...,n)}
とし、重みは閉じたものと同様である。
閉じたニュートン・コーツの公式
次数
名前
式
誤差項
1
台形公式
b
−
a
2
(
f
0
+
f
1
)
{\displaystyle {\frac {b-a}{2}}(f_{0}+f_{1})}
−
(
b
−
a
)
3
12
f
(
2
)
(
ξ
)
{\displaystyle -{\frac {(b-a)^{3}}{12}}\,f^{(2)}(\xi )}
2
シンプソンの公式
b
−
a
6
(
f
0
+
4
f
1
+
f
2
)
{\displaystyle {\frac {b-a}{6}}(f_{0}+4f_{1}+f_{2})}
−
(
b
−
a
)
5
2880
f
(
4
)
(
ξ
)
{\displaystyle -{\frac {(b-a)^{5}}{2880}}\,f^{(4)}(\xi )}
3
シンプソンの3/8公式
b
−
a
8
(
f
0
+
3
f
1
+
3
f
2
+
f
3
)
{\displaystyle {\frac {b-a}{8}}(f_{0}+3f_{1}+3f_{2}+f_{3})}
−
(
b
−
a
)
5
6480
f
(
4
)
(
ξ
)
{\displaystyle -{\frac {(b-a)^{5}}{6480}}\,f^{(4)}(\xi )}
4
ブールの公式 (英語版 )
b
−
a
90
(
7
f
0
+
32
f
1
+
12
f
2
+
32
f
3
+
7
f
4
)
{\displaystyle {\frac {b-a}{90}}(7f_{0}+32f_{1}+12f_{2}+32f_{3}+7f_{4})}
−
(
b
−
a
)
7
1935360
f
(
6
)
(
ξ
)
{\displaystyle -{\frac {(b-a)^{7}}{1935360}}\,f^{(6)}(\xi )}
開いたニュートン・コーツの公式
次数
名前
式
誤差項
0
中点則
(
b
−
a
)
f
0
{\displaystyle (b-a)f_{0}}
(
b
−
a
)
3
24
f
(
2
)
(
ξ
)
{\displaystyle {\frac {(b-a)^{3}}{24}}\,f^{(2)}(\xi )}
1
台形法
b
−
a
2
(
f
0
+
f
1
)
{\displaystyle {\frac {b-a}{2}}(f_{0}+f_{1})}
(
b
−
a
)
3
36
f
(
2
)
(
ξ
)
{\displaystyle {\frac {(b-a)^{3}}{36}}\,f^{(2)}(\xi )}
2
ミルンの公式
b
−
a
3
(
2
f
0
−
f
1
+
2
f
2
)
{\displaystyle {\frac {b-a}{3}}(2f_{0}-f_{1}+2f_{2})}
7
(
b
−
a
)
5
23040
f
(
4
)
(
ξ
)
{\displaystyle {\frac {7(b-a)^{5}}{23040}}\,f^{(4)}(\xi )}
3
b
−
a
24
(
11
f
0
+
f
1
+
f
2
+
11
f
3
)
{\displaystyle {\frac {b-a}{24}}(11f_{0}+f_{1}+f_{2}+11f_{3})}
19
(
b
−
a
)
5
90000
f
(
4
)
(
ξ
)
{\displaystyle {\frac {19(b-a)^{5}}{90000}}\,f^{(4)}(\xi )}
ここで、fi は f (xi ) の略記である。
誤差項 E は
∫
a
b
f
(
x
)
d
x
−
∑
i
=
0
n
w
i
f
(
x
i
)
=
E
{\displaystyle \int _{a}^{b}f(x)\,dx-\sum _{i=0}^{n}w_{i}f(x_{i})=E}
となる ξ ∈ (a , b ) が存在することを意味する。
また、f の導関数の次数は、それ未満の次数の多項式が正確に積分できる(即ち、誤差が 0 になる)ことを示している。なお、(b − a ) の次数と f の導関数の階数は、1 つおきに 2 ずつ増加することに注意。
ニュートン・コーツの公式の重みは線形方程式系 の解として求めることもできる。
これは補間多項式の一意性より f (x ) が n 次以下の多項式 の場合 L (x ) = f (x ) となることに基づく。係数行列 はファンデルモンド行列 である。
(
1
1
⋯
1
x
0
x
1
⋯
x
n
⋮
⋮
⋱
⋮
x
0
n
x
1
n
⋯
x
n
n
)
(
w
0
w
1
⋮
w
n
)
=
(
b
−
a
(
b
2
−
a
2
)
/
2
⋮
(
b
n
+
1
−
a
n
+
1
)
/
(
n
+
1
)
)
{\displaystyle {\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\\(b^{2}-a^{2})/2\\\vdots \\(b^{n+1}-a^{n+1})/(n+1)\end{pmatrix}}}
ルンゲ関数 f (x ) = 1/(1 + 25x 2 ) (赤)と等分点に基づく5次(青)と9次(緑)の補間多項式。高次多項式の方が端点付近での誤差は大きくなっている。
ニュートン・コーツの公式は、任意の次数 で構築できる。しかし大きな次数 n においてはルンゲ現象 により誤差 が n の増加するにつれて指数関数 的に大きくなる。そのため、通常は大きな次数ではガウス求積 やクレンショー・カーチス求積 (英語版 ) などの非等分点法の方が、安定してより正確な値を求められる。もしもそれらの方法を使えないならば、合成積分公式 を使うことでルンゲ現象を避けることができる。高次の公式には積分の重みの中に負のものが含まれるなどの不自然さが伴う(Gaussの積分公式の重みは常に正である)。
ニュートン・コーツの公式の精度を良くするには、ステップ長 b − a / n は小さくする必要がある。つまり、積分区間 [a , b ] 自体が小さくなければならない。このため、積分区間 [a , b ] を小さな部分区間に分割し、各部分区間ごとにニュートン・コーツの公式を使い、その結果を足し合わせるという方法が使われる。これは合成積分公式 と呼ばれる。
Abramowitz, M.; Stegun, I. A. (1972). “Section 25.4”. Handbook of Mathematical Functions with Formulae, Graphs, and Mathematical Tables . New York: Dover
Forsythe, George E.; Malcolm, Michael A.; Moler, Cleve B. (1977). “Section 5.1”. Computer Methods for Mathematical Computations . Englewood Cliffs, NJ: Prentice–Hall
Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), “Section 4.1. Classical Formulas for Equally Spaced Abscissas” , Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press , ISBN 978-0-521-88068-8 , http://apps.nrbook.com/empanel/index.html?pg=156
Stoer, Josef; Bulirsch, Roland (1980). “Section 3.1”. Introduction to Numerical Analysis . New York: Springer-Verlag
Hazewinkel, Michiel, ed. (2001), “Newton–Cotes quadrature formula” , Encyclopedia of Mathematics , Springer, ISBN 978-1-55608-010-4 , https://www.encyclopediaofmath.org/index.php?title=Newton–Cotes_quadrature_formula
Newton–Cotes formulae on www.math-linux.com
Newton–Cotes Formulae
Weisstein, Eric W. "Newton–Cotes Formulae" . mathworld.wolfram.com (英語).
Module for Newton–Cotes Integration , fullerton.edu
Newton–Cotes Integration , numericalmathematics.com