这里写目录标题
零阶Newton-Cotes公式(矩形法)
∫ a b f ( x ) d x ≈ ( b − a ) f ( a + b 2 ) \int_a^b f(x) \, dx \approx (b - a) f\left(\frac{a + b}{2}\right) ∫abf(x)dx≈(b−a)f(2a+b)
一阶Newton-Cotes公式(梯形法)
∫ a b f ( x ) d x ≈ b − a 2 [ f ( a ) + f ( b ) ] \int_a^b f(x) \, dx \approx \frac{b - a}{2} [f(a) + f(b)] ∫abf(x)dx≈2b−a[f(a)+f(b)]
二阶Newton-Cotes公式(Simpson公式)
∫ a b f ( x ) d x ≈ b − a 6 [ f ( a ) + 4 f ( a + b 2 ) + f ( b ) ] \int_a^b f(x) \, dx \approx \frac{b - a}{6} [f(a) + 4f\left(\frac{a + b}{2}\right) + f(b)] ∫abf(x)dx≈6b−a[f(a)+4f(2a+b)+f(b)]
三阶Newton-Cotes公式(Simpson 3/8公式)
∫
a
b
f
(
x
)
d
x
≈
3
h
8
[
f
(
a
)
+
3
f
(
a
+
h
)
+
3
f
(
a
+
2
h
)
+
f
(
b
)
]
\int_a^b f(x) \, dx \approx \frac{3h}{8} [f(a) + 3f(a + h) + 3f(a + 2h) + f(b)]
∫abf(x)dx≈83h[f(a)+3f(a+h)+3f(a+2h)+f(b)]
其中
h
=
b
−
a
3
h = \frac{b - a}{3}
h=3b−a。
四阶Newton-Cotes公式(Boole’s Rule)
∫
a
b
f
(
x
)
d
x
≈
2
h
45
[
7
f
(
a
)
+
32
f
(
a
+
h
)
+
12
f
(
a
+
2
h
)
+
32
f
(
a
+
3
h
)
+
7
f
(
b
)
]
\int_a^b f(x) \, dx \approx \frac{2h}{45} [7f(a) + 32f(a + h) + 12f(a + 2h) + 32f(a + 3h) + 7f(b)]
∫abf(x)dx≈452h[7f(a)+32f(a+h)+12f(a+2h)+32f(a+3h)+7f(b)]
其中
h
=
b
−
a
4
h = \frac{b - a}{4}
h=4b−a。
一般的 ( n ) 阶Newton-Cotes公式
对于一般的 ( n ),其公式可以表示为:
∫ a b f ( x ) d x ≈ h ∑ i = 0 n w i f ( x i ) \int_a^b f(x) \, dx \approx h \sum_{i=0}^n w_i f(x_i) ∫abf(x)dx≈hi=0∑nwif(xi)
这里,权重 ( w_i ) 需要通过对拉格朗日插值多项式进行积分得到。通常,可以通过公式或查阅表格获取这些权重。以下是一些常见的Newton-Cotes权重:
( n ) | 插值点数 ( n+1 ) | 权重 ( w_i ) |
---|---|---|
0 | 1 | 1 |
1 | 2 | 1 2 , 1 2 \frac{1}{2}, \frac{1}{2} 21,21 |
2 | 3 | 1 6 , 2 3 , 1 6 \frac{1}{6}, \frac{2}{3}, \frac{1}{6} 61,32,61 |
3 | 4 | 1 8 , 3 8 , 3 8 , 1 8 \frac{1}{8}, \frac{3}{8}, \frac{3}{8}, \frac{1}{8} 81,83,83,81 |
4 | 5 | 7 90 , 32 90 , 12 90 , 32 90 , 7 90 \frac{7}{90}, \frac{32}{90}, \frac{12}{90}, \frac{32}{90}, \frac{7}{90} 907,9032,9012,9032,907 |
权重计算方法
对于更高阶的Newton-Cotes公式,计算权重 ( w_i ) 的方法通常如下:
- 使用拉格朗日多项式进行插值。
- 对插值多项式积分,得到积分值。
- 将积分值分解为权重的形式。
例如,拉格朗日插值多项式的一般形式为:
P n ( x ) = ∑ i = 0 n f ( x i ) ℓ i ( x ) P_n(x) = \sum_{i=0}^n f(x_i) \ell_i(x) Pn(x)=i=0∑nf(xi)ℓi(x)
其中, ℓ i ( x ) \ell_i(x) ℓi(x) 是拉格朗日基函数:
ℓ i ( x ) = ∏ 0 ≤ j ≤ n j ≠ i x − x j x i − x j \ell_i(x) = \prod_{\substack{0 \leq j \leq n \\ j \neq i}} \frac{x - x_j}{x_i - x_j} ℓi(x)=0≤j≤nj=i∏xi−xjx−xj
对插值多项式 P n ( x ) P_n(x) Pn(x) 在 [ a , b ] [a, b] [a,b] 上进行积分:
∫ a b P n ( x ) d x = ∑ i = 0 n f ( x i ) ∫ a b ℓ i ( x ) d x \int_a^b P_n(x) \, dx = \sum_{i=0}^n f(x_i) \int_a^b \ell_i(x) \, dx ∫abPn(x)dx=i=0∑nf(xi)∫abℓi(x)dx
从而得到权重 ( w_i ) 为:
w i = ∫ a b ℓ i ( x ) d x w_i = \int_a^b \ell_i(x) \, dx wi=∫abℓi(x)dx
这些积分可以通过符号计算或数值方法进行求解。
为了证明一般的 ( n ) 阶Newton-Cotes公式具有 ( n ) 次代数精确度,我们需要证明这种公式能够精确地积分所有 ( n ) 次及以下的多项式。
一般的 ( n ) 阶Newton-Cotes公式
一般的 ( n ) 阶Newton-Cotes公式的形式为:
∫ a b f ( x ) d x ≈ h ∑ i = 0 n w i f ( x i ) \int_a^b f(x) \, dx \approx h \sum_{i=0}^n w_i f(x_i) ∫abf(x)dx≈hi=0∑nwif(xi)
其中 ( h = \frac{b - a}{n} ) 且 ( x_i = a + i h )(等距节点)。
证明 ( n ) 次代数精确度
要证明这一公式对所有 ( n ) 次及以下的多项式是精确的,即我们要证明对于任何多项式 ( p(x) )(其中 (\deg§ \leq n)),公式是精确的:
∫ a b p ( x ) d x = h ∑ i = 0 n w i p ( x i ) \int_a^b p(x) \, dx = h \sum_{i=0}^n w_i p(x_i) ∫abp(x)dx=hi=0∑nwip(xi)
我们将对任意 ( k ) 次多项式 ( p(x) = x^k ) (( k \leq n ))来进行验证。
步骤1:计算积分
首先计算 ( p(x) = x^k ) 在区间 ([a, b]) 上的积分:
∫ a b x k d x = b k + 1 − a k + 1 k + 1 \int_a^b x^k \, dx = \frac{b^{k+1} - a^{k+1}}{k+1} ∫abxkdx=k+1bk+1−ak+1
步骤2:离散求和
然后,计算 Newton-Cotes 公式的离散求和部分:
h ∑ i = 0 n w i x i k h \sum_{i=0}^n w_i x_i^k hi=0∑nwixik
在这种情况下,( x_i = a + ih ),并且 ( h = \frac{b - a}{n} ),因此 ( x_i ) 可以表示为:
x i = a + i b − a n x_i = a + i \frac{b - a}{n} xi=a+inb−a
因此,求和部分变为:
h ∑ i = 0 n w i ( a + i b − a n ) k h \sum_{i=0}^n w_i \left(a + i \frac{b - a}{n}\right)^k hi=0∑nwi(a+inb−a)k
步骤3:拉格朗日插值多项式
Newton-Cotes公式是基于对被积函数进行多项式插值而得来的。我们需要证明对于 ( x^k ) 多项式,插值多项式在每一个节点 ( x_i ) 上的值都正确。
考虑拉格朗日插值多项式 ( L(x) ),它是唯一的经过 ( n+1 ) 个节点 ( (x_i, f(x_i)) ) 的 ( n ) 次多项式。对于 ( x^k ),插值多项式 ( L(x) ) 实际上就是 ( x^k ) 自身,因为 ( x^k ) 本身已经是一个 ( n ) 次多项式。
步骤4:权重的构造
权重 ( w_i ) 是通过对拉格朗日基函数 ( \ell_i(x) ) 在区间 ([a, b]) 上积分得到的,即:
w i = ∫ a b ℓ i ( x ) d x w_i = \int_a^b \ell_i(x) \, dx wi=∫abℓi(x)dx
将这些权重应用到 Newton-Cotes 公式中,我们得到:
h ∑ i = 0 n w i ℓ i ( x ) = ∫ a b x k d x h \sum_{i=0}^n w_i \ell_i(x) = \int_a^b x^k \, dx hi=0∑nwiℓi(x)=∫abxkdx
这里 (\ell_i(x)) 是拉格朗日基函数,满足在插值点处的插值条件。因为 (\ell_i(x)) 构成的插值多项式能够精确表示 ( x^k )(对于 ( k \leq n )),所以 Newton-Cotes 公式对 ( x^k ) 是精确的。
结论
通过以上步骤,我们证明了一般的 ( n ) 阶 Newton-Cotes 公式对 ( n ) 次及以下的多项式是精确的,即具有 ( n ) 次代数精确度。