计算方法讲义:七 数值积分

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章 数值积分

如果函数f(x)在区间[a,b]上连续,且原函数为F(x),则可用牛顿―莱布尼兹

公式:)()()(a F b F dx x f b a

-=⎰来求得定积分。然而很多函数无法用牛顿―莱布尼兹公式求积分。

一个简单被积函数,例如,其不定积分可能很

复杂,见下面的MA TLAB 实例: >> syms a b c x

>> int(sqrt(a+b*x+c*x*x),x)

ans=1/4*(2*c*x+b)/c*(a+b*x+c*x^2)^(1/2)+1/2/c^(1/2)*log((1/2*b+c*x )/c^(1/2)+(a+b*x+c*x^2)^(1/2))*a-1/8/c^(3/2)*log((1/2*b+c*x)/c^(1/2)+(a+b*x+c*x^2)^(1/2))*b^2

所以有必要研究简单、高效的计算定积分的方法(即数值积分方法)。数值积分的基本思想是构造一个简单函数P n (x )来近似代替被积分函数f (x ),然后通过求⎰b

a n dx x P )(得⎰b

a dx x f )(的近似值。

7.1 插值型求积公式

设⎰=b

a dx x f I )(*,插值型求积公式就是构造插值多项式P n (x ),使

⎰=≈b

a n dx x P I I )(*

构造以a ,b 为结点的线性插值多项式)()()(1b f a

b a

x a f b a b x x P --+--=

,[])()()(21)()()(1b f a f a b dx b f a b a x a f b a b x dx x P T b

a b

a +-=⎥⎦

⎢⎣⎡--+--==⎰⎰称为梯形公式。

以a , 2

b

a c +=

,b 为三个插值节点,构造二次插值多项式)()

)(()

)(( )())(())(()())(())(()(2b f c b a b c x a x c f b c a c b x a x a f b a c a b x c x x P ----+----+----=

则可以推出)()()()(2102b f c f a f dx x P S b

a

λλλ++===⎰,)(6

1

))(())((0a b dx b a c a b x c x b

a

-=----=⎰

λ,

)(64))(())((1a b dx b c a c b x a x b

a

-=----=⎰

λ,)(6

1

))(())((2a b dx c b a b c x a x b a -=----=⎰λ。由此得公式:[])()(4)(6

b f

c f a f a

b S ++-=

,称为辛卜生(Sinpson )求积公式。 根据经典拉格朗日插值公式)()()(0

k n

k k n x f x l x P ∑==,代入求定积分则

有)()()()(0

k n

k b a k k n

k b

a k x f dx x l dx x f x l I ⋅==∑⎰∑⎰==,引入记号dx x l b

a k k )(⎰=λ,

)(0

k n

k k x f I ∑==λ,λk 为求积系数,x k 为求积节点。注意:一积分结果为函

数值的一个代数和,二是a

b dx x l n

k b

a k -=∑⎰=0

)(。

如果积分区间比较大,直接使用上述求积公式精度难以保证。可

对f (x )用分段抛物插值。通常采取的办法是复化求积方法: (1)等分求积区间,比如取步长n

a

b h -=

,分[a, b]为n 等分,分点为kh x x k +=0,k = 0, 1, 2,…, n 。

(2)在区间 [x k , x k+1]上使用以上求积公式求得I k 。 (3)取和值∑-==1

0n k k I I 作为整个区间上的积分值。

将梯型公式和辛卜生公式应用于各子区间[]1,+k k x x ()1,,0-=n k 上得到子区间的定积分,再将子区间的定积分加起来得到整个区间的定积分近似值,相关公式称为复化梯型公式和复化辛卜生公式。相对于

复化梯型公式,复化辛卜生公式是一种精度较高的求积公式。例如对于复化梯型公式,令[])()(2

1++=k k k x f x f h

I ,则

∑-==1

0n k k n I T [])()(211

0+-=+=∑k k n k x f x f h ⎥⎦

⎢⎣⎡++=∑-=)()(2)(21

1b f x f a f h n k k

x k 0 1/8 1/4 3/8 1/2 5/8 3/4 7/8 1 f (x k ) 4 3.93846 3.7647 3.50685 3.2 2.8764 2.46 2.26549 2 例 利用数据表计算积分 dx x

I ⎰+=1

2

*

14

( 1415926.3|arctg 410*===πx I )。解:取n = 8用复化梯形公式:

()13899

.31872432852212832412812)0(21818=⎥

⎦⎤+⎪⎭⎫

⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎢⎣⎡⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+⨯=f f f f f f f f f T 7.2 变步长梯形方法

使用复化求积公式须给出合适的步长,步长太大精度难保证,步长太小会增加计算量,事先给出一个合适的步长是十分困难的。递推公式避免了老节点的重复计算,使计算量减少了一半。

变步长积分法思想是将区间逐次对分,比较前后两次计算结果,

若满足精度要求就停止,否则再次对分,直到到达精度要求为止。设将区间[a, b] n 等分,共有n+1个分点,按复化梯形公式计算T n ,需要计算n+1个f (x )的值。T 2n 的全部分点中有n+1个是原有的点。小区间[x k , x k +1]经过二分增加分点2

1

+k x 后,用复化梯形公式得积分为:

[]

)()(2)(4

121++++=

k k k k x f x f x f h

I ,因此有

[]

[]∑∑∑∑

-=+-=+-=+++-=+=++=++=1

1

010111

2)

(221)

(2)()(4)

()(2)(4212121n k k n n k k n k k k k k k n k n x f h T x f h x f x f h x f x f x f h

T

相关文档
最新文档