数值积分的计算方法论文.doc

上传人:龙*** 文档编号:146129 上传时间:2018-07-11 格式:DOC 页数:9 大小:668KB
下载 相关 举报
数值积分的计算方法论文.doc_第1页
第1页 / 共9页
数值积分的计算方法论文.doc_第2页
第2页 / 共9页
数值积分的计算方法论文.doc_第3页
第3页 / 共9页
数值积分的计算方法论文.doc_第4页
第4页 / 共9页
数值积分的计算方法论文.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、摘 要 本文应用插值积分法和逼近论的思想,简单重述了推导 Newton-Cotes 公式和 Gauss-Legendre 求积公式的过程,以及这两个公式的系数、精度等问题。并以这两种数值积分的求解方法为基础,应用 quad、 guass 函数编写具体 Matlab程序,通过计算机软件计算出所给题目的近似数值积分。对二者所得的结果进行比较,从而研究了用 Newton-Cotes 和 Gauss-Legendre 公式求积分的方法和二者的精确度问题。得知,这两种求积公式所得的结果 在精度上的确存在差异,结合理论部分更加充分地说明了, n 相同时 Gauss-Legendre 公式比Newton-C

2、otes 公式具有更高的代数精度,但当代数精度相同时,二者计算的结果仍存在细微的差异。 关键字 :插值积分、 Newton-Cotes 公式、 Gauss-Legendre 公式 数值积分 第 1章 理论依据 逼近论 构造一个简单函数 p(x)近似表示 f(x),然后对 p(x)求积分得到 f(x)的积分的近似值。基于插值原理,推 导出数值积分的基本公式 。 1 插值求积公式 为了用数值方法求 baI(f)= f(x )d x ,对被积函数 f(x)在给定的 n+1 个节点上作 Lagrange 插值,用插值函数 Pn(x)代替 f(x),就可用 I( Pn(x))构造求积公式,近似地计算定积

3、分 I(f(x)。 2Newton Cotes公式 2.1Newton Cotes公式 的推导 当 1.1 插值求积公式的插值节点为等距节点时,就得到 Newton Cotes 公式。 将区间 a,bn 等分, bah n , n+1 个节点 为 xk=a+kh (k=0,1, ,n) 在节点上对 f(x)的 Lagrange 插值多项式是: 0 0( ) ( ) ( )nn jnkk j kjjkxxp x f xxx 用 Pn(x)代替 f(x)构造求积公式: 0 0( ) ( ) ( )nnbb jn n kaak j kjjkxxI p x d x f x d xxx 记 , (k=0

4、,1, ,n) 作代换 x=a+th 带入上式,变为: ()0 0 ()nnnnkkjjkb a t jA d t b a Cn k j 其中: (k=0,1, ,n) ( 1-1) 这个积分是有理多项式积分,它与被积函数 f(x)和区间 a,b无关。只要确定 n 就能计算出系数 。 于是得到称为 Newton Cotes 公式 的求积公式: ()0()n nn k kkI b a C y ( 1-2) 其中 称为 Newton Cotes 系数。如表 1 所示。 表 1 Newton Cotes 系数 n 1 1/2 1/2 2 1/6 4/6 1/6 3 1/8 3/8 3/8 1/8 4

5、 7/90 32/90 12/90 32/90 7/90 5 19/288 25/96 25/144 25/144 25/90 19/288 6 41/840 9/35 9/280 34/105 9/280 9/35 41/840 2.2Newton Cotes公式 误差和稳定性 在积分公式中用插值多项式 Pn(x)代替 f(x)的插值误差是 ( 1 )0()( ) ( ) ( ) ( )( 1 ) !n nn n kkfR x f x p x x xn 因此, Newton Cotes 公式的截断误差是 ( 1 )0()( ) ( )( 1 ) !n nb ka kfR f x x d xn

6、 ( 1-3) 讨论舍入误差对计算结果产生的影响,设( 1-2)式近似计算 ()ba f xdx 其中计算函数值 f(xn)有误差值 ( k=0,1,2, ,n) 。在 ( 1-2)式中令 设计算 无误差,舍入误差也忽略,则,由( 1-2)式计算时 引式的误差为 ( ) ( ) ( ) ( )0000( ) ( ) ( ( ) ) ( ) ( . . )nnn n n nn k k k k n n nkke b a C f x C f x b a C C 如果 皆为正,并设 ,则 ,故 有界,即 引起的误差受控制,不超过 ()ba 倍。保证了数值计算的稳定性 。 但当 n 8 时, 将出现负数

7、,这时,数值计算的稳定性不能保证, 所以节点超过 8 时 Newton Cotes 公式 不能用。 当 n为偶数时, Newton Cotes 积分公式具有 n+1 次代数精度。 2.3经典 Newton Cotes公式 当 n=4,5 点公式称为经典 Newton Cotes 公式 0 1 2 3 4( ) ( )00( 7 ( ) 32 ( ) 12 ( ) 32 ( ) 7 ( ) )90( ) ( ) ( ( ) 1 , ( ) 1 1nnnnk k n k k n kkkbaC f x f x f x f x f xy f x I b a C y R f x p x C 其中 (k=

8、0,1, ,4),它具有 5 次代数精度。 3 Gauss-Legendre求积公式 在积分区间 a,b内对积分节点不作限制,不取等距,积分节点和求积系数都作为待定未知量。通过适当选择节点和求积系数,能构造更有效的高精度求积公式。 3.1计算 ()ba f xdx n阶求积公式 0 ()nn i iiI A f x 若 nI 有 m次代数精度,对 kx (k=0,1, )应有 而 110n bmmi i iai A x x dx 。 3.2 Gauss求积公式 的基本原理 更一般形 式: ( ) ( ) ( )baI f x f x dx ( 2-1) ()x 为权函数,设 ()x 0,且在

9、a,b上可积 ,构造 n 阶求积公式: 0 ()nn i iiI A f x ( 2-2) 积分点 0.nxx使得( 2-2) 式达到 2n+1 次代数精度,则积分点称为 Gauss 点,( 2-2)式称为 Gauss 求积公式。 3.3 Gauss-Legendre求积公式 求积分 11 ()f xdx , 权数 ()x =1, 1,1x 11 1( ) ( )niiif x dx A f x 其中 ix( i=0, 1, n) 是 n+1阶 Legendre多项式 1()npx的零点,求积系数为: 1 11 1()( ) ( )nii n ipxA d xx x p x ( i=0, 1,

10、 n) 具体 Gauss-Legendre 公式的插值节点和系数见表 2(其中 n为插值节点个数, 为积分点, 为对应积分点的系数 )。 表二 Gauss-Legendre 公式的插值节点和系数 对一般区间 a,b上的积分 ()ba f xdx ,通过代换 : 11( ) ( )22x a b b a t 2badx d 将 , x ab 转换到 1,1t 。再用 Gauss-Legendre 求积公式: 11( ) ( )2 2 2ba b a a b b af x d x f t d t 进行积分求解 第 2章 问题描述 用 Newton Cotes 公式、 Gauss-Legendre

11、求 下列积公式计算积分,并比较结果: 1 20 21 dxx 20 2s in211 dxx 第 3章 问题分析 题目给出的是用 Newton Cotes 公式、 Gauss-Legendre 求 1 20 21 dxx 积分 的问题, 为了实现题目要求,应编写 Matlab 程序,实现计算被积函数 在积分区间 0,1的积分,得到最终结果。最后将二者得到的结果进行比较,得出关与 Newton Cotes 公式、 Gauss-Legendre 求积公式精确度的结论。 第 4章 求解计算 1Newton Cotes公式 求解的 Matlab 程序 1.1方法 1: ( 1) 在 Matlab 工作

12、窗口中: fn=inline(2/(1+x.2); y1=quad8(fn,0,1) 运行结果为: y1=1.5078 ( 2) 在 Matlab 工作窗口中: fn=inline(1-1/2*(sin(x).2).(1/2); y2=quad8(fn,0,pi/2) 运行结果为: y2 = 1.3506 1.2方法 2: ( 1) 建立 M 文件: function f=fn(x) f=2./(1+x.2) 在 Matlab 工作窗口中调用函数: y1=quad8(fn,0,1) 运行结果为 y1=1.5078 ( 2) 建立 M 文件: function f=fn(x) f=(1-1/2*

13、(sin(x).2).(1/2) 在 Matlab 工作窗口中调用函数: y2=quad8(fn,0,pi/2) 运行结果为: y2 = 1.3506 2 Gauss-Legendre求积公式 求解的 Matlab 程序 2.1Gauss-Legendre方法的一些准备 Gauss-Legendre: 11 0( ) ( )niiif x dx f X 具有 2n+1 次代数精度。 当 n=2 时, 3 阶 Gauss-Legendre 公式 3()px在 -1, 1上有三个零点: x0=0.7745967 x1=0 x2=-0.7745967 即为高斯点发,对应的 Gauss 求积系数为:

14、0 0.55555556 1 0.88888889 2 0.55555556 对于任意区间(有界区间) a,b,将 , x ab 转换到 1,1t 。再用Gauss-Legendre 求积公式: 11( ) ( )22x a b b a t 2badx dt 11( ) ( )2 2 2ba b a a b b af x d x f t d t 进行积分求解 2.2 n=2 的 Gauss-Legendre方法 ( 1) 先建立 M 文件 : function g=gauss2(fun,a,b) h=(b-a)/2; c=(a+b)/2; x=h*(-0.7745967)+c,c,h*0.77

15、45967+c; g=h*(0.55555556*(gaussf(x(1)+gaussf(x(3) +0.88888889*gaussf(x(2); function y=gaussf(x); y=2./(1+x.2); 在 Matlab 工作窗口中调用函数: y1=gauss2(gaussf,0,1) 运行结果为: y1=1.5705 ( 2) 先建立 M 文件 : function g=gauss2(fun,a,b) h=(b-a)/2; c=(a+b)/2; x=h*(-0.7745967)+c,c,h*0.7745967+c; g=h*(0.55555556*(gaussf(x(1)+

16、gaussf(x(3) +0.88888889*gaussf(x(2); function y=gaussf(x); y=(1-1/2*(sin(x).2).(1/2); 在 Matlab 工作窗口中调用函数: y2=gauss2(gaussf,0,pi/2) 运行结果为: y2= 1.3508 第 5章 结论 通过以上变成和计算,得到所求的两组积分: 1 20 21 dxx 202s in211 dxx 应用 Newton Cotes 积分公式所求的结果分别是 y1=1.5078, y2 = 1.3506,而应用 Gauss-Legendre 方法 所求得的结果分别是 y1=1.5705 和

17、 y2= 1.3508。单从结果上看,我们也能看出, Newton Cotes 积分公式和 Gauss-Legendre 积分公式在精度上的确存在着差异(两者 n的取值不同)。而结果上的差异来源很明显是插值积分在近似替代时产生的,结合第 1 章理论依据的内容, Newton-Cotes积分公式的精度最高可达 n+1 次, Gauss-Legendre 积分公式的精度为 2n+1 次,由此可知,当 n 相同时, Gauss -Legendre 积分公式比 Newton Cotes 积分公式具有更高的代数精度。而就本题而言 Gauss -Legendre 积分公式具有 5次代数精度, Newton Cotes 积分公式也具有 5次代数精度。因此二者所求积分只存在微小的差异,结果都比较准确。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。