7.1 newton cotes公式
DESCRIPTION
School work on newton cotes formula in numerical integrationTRANSCRIPT
第七章 数值积分( Numerical Integration )
信息与数学学院
内容提纲
数值积分的必要性 求积公式及其代数精度 插值型求积公式 Newton-Cotes 公式及数值稳定性 复化求积公式及误差估计
数值积分的必要性本章主要讨论如下形式的一元函数积分
在微积分里,按 Newton-Leibniz 公式求定积分
要求被积函数要求被积函数 ff((xx))
☞ ☞ 有解析表达式有解析表达式;;☞☞ ff((xx)) 的原函数的原函数 FF((xx)) 为初等函数为初等函数..
( ) ( ) ( ) ( )b
aI f f x dx F b F a
b
a
dxxffI )()(
实际问题1.2 1.2 ff((xx)) 的原函数的原函数 FF((xx)) 不能用初等函数表示不能用初等函数表示例如函数 :
2
,1,ln
1,
sin,cos,sin 322 xex
xx
xxx
考虑一个实际问题考虑一个实际问题 ::
建筑上用的一种铝制波纹瓦是用一种机器将一块建筑上用的一种铝制波纹瓦是用一种机器将一块平整的铝板压制而成的平整的铝板压制而成的 ..
假若要求波纹瓦长假若要求波纹瓦长 44 英尺英尺 ,, 每个波纹的每个波纹的高度高度 (( 从中心线从中心线 )) 为为 11 英寸英寸 ,, 且每个波纹以且每个波纹以
近近似似 22ππ 英寸为一个周期英寸为一个周期 .. 求制做一块波纹求制做一块波纹瓦所需铝板的长度瓦所需铝板的长度 L.L. 这个问题就是要求由函数 ff((xx)=)=sin xsin x 给定给定的曲线的曲线 ,, 从从 xx=0=0 到到 xx=48=48 英寸间的英寸间的弧长弧长 LL.. 由微积分学我们知道由微积分学我们知道 ,, 所求的弧长可表示为所求的弧长可表示为 ::
dxxdxxfL 48
0
248
0
2' )(cos1))((1
上述积分称为第二类椭圆积分上述积分称为第二类椭圆积分 ,, 它不能用普通方法它不能用普通方法来计算来计算 ..
22.. 有些被积函数其原函数虽然可以用初等有些被积函数其原函数虽然可以用初等函数表示成有限形式函数表示成有限形式 ,, 但表达式相当复杂但表达式相当复杂 ,,计算极不方便计算极不方便 .. 例如函数例如函数
32 22 xx
并不复杂并不复杂 ,, 但它的原函数却但它的原函数却十分复杂十分复杂 ::
)322ln(216
932
16
332
4
1 2222 xxxxxx
3.3.ff((xx)) 没有解析表达式,只有数表形式没有解析表达式,只有数表形式 ::
x 1 2 3 4 5
f(x) 4 4.5 6 8 8.5
这些都说明 , 通过原函数来计算积分有它的局限性 , 因而 , 研究关于积分的数值方法具有很重要的实际意义 .
求积公式及其代数精度
求积公式的概念积分值
在几何上可解释为由 x=a, x=b, y=0 和 y=f(x)
所围成的曲边梯形的面积 . 积分计算之所以有困难,就是因为这个曲边梯形有一条边 y=f(x)
是曲的 .
b
a
dxxffI )()(
依据积分中值定理 , 对于连续函数 f(x) , 在[a,b] 内存在一点 ξ,使得
)()()()( fabdxxffIb
a
称 f(ξ) 为区间 [a,b] 的平均高度 . 问题在于点 ξ 的具体位置一般是不知道的 . 这样 , 只要对平均高度 f(ξ) 提供一种算法 , 相应地便获得一种数值求积方法 .
如果简单地选取区间 [a,b]的一个端点或区间中点的高度作为平均高度 ,这样建立的求积公式分别是 :
左矩形公式 : I(f)≈(b-a)f(a)
右矩形公式 : I(f)≈(b-a)f(b)
中矩形公式 : I(f)≈(b-a)f[(a+b)/2]
此外 ,众所周知的梯形公式 :• I(f)≈(b-a)[f(a)+f(b)]/2
和 Simpson公式 :• I(f)≈(b-a)[f(a)+4f((a+b)/2)+f(b)]/6
则分别可以看作用 a, b, c=(a+b)/2, 三点高度的加权平均值 [f(a)+f(b)]/2 和 [f(a)+4f(c)+f(b)]/6作为平均高度 f(ξ)的近似值 .
更一般地 , 取区间 [a,b] 内 n+1 个点 {xi},(i=0,1,
2,…n) 处的高度 {f(xi)} (i=0,1,…,n) 通过加权平
均的方法近似地得出平均高度 f(ξ),这类求积方法称为机械求积 : )()()(
0i
b
a
n
ii xfabdxxf
或写成 :
数值积分公式 求积系数
求积节点
)()(0
k
b
a
n
kk xfAdxxf
(1)
记 )2()()(0
k
n
kkn xfAfI
)3(,)()()()()(0
b
a
n
kkkn xfAdxxffIfIfR
称 (2) 为数值求积公式 ,(3) 为求积公式余项 ( 误差 ). 构造或确定一个求积公式,要讨论解决的问题有
(i) 确定求积系数 Ak 和求积节点 xk ;(ii) 求积公式的误差估计和收敛性
为了构造形如式 (2) 的求积公式 , 需要提供一种判定求积方法精度高低准则
求积公式的代数精度定义 1 称求积公式 (2) 具有 m 次代数精度 , 如果它
满足如下两个条件 :
(i) 对所有次数≤ m 次的多项式 , 有
(ii) 存在 m+1 次多项式 , 使得
)(xPm
0)()()( mnmm PIPIPR)(1 xPm
0)()()( 111 mnmm PIPIPR
定义 1 中的条件 (i),(ii) 等价于 :
0)()(
)0(,0)()()()(1
m
kn
kk
xRii
mkxIxIxRi
插值型求积公式
在积分区间 [a,b] 上取 n+1 个节点 xi , i=0,1,
2,…,n, 作 f(x) 的 n 次代数插值多项式(拉格朗日插值公式) :
则有
为插值余项于是有
n
jjjn xfxlxL
0
)()()(
)()()( xRxLxf nn
)()!1(
)()( 1
)1(
xwn
fxR n
n
取
称 (4) 式为插值型求积公式 , 其中求积系 Ak 由 (5)
式确定 .
b
aj
n
j
b
a j
b
a n
b
a n
b
a
dxxRxfdxxl
dxxRdxxLdxxf
)()()(
)()()(
0
(4)
(5)
b
a
b
a k
n
kk dxxlxfdxxf )()()(
0
Ak
0
( )
( )
nbi
k ai k ii k
x xA dx
x x
由 节点 决定,与 f(x) 无关。
推论 1 求积系数满足 :
0
( 1)
0
[ ] ( ) ( ) [ ( ) ( )]
( )( )
( 1)!
nb b
k k na ak
n nbx
kak
R f f x dx A f x f x L x dx
fx x dx
n
误 差
定理 1 形如 的求积公式至少有 n
次代数精度 该公式为插值型(即: )
n
kkk xfA
0
)(
b
a kk dxxlA )(
abAn
jj
0
取节点为等距分布: , , 0,1, ... ,i
b ax a i h h i n
n
dxxx
xxA
nx
xij ji
ji
0 )(
)(
n
ji
inn
ji
dtjtinin
abdth
hjihjt
00)(
)!(!)1)((
)()(
令 htax
Cotes 系数 ( )nkC注: Cotes 系数仅取决于 n
和 k ,可查表得到。与 f (x) 及区间 [a, b] 均无关。
Newton-Cotes 公式
由此构造的插值型求积公式称为 Newton-Cotes 公式 ,此时求积系数
记dtkt
njnjC
n n
jkk
jnn
j
0,0
)( )()!(!
)1(
则 njCabA njj ,,2,1,0,)( )(
)()()(0
)(j
b
a
n
j
nj xfCabdxxf
求积公式 (4)变为
(6)
(7)
(8)
称 (8) 式为 n阶闭型 Newton-Cotes 求积公式 .
),(,)()()!1(
)()!1(
)()(
00
)1(2
1
)1(
badtjtfn
h
dxxwn
ffR
n n
j
nn
n
b
a
n
Newton-Cotes 公式的误差为 :
与 x 有关
注意 : 由 (6) 式确定的 Cotes 系数只与 j 和n 有关 , 与 f(x) 和积分区间 [a,b]无关 , 且满足 :
10
)(
n
j
njC
(9)
• 定理 2 当阶数 n 为偶数时 , Newton-Cotes公式 (8)至少具有 n+1 次代数精度 .
证明 只需验证当 n 为偶数时 ,Newton-Cotes 公式对 f(x)=xn+1 的余项为零 .
由于 f(x)=xn+1, 所以 f(n+1)(x)=(n+1)! . 由式 (9)得
n n
j
n dtjthfR0
0
2 )()(
引进变换 t=u+n/2, 因为 n 为偶数 , 故 n/2 为整数 ,
于是有
2
2 0
2 )2
()(n
n
n
j
n dujn
uhfR
据此可断定 R(f)=0, 因为上述被积函数是个奇函数 .
Newton-Cotes 公式的数值稳定性 现在讨论舍入误差对计算结果产生的影响 .设用公式 近似计算积分
时 , 其中计算函数值 f(xj) 有误差 εj (j=0,1,2,…,n).设计算 Cj
(n)没有误差 ,中间计算过程中的舍入误差也不考虑 ,则在式 (10 )的计算中 , 由 εj引起的误差为
n
jj
njn xfCabfI
0
)( )()()(
b
a
dxxffI )()(
(10)
n
jj
nj
n
jjj
nj
n
jj
njn
Cab
xfCabxfCabe
0
)(
0
)(
0
)(
)(
))(()()()(
如果 Cj(n) 都是正数 , 并设 ||max
0j
nj
)(||)(||0
)( abCaben
j
njn
故 en 是有界的 ,即由 εj引起的误差受到控制 , 不超过 ε 的 (b-a) 倍 ,保证了数值计算的稳定性 . 而当 n>7 时 ,Cj
(n) 将出现负数 ,
n
j
njC
0
)( ||
保证数值稳定性 . 因此高阶公式不宜采用 , 有实用价值的仅仅是几种低阶的求积公式 .
将随 n增大 , 因而不能
则有
21
,21 )1(
1)1(
0 CCn = 1:
)]()([2
)( bfafab
dxxfb
a
Trapezoidal Rule
dxbxaxf
fRb
a
x ))((!2
)(][
/* 令 x = a+th, h = ba, 用中值定理 */
1,],[,)(
121 3 ab
hbafh
代数精度 = 1
n = 2:61
,32
,61 )2(
2)2(
1)2(
0 CCC
)]()(4)([6
)( 2 bffafab
dxxf bab
a
Simpson’s Rule
代数精度 = 3
2,),(,)(
901
][ )4(5 abhbafhfR
n = 4: Cotes Rule, 代数精度 = 5, )(9458
][ )6(7 fhfR
复化型求积公式
高次插值有 Runge 现象 , 高阶Newton-Cotes 公式会出现数值不稳定 ,低阶 Newton-Cotes 公式有时又不能满足精度要求 . 解决这个矛盾的办法是将积分区间 [a,b] 分成若干小区间 , 在每个小区间上用低阶求积公式计算 , 然后将它们加起来 , 这就是复化求积方法 .
复化梯形公式:
, ( 0, ... , )i
b ah x a i h i n
n
在每个 上用梯形公式:
],[ 1ii xx
1 11( ) [ ( ) ( )] , 0, ... , 1
2
i
i
xi i
i ix
x xf x dx f x f x i n
1
1
( ) 2 ( ) ( )2
n
ki
hf a f x f b
1
10
( ) [ ( ) ( )]2
nb
i iai
hf x dx f x f x
= Tn
1
3 210
0
2
( )[ ] [ ( )] ( )
12 12
( ) ( ), ( , )12
n
ini
ii
fh h
R f f b an
hb a f a b
/* 中值定理 *
/
复化梯形公式积分法
收敛性由上述的误差估计式可知,当 f(x) C2[a,b] 时 , 只要h0时 数列 Tn(f) I(f), 且收敛速度为二阶 O(h2).
但是 f(x) C2[a,b] 条件相对苛刻 , 现假定 f(x) 在[a,b] 上 Riemann 可积 , 讨论复化求积公式的收敛性
1
10
( ) [ ( ) ( )]2
n
n i ii
hT f f x f x
1
0 1
1( ( ) ( ) )
2
n n
i i i ii i
f x x f x x
0
1lim ( ) lim ( ) [ ( ) ( )] ( )
2n nn
T f T f I f I f I f
, ( 0,1,... , 2 )2 j
b ah x a j h j n
n
2 2 2 1 21
( ) [ ( ) 4 ( ) ( )]3
n
j j jj
hI f f x f x f x
2 2jx 2 1jx 2 jx
2 2 2 1 21
( ) [ ( ) 4 ( ) ( )]3
n
n j j jj
hS f f x f x f x
复化 Simpson 公式:
1
2 1 21 1
( ) [ ( ) 4 ( ) 2 ( ) ( )]3
n nb
j jaj j
hf x dx f a f x f x f b
复化 Simpson 公式积分法
误差估计
5(4)
2 2 2(1, ) ( ), ,90 2j j j j j
h b aR f f h x x
n
每个子区间上的误差估计式为
(4) 4( ) ( ) ( ) ,180n
b aI f S f f h a b
将 n 个子区间的误差相加得5
(4)
1
( ) ( ) ( )90
n
n jj
hI f S f f
由闭区间上连续函数的介值性质可知在 [a,b] 上至少存在一点,使
(4) (4)
1
1( ) ( )
n
jj
f fn
可见 , 当 f(x) 有四阶导数时 , 复化 Simpson 公式具有 4阶收敛 .
例 对于函数 ,x
xxf
sin)( 试用数据表计算积分
1
0
sin)( dx
x
xfI
x f (x)
0 1
1/8 0.9973978
2/8 0.9896158
3/8 0.9767267
4/8 0.9588510
5/8 0.9361556
6/8 0.9088516
7/8 0.8771925
1 0.8414709
解 将区间 [0,1]划分为 8 等分 , 应用复化梯形法求得
9456909.0
)1(8
2)0(28
1
)()(2)(2
7
1
7
18
k
kk
fk
ff
bfxfafh
T
应用复化 Simpson 法计算 , 得
9460832.0
)1(8
22
8
124)0(
38
1
)()(2)(4)(3
4
1
3
1
4
1
3
12124
k k
j jjj
fk
fk
ff
bfxfxfafh
S
比较上面两个结果 T8 和 S4, 它们都需要提供 9 个
点上的函数值工作量基本相同 , 然而精度却差别很大 . 同积分的准确值 I(f)=0.9460831比较 , 复化梯形法的结果 T8=0.9456909 只有两位有效数字 , 而复化Simpson 法的结果 S4=0.9460832 却有六位有效数字 .