7.1 newton cotes公式

35
第第第 第第第第 Numerical Integration 第第第第第第第

Upload: gary-blake

Post on 24-Dec-2015

247 views

Category:

Documents


5 download

DESCRIPTION

School work on newton cotes formula in numerical integration

TRANSCRIPT

Page 1: 7.1 Newton Cotes公式

第七章 数值积分( Numerical Integration )

信息与数学学院

Page 2: 7.1 Newton Cotes公式

内容提纲

数值积分的必要性 求积公式及其代数精度 插值型求积公式 Newton-Cotes 公式及数值稳定性 复化求积公式及误差估计

Page 3: 7.1 Newton Cotes公式

数值积分的必要性本章主要讨论如下形式的一元函数积分

在微积分里,按 Newton-Leibniz 公式求定积分

要求被积函数要求被积函数 ff((xx))

☞ ☞ 有解析表达式有解析表达式;;☞☞ ff((xx)) 的原函数的原函数 FF((xx)) 为初等函数为初等函数..

( ) ( ) ( ) ( )b

aI f f x dx F b F a

b

a

dxxffI )()(

Page 4: 7.1 Newton Cotes公式

实际问题1.2 1.2 ff((xx)) 的原函数的原函数 FF((xx)) 不能用初等函数表示不能用初等函数表示例如函数 :

2

,1,ln

1,

sin,cos,sin 322 xex

xx

xxx

考虑一个实际问题考虑一个实际问题 ::

建筑上用的一种铝制波纹瓦是用一种机器将一块建筑上用的一种铝制波纹瓦是用一种机器将一块平整的铝板压制而成的平整的铝板压制而成的 ..

Page 5: 7.1 Newton Cotes公式

假若要求波纹瓦长假若要求波纹瓦长 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

上述积分称为第二类椭圆积分上述积分称为第二类椭圆积分 ,, 它不能用普通方法它不能用普通方法来计算来计算 ..

Page 6: 7.1 Newton Cotes公式

22.. 有些被积函数其原函数虽然可以用初等有些被积函数其原函数虽然可以用初等函数表示成有限形式函数表示成有限形式 ,, 但表达式相当复杂但表达式相当复杂 ,,计算极不方便计算极不方便 .. 例如函数例如函数

32 22 xx

并不复杂并不复杂 ,, 但它的原函数却但它的原函数却十分复杂十分复杂 ::

)322ln(216

932

16

332

4

1 2222 xxxxxx

Page 7: 7.1 Newton Cotes公式

3.3.ff((xx)) 没有解析表达式,只有数表形式没有解析表达式,只有数表形式 ::

x 1 2 3 4 5

f(x) 4 4.5 6 8 8.5

这些都说明 , 通过原函数来计算积分有它的局限性 , 因而 , 研究关于积分的数值方法具有很重要的实际意义 .

Page 8: 7.1 Newton Cotes公式

求积公式及其代数精度

求积公式的概念积分值         

  在几何上可解释为由 x=a, x=b, y=0 和 y=f(x)

所围成的曲边梯形的面积 . 积分计算之所以有困难,就是因为这个曲边梯形有一条边 y=f(x)

是曲的 .

  

b

a

dxxffI )()(

Page 9: 7.1 Newton Cotes公式

依据积分中值定理 , 对于连续函数 f(x) , 在[a,b] 内存在一点 ξ,使得

)()()()( fabdxxffIb

a

称 f(ξ) 为区间 [a,b] 的平均高度 . 问题在于点 ξ 的具体位置一般是不知道的 . 这样 , 只要对平均高度 f(ξ) 提供一种算法 , 相应地便获得一种数值求积方法 .

Page 10: 7.1 Newton Cotes公式

如果简单地选取区间 [a,b]的一个端点或区间中点的高度作为平均高度 ,这样建立的求积公式分别是 :

左矩形公式 : I(f)≈(b-a)f(a)

右矩形公式 : I(f)≈(b-a)f(b)

中矩形公式 : I(f)≈(b-a)f[(a+b)/2]

Page 11: 7.1 Newton Cotes公式

此外 ,众所周知的梯形公式 :• 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(ξ)的近似值 .

Page 12: 7.1 Newton Cotes公式

更一般地 , 取区间 [a,b] 内 n+1 个点 {xi},(i=0,1,

2,…n) 处的高度 {f(xi)} (i=0,1,…,n) 通过加权平

均的方法近似地得出平均高度 f(ξ),这类求积方法称为机械求积 : )()()(

0i

b

a

n

ii xfabdxxf

Page 13: 7.1 Newton Cotes公式

或写成 :

数值积分公式 求积系数

求积节点

)()(0

k

b

a

n

kk xfAdxxf

(1)

Page 14: 7.1 Newton Cotes公式

记 )2()()(0

k

n

kkn xfAfI

)3(,)()()()()(0

b

a

n

kkkn xfAdxxffIfIfR

称 (2) 为数值求积公式 ,(3) 为求积公式余项 ( 误差 ). 构造或确定一个求积公式,要讨论解决的问题有

(i) 确定求积系数 Ak 和求积节点 xk ;(ii)  求积公式的误差估计和收敛性

为了构造形如式 (2) 的求积公式 , 需要提供一种判定求积方法精度高低准则

Page 15: 7.1 Newton Cotes公式

求积公式的代数精度定义 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

Page 16: 7.1 Newton Cotes公式

插值型求积公式

在积分区间 [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

Page 17: 7.1 Newton Cotes公式

称 (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) 无关。

Page 18: 7.1 Newton Cotes公式
Page 19: 7.1 Newton Cotes公式

推论 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

Page 20: 7.1 Newton Cotes公式

取节点为等距分布: , , 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 公式 ,此时求积系数

Page 21: 7.1 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 求积公式 .

Page 22: 7.1 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)

Page 23: 7.1 Newton Cotes公式

• 定理 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, 因为上述被积函数是个奇函数 .

Page 24: 7.1 Newton Cotes公式

Newton-Cotes 公式的数值稳定性 现在讨论舍入误差对计算结果产生的影响 .设用公式 近似计算积分

时 , 其中计算函数值 f(xj) 有误差 εj (j=0,1,2,…,n).设计算 Cj

(n)没有误差 ,中间计算过程中的舍入误差也不考虑 ,则在式 (10 )的计算中 , 由 εj引起的误差为

n

jj

njn xfCabfI

0

)( )()()(

b

a

dxxffI )()(

(10)

Page 25: 7.1 Newton Cotes公式

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增大 , 因而不能

则有

Page 26: 7.1 Newton Cotes公式

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

Page 27: 7.1 Newton Cotes公式

复化型求积公式

高次插值有 Runge 现象 , 高阶Newton-Cotes 公式会出现数值不稳定 ,低阶 Newton-Cotes 公式有时又不能满足精度要求 . 解决这个矛盾的办法是将积分区间 [a,b] 分成若干小区间 , 在每个小区间上用低阶求积公式计算 , 然后将它们加起来 , 这就是复化求积方法 .

Page 28: 7.1 Newton Cotes公式

复化梯形公式:

, ( 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

/* 中值定理 *

/

Page 29: 7.1 Newton Cotes公式

复化梯形公式积分法

Page 30: 7.1 Newton Cotes公式

收敛性由上述的误差估计式可知,当 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

Page 31: 7.1 Newton Cotes公式

, ( 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

Page 32: 7.1 Newton Cotes公式

复化 Simpson 公式积分法

Page 33: 7.1 Newton Cotes公式

误差估计

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阶收敛 .

Page 34: 7.1 Newton Cotes公式

例 对于函数 ,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

Page 35: 7.1 Newton Cotes公式

应用复化 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 却有六位有效数字 .