复化柯特斯求积公式的程序设计与应用
- 格式:doc
- 大小:1011.00 KB
- 文档页数:3
数值计算实习报告——牛顿—柯特斯积分方法及其应用姓名:杨银月学号:139084154班级:数131牛顿—柯特斯积分算法及其应用一、引言●数值积分的必要性现实生活当中往往会遇到这样的问题:拉着一块物体在一粗糙平面上沿着一直线从一点移动到另一点所发生的功是多少?一个不规则的平面图形的面积是多少?已知边际成本—产量函数求在一产量下的总成本……通过物理和几何学以及经济学的知识容易知道这类问题是需要计算积分的,根据微积分定理对于积分⎰=badx x f I )(,只要找到)(x f 的原函数)(x F ,便有牛顿—莱布尼茨公式:)()()(a F b F dx x f ba-=⎰但是,现实生活中往往只能得到一些离散的点,无法得到连续的函数)(x f ,即便是给定了)(x f ,也不一定就是容易找到原函数的(原函数往往非初等),比方说)0(sin ≠x xx,2x e-等,故不能用N-L 公式进行积分运算。
即使能求得原函数的积分有时候计算也是非常困难的。
例如对于被积函数611)(xx f +=,其原函数Cx x x x x x x x F ++-+++-+=1313ln 341)1arctan(61arctan 31)(22计算)(),(b F a F 仍然很困难,因此有必要研究积分的数值计算问题。
●数值积分的基本思想由积分中值定理(如图1)知,在积分区间],[b a 内存在一点ζ,成立)()()(ζf a b dx x f ba-=⎰图1就是说,底为a b -而高为)(ζf 的矩形面积恰等于所求曲边梯形的面积I 。
问题在于点ζ的具体位置一般是不知道的,因而难以准确算出)(ζf 的值,称)(ζf 为区间],[b a 上的平均高度。
这样只要对平均高度)(ζf 提供一种算法,相应地便获得一种数值求积方法。
如果我们用两端点“高度”)(a f 与)(b f 的算术平均值作为平均高度)(ζf 的近似值,这样导出的求积公式)]()([2)(b f a f ab dx x f ba+-≈⎰)11(-便是众所周知的梯形公式。
复化求积公式课程设计一、教学目标本课程旨在让学生掌握复化求积公式的原理和应用,培养他们的数学思维能力和解决问题的能力。
具体目标如下:知识目标:使学生了解复化求积公式的定义、特点和适用范围,理解其背后的数学原理,掌握公式的推导过程。
技能目标:培养学生运用复化求积公式解决实际问题的能力,能够熟练运用公式进行计算和求解,提高他们的数学应用能力。
情感态度价值观目标:激发学生对数学学科的兴趣和热爱,培养他们勇于探索、严谨治学的学术态度,树立团队协作和交流分享的合作精神。
二、教学内容本课程的教学内容主要包括复化求积公式的定义、推导过程、应用范围和实际运用。
具体安排如下:1.复化求积公式的定义:介绍复化求积公式的概念,解释其含义和特点,让学生了解公式的基本形式。
2.推导过程:详细讲解复化求积公式的推导过程,引导学生理解公式的来源和背后的数学原理。
3.应用范围:阐述复化求积公式的适用范围,介绍其在实际问题中的应用场景,让学生学会判断何时使用该公式。
4.实际运用:通过举例和练习,培养学生运用复化求积公式解决实际问题的能力,提高他们的数学应用水平。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。
主要包括:1.讲授法:教师通过讲解复化求积公式的定义、推导过程和应用范围,为学生提供系统的知识体系。
2.案例分析法:教师通过列举实际问题,引导学生运用复化求积公式进行解决,培养学生的数学应用能力。
3.讨论法:教师学生进行小组讨论,促进学生之间的交流与合作,提高他们的团队协作能力。
4.实验法:教师安排学生进行实验操作,让学生通过实践体验复化求积公式的应用,增强他们的实践操作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的知识体系和学习指导。
2.参考书:提供相关的参考书籍,帮助学生拓展知识面,加深对复化求积公式的理解。
摘要在数值计算中,低阶牛顿柯特斯求积方法存在很多缺陷,从余项公式可以看出其要求提高求积公式的代数精度,必须增加结点个数,会导致插值多项式出现龙格现象,且数值稳定性不能保证.基于以上原因,我们往往采用复化求积方法,此方法不仅可以克服以上缺点而且便于在计算机上实现,值得研究和学习.在本课程设计中,我们首先从复化求积公式的思想引入,然后详细介绍复化梯形求积公式、复化辛普森求积公式和复化柯特斯求积公式的推导过程和相关性质,再对三种求积公式进行比较和总结,其次画出三种求积公式的流程图,最后通过求解例题写出三种求积算法的程序设计.关键词复化求积算法;流程图;程序设计目录引言 0第一章复化求积算法 (2)§1.1复化求积公式 (2)§1.1复化求积公式的思想 (3)§1.2复化求积公式的构造 (3)§1.2复化梯形求积公式 (3)§1.2.1复化梯形求积公式的推导过程 (3)§1.2.2复化梯形求积公式的性质 (3)§1.3复化辛普森求积公式 (4)§1.3.1复化辛普森求积公式的推导过程 (4)§1.3.2复化辛普森求积公式的性质 (4)§1.4复化柯特斯求积公式 (5)§1.4.1复化柯特斯求积公式的推导过程 (5)§1.4.2复化柯特斯求积公式的性质 (5)§1.5三种复化求积公式的比较及总结 (6)第二章复化求积公式算法的流程图及其应用 (9)§2.1 流程图 (9)§2.2 应用 (12)参考文献 (15)附录A (16)附录B (17)附录C (18)引言积分计算在分析数学领域里是个古老的问题,在数值分析中已被广泛应用.但在计算机上却不能像在分析数学中那样,用原函数[满足)()('x f x F =的函数)(x F 就是函数)(x f 的原函数]计算积分.这是因为在实际问题中,函数关系往往是用列表数据或曲线给出的.即使知道了函数的表达式,求其一个原函数并非一个简单问题.许多函数难以用初等函数表示(如2,/sin x e x x -等).在计算机上,通常利用函数的若干个离散值,以代数运算近似计算积分值,这类近似计算法称为数值积分法.设给定区间],[b a 上的函数)(x f .需要建立计算积分dx x f f I ba ⎰=)()(的近似方法.数值积分的基本思想是试图用一个简单又易于积分的函数逼近)(x f ,以计算积分)(f I .显然插值多项式是一个很好的选择,因为插值多项式可由)(x f 的若干值构造出来,其积分很容易计算.为此,需将],[b a 分为n 等分n i x x i i ,,2,1],,[1 =+,其中b x x x x a n =<<<<=+1321 .分割步长h ,因此,1,3,2,/)1(1+=-+=n i h i x x i 对应的函数值)()(,),(),()(121b f x f x f x f a f n ==+ .显然)(f I 可以表示为所有小区间上各函数的积分的和,即)()(1f I f I ni i ∑==其中 dx x f I i ix x i ⎰+=1)(通常把为每个)(f I i 建立的计算公式简称为求积公式,而把)(f I 建立的求积公式称为复化求积公式.由于在实际计算时,不宜使用高阶的牛顿——柯特斯公式,但若积分区间较大,单独用一个低阶的牛顿——柯特斯公式来计算积分的近似值,显然精度不好,为了提高数值求积的精确度,可利用积分对区间的可加性来解决这个问题,这就是通常采用的复合求积法.而且使用这种方法之后,求积公式的收敛性和稳定性也得到了改善.第一章 复化求积算法牛顿—柯特斯公式的求积余项表明,求积节点n 越大,对应的求积公式精度越高,但由于牛顿—柯特斯公式在8>n 时数值不稳定,因此不能用增加求积节点数的方法来提高计算精度.实用中常将求积区间],[b a 分成若干个小区间,然后在每个小区间上采用数值稳定的牛顿—柯特斯公式求小区间上的定积分,最后把所有小区间上的计算结果相加来作为原定积分的近似值.采用这种方法构造的求积公式就称为复合求积公式.复合求积公式具有计算简单且可以任意逼近所求定积分值的特点,这是牛顿—柯特斯公式一般做不到的.常用的复合求积公式有复合梯形求积公式和复合辛普森求积公式以及复合柯特斯求积公式.以下我们将从三种复化求积算法的构造、余项、稳定性、收敛性等几方面进行讨论,并写出相应的流程图以及应用中所涉及到的算法的程序设计.§1.1复化求积公式§1.1.1 复化求积公式的思想n 很大时,牛顿——柯特斯求积公式出现了不稳定、不收敛现象,往往使用低阶牛顿——柯特斯求积公式,误差比较大,故将],[b a 若干等分,在每个子区间上反复使用低阶牛顿——柯特斯公式,进行累加.而构造出来的新的求积公式,称之为复化求积公式.在构造求积公式的过程中,我们将求积区间],[b a 进行等距细分:n i nab ia x i ,,1,0, =-+=,在每个小区间],[1i i x x -上用相同的“基本”求积公式(如梯形公式;中矩形公式;左(右)矩形公式或辛普森公式)计算出dx x f i i x x ⎰-1)(的近似值i S .§1.1.2 复化求积公式的的构造将定积分⎰ba dx x f )(的区间],[b a 划分为n 等分,各节点为kh a x k +=,n k ,,1,0 =,nab h -=,在子区间)1,,1,0](,[1-=+n k x x k k 上使用牛顿——柯特公式,将],[1+k k x x 分割为l 等份,步长为l h,节点为1,,2,,+=+++k k k k k x llhx l h x l h x x记121,,,,++++=k ll k lk lk k x xxxx为在],[1+k k x x 上作)(x f 的l 阶牛顿——柯特斯求积公式.∑∑⎰=++=+=-=≈+li li k l i li k li l i k k k i x x xf C h xf C x x I dx x f k)(0)(1)()()()()(1由积分区间的可加性,可得nli k n k li l i n k k l n k k k baI xf C h I dxx f dx x f ==≈=+-==-=-=+∑∑∑∑⎰⎰)()()(100)(1)(11§1.2 复化梯形求积公式§1.2.1 复化梯形求积公式的的推导过程将积分区间],[b a 划分等分,步长nab h -=,求积节点kh a x k +=,n k ,,1,0 =在每个小区间)1,,1,0](,[1-=+n k x x k k 上应用梯形公式)]()([2)(11++≈⎰+k k x x x f x f hdx x f k k然后将它们累加求和,作为所求积分I 的近似值.])()(2)([2)]())()()((2)([2)]()([2)()(11121011011∑∑∑⎰⎰---+-=-=++=+++++=+≈==+n i k n n k k n k n k x x bab f x f a f hx f x f x f x f x f hx f x f hdx x f dx x f I k k记n T )]()(2)([211b f x f a f hn i k ++=∑-=式为复化梯形求积公式,下标n 表示将区间n 等分,若把区间n 2等分,在每个小区间上仍用梯形求积公式,则可得到n n T T ,2和n H 间的关系为:)(212n n n H T T +=其中∑=--+=nk n nab k a f h H 1]2)12([ §1.2.2复化梯形求积公式的性质性质1.1复化梯形求积公式余项当)(x f 在],[b a 上有连续的二阶导数,则复化梯形公式的余项:)(12)()(''2ηf h a b T dx x f R n ba T --=-=⎰ ],[b a ∈η 性质1.2稳定性若],[,)(''b a x M x f ∈≤,则有估计式M na b R nT 2312)(-≤ 复化梯形求积公式的系数均大于零,且满足a b nh n hA ni i -==+-+=∑=]1)1(21[2因此,复化梯形求积公式的计算过程是数值稳定的.性质1.3收敛性可证复化梯形求积公式是收敛的. 性质1.4代数精度定义1.1 若积分⎰b adx x f )(的数值积分公式⎰badx x f )()(0k nk k x f A ∑=≈对于任意一个次数不高于m 次的多项式都精确成立,且存在一个1+m 次多项式使之不精确成立,则称该数值积分公式的代数精度为m .可证复化梯形求积公式的代数精度为2.§1.3 复化辛普森求积公式§1.3.1 复化辛普森求积公式的的推导过程将积分区间],[b a 划分等分,记子区间],[1+k k x x 的中点为h x x k k 2121+=+在每个小区间上应用辛普森公式,则有))()(2)(4)((6)444(6)]()(4)([6)()(101121211223112101211011b f x f x f a f hf f f f f f f f f hx f x f x f hdxx f dx x f I n k n k k k n n n k k k n k n k x x bak k+++=+++++++++=++≈==∑∑∑∑⎰⎰-=-=+--++-=-=+其中h x xk k 2121+=+记 )]()(2)(4)([6111021b f x f x f a f hS n k k n k k n +++=∑∑-=-=+式为复化辛普森求积公式§1.3.2复化辛普森求积公式的性质性质1.5复化辛普森求积公式余项当)(x f 在],[b a 上有连续的四阶导数,复化辛普森公式的求积余项为:)(2880)()2(180)4(4)4(4ηηf h a b f h a b R S --=--= ],[b a ∈η 性质1.6稳定性同复化梯形求积公式,复化辛普森求积公式的系数均大于零,且满足总和为a b - 因此,复化辛普森求积公式的计算过程是数值稳定的.性质1.7收敛性可证复化辛普森求积公式是收敛的. 性质1.8代数精度可证复化辛普森求积公式的代数精度为4.§1.4 复化柯特斯求积公式§1.4.1 复化柯特斯求积公式的的推导过程将积分区间],[b a 划分等分,若把每个子区间],[1+k k x x 四等份,内点依次记为432141,,+++k k k xxx,同理可得复化柯特斯求积公式)](7)(14)(32)(12)(32)(7[9010101143211041b f x f x f x f x f a f hC n k n k n k k k k n k k n +++++=∑∑∑∑-=-=-=++-=+(1-1)其中h x xh x x h x x k k k k k k 43;21;41432141+=+=+=+++ 记(1-1)为复化柯特斯求积公式§1.4.2复化柯特斯求积公式的性质性质1.9复化柯特斯求积公式余项当)(x f 在],[b a 上有连续的四阶导数,复化柯特斯公式的求积余项为:)()4(945)(2)6(6ηf h a b R c --= ],[b a ∈η性质1.10稳定性同复化梯形求积公式,复化柯特斯求积公式的系数均大于零,且满足总和为a b - 因此,复化柯特斯求积公式的计算过程是数值稳定的.性质1.11收敛性可证复化柯特斯求积公式是收敛的. 性质1.12代数精度可证复化柯特斯求积公式的代数精度为6.§1.5 三种复化求积公式的比较及总结为了更形象的表述三种复化求积公式之间的关系,我们通过一个例子来进行比较例1.1使用各种复化求积公式计算定积分dx xxI ⎰=10sin 为简单起见,依次使用8阶复化梯形公式、4阶复化辛普森公式和2阶复化柯特斯公式,可得各节点的值如下表表1-1节点值94569086.0)]1()(2)0([161718=++=∑=f x f f T k k 94608331.0)]1()(2)(4)0([2413031214=+++=∑∑==+f x f x f f S k k k k 94608307.0)]1(7)(14)](32)(12)(32[)0(7[180111104342412=+++++=∑∑==+++f x f x f x f x f f C k k k k k k 比较三个公式的结果:精度最低 94569086.08=T 精度次高 94608331.04=S 精度最高 94608307.02=C原积分的精确值为6719460830703.0sin 10==⎰dx xxI . 我们知道,三种求积公式的余项分别如表1-2表1-2 复化梯形、辛普森、柯特斯求积公式的余项定义1.2对于复化求积公式n I 若存在0>p 及0≠c ,使其余项n I I -满足c h I I pnh =-→0lim则称复化求积公式n I 是p 阶收敛的 P 阶收敛性的意义:对于一个数值求积公式来说,收敛阶越高,近似值n I 收敛到真值dx x f ba ⎰)(的速度就越快.由于三种求积公式的余项分别是h 的2,4,6阶无穷小量 所以n n n C S T ,,趋于定积分I 的速度依次更快.从这三种求积公式的构造过程中可以看出,它们都属于机械求积公式,但不属于插值行和牛顿柯特斯公式.都具有稳定性和收敛性,且收敛速度一个比一个快,一个比一准确.在使用函数值个数相等的情况下,248,,C S T 的精度逐渐升高.第二章复化求积公式算法的流程图及其应用§2.1 流程图1.复化梯形求积公式图2.1 复化梯形求积公式算法的流程图Step1给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑-=1)(),(),(n k k x f b f a f ;Step4得)]()()([211b f x f a f h T n k k n ++=∑-=2. 复化辛普森求积公式图2.2 复化辛普森求积公式算法的流程图Step1 给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑∑-=+-=1211)(,)(),(),(n k k n k k xf x f b f a f ;Step4得)]()(2)(4)([6111021b f x f x f a f hS n k k n k k n +++=∑∑-=-=+3. 复化柯特斯求积公式图2.3 复化柯特斯求积公式算法的流程图Step1给出被积函数)(x f 、区间],[b a 端点b a ,和等分数n ; Step2求出,kh x k =nab h -=; Step3计算∑∑∑∑-=-=+-=+-=+11143121141)(,)(,)(,)(),(),(n k k n k k n k k n k k x f xf xf xf b f a f ;Step4得)](7)(14)(32)(12)(32)(7[9010101143211041b f x f x f x f x f a f hC n k n k n k k k k n k k n +++++=∑∑∑∑-=-=-=++-=+§2.2 应用例2.1.分别用复化梯形,复化辛普森,复化柯特斯公式计算函数32)(x x x f -=在区间]1,0[上的弧长S .(要求写出源程序和运行结果) *注 在],[b a 上的弧长dx x f S ba⎰+=2'))((11.用复化梯形公式计算S 的过程:(1).写出变量说明表2-1 复化梯形求积公式程序设计的变量说明Step1 输入n ,nab h -=,被积函数0),(1=s x f ; Step2 for 1=k to 1-n ;{计算11)(s kh a f s →++}))(2)((21b f s a f hs ++=; Step3 输出近似值s .(3) 写出源程序和运行结果(见附录A) 2.用复化辛普森公式计算S 的过程: (1).写出变量说明表2-2 复化辛普森求积公式程序设计的变量说明Step1:输入n ,nab h -=,被积函数0),(1=s x f 0,2=s ; Step2:for 1=i to 1-n ,2+=i i ;{计算11)2/*(s h i a f s →++} Step3:for 2=j to 1-n ,2+=j j ; {计算22)2/*(s h j a f s →++}))(24)((621b f s s a f hs +++=; Step4:输出近似值s .(3).写出源程序和运行结果(见附录B) 3.用复化柯特斯公式计算S 的过程: (1).写出变量说明表2-3 复化柯特斯求积公式程序设计的变量说明Step1输入n ,nab h -=,被积函数0),(1=s x f 0,2=s 0,3=s ; Step2 for 1=i to 1-n ,2+=i i ;{计算11)4/*(s h i a f s →++} Step3:for 2=j to 1-n ,4+=j j ; {计算22)4/*(s h j a f s →++} Step4: for 4=k to 2-n ,2+=k k ; {计算33)4/*(s h k a f s →++}))(141232)((90321b f s s s a f hs ++++=; Step5:输出近似值s .(3).写出源程序和运行结果(见附录C)根据运行结果可知,由三种复化求积公式求得的S 的值分别为064837.1、061199.1、061189.1,精度逐渐升高.参考文献[1] 薛毅,耿美英.数值分析[M]. 北京:北京工业大学出版社.2003年. [2] 刘长安.数值分析教程[M].西安:西北工业大学出版社.2005年.[3] 朝伦巴根,贾德彬.数值计算方法[M].北京:中国水利水电出版社.2007年.[4] 韩旭里,万中.数值分析与实验[M].北京: 科学出版社.2006年.[5] 林成森.数值分析[M].北京: 科学出版社.2007年.[6] 封建湖,车刚明,聂玉峰.数值分析原理. 北京: 科学出版社.2001年.附录A1.复化梯形求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){ int n,k;float h;float a;float b;double s=0.0;double s1=0.0;double t;printf("Please input the deng fen ;");scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for (k=1;k<n;k++){ t=a+k*h;s1=s1+f(t);}s=(h/2)*(f(a)+2*s1+f(b));printf("%f\n",s);}(2).运行结果:图1 复化梯形求积公式计算弧长结果附录B2.复化辛普森求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){ int n,i,j;float h;float a;float b;double s=0.0;double s1=0.0,s2=0.0;double t,l;printf("Please input the deng fen ;");scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for(i=1;i<8;i=i+2){t=a+i*h/2;s1=s1+4*f(t);}for(j=2;j<8;j=j+2){l=a+j*h/2;s2=s2+2*f(l);}s=(h/6)*(f(a)+s1+s2+f(b));printf("%f\n",s);}(2).运行结果:图2 复化辛普森求积公式计算弧长结果附录C3.复化柯特斯求积公式的程序设计:(1).源程序:#include<stdio.h>#include<math.h>double f(double x){double z;z=sqrt(1+pow((2*x-3*pow(x,2)),2));return z;}main(){int n,i,j,k;float h;float a;float b;double s=0.0;double s1=0.0,s2=0.0,s3=0.0;double t,l,m;printf("Please input the deng fen ;"); scanf("%d",&n);printf("Please input qujian a ;");scanf("%f",&a);printf("Please input qujian b ;");scanf("%f",&b);h=(b-a)/n;for(i=1;i<8;i=i+2){t=a+i*h/4;s1=s1+32*f(t);}for(j=2;j<7;j=j+4){l=a+j*h/4;s2=s2+12*f(l);}for(k=4;k<6;k=k+2){m=a+k*h/4;s3=s3+14*f(m);}s=(h/90)*(7*f(a)+s1+s2+s3+7*f(b)); printf("%f\n",s);}(2).运行结果:图3 复化柯特斯求积公式计算弧长结果。
复化求积公式的算法及其应用复化求积公式是数值计算方法中重要的一种技术,用于近似计算函数的积分值。
该方法通过将积分区间等分为多个小区间,并在每个小区间上使用求积公式来估计函数在该区间上的积分值。
本文将介绍复化求积公式的算法及其应用。
一、复化求积公式算法1.复化梯形求积公式复化梯形求积公式是复化求积公式中最简单的一种,其基本思想是将积分区间等分为若干个小区间,然后在每个小区间上使用梯形求积公式计算积分值,最后将所有小区间的积分值相加得到最终的积分值。
算法步骤:1)将积分区间[a,b]等分为n个小区间,每个小区间的长度为h=(b-a)/n。
2) 在每个小区间上使用梯形求积公式计算积分值,即Ii=h/2*(f(xi)+f(xi+1)),其中xi=a+i*h,i=0,1,2,...,n-13)将所有小区间的积分值相加得到最终的积分值,即I≈I0+I1+I2+...+In-12. 复化Simpson求积公式复化Simpson求积公式是一种更为精确的复化求积公式,它通过在每个小区间上使用Simpson求积公式来计算积分值,从而提高了计算精度。
算法步骤:1)将积分区间[a,b]等分为n个小区间,每个小区间的长度为h=(b-a)/n。
2) 在每个小区间上使用Simpson求积公式计算积分值,即Ii=h/6*(f(xi)+4f(xi+h/2)+f(xi+h)),其中xi=a+i*h,i=0,1,2,...,n-13)将所有小区间的积分值相加得到最终的积分值,即I≈I0+I1+I2+...+In-1二、复化求积公式应用1.数学分析中的数值积分计算,用于计算函数的定积分值。
2.物理学中的积分计算,用于计算物理量的平均值或总量。
3.统计学中的积分计算,用于计算概率密度函数的面积值。
4.工程学中的积分计算,用于计算工程问题中的各种积分量。
5.金融学中的积分计算,用于计算金融衍生品的价格或价值。
总结:复化求积公式是一种重要的数值计算方法,在数学、物理、统计、工程、金融等领域中有广泛的应用。
实用标准文案4.2 复化求积公式一、教学目标及基本要求通过对本节课的学习,使学生掌握积分的复合求积公式。
二、教学内容及学时分配本节主要介绍复合求积公式。
具体内容如下:牛顿柯特斯公式、复化求积公式。
三、教学重点难点1.教学重点:复化求积公式。
2.教学难点:复化考特斯求积公式。
四、教学中应注意的问题多媒体课堂教学为主。
适当提问,加深学生对概念的理解。
五、正文复合求积公式1公式的推导Newton-Cotes公式是由拉格朗日插值公式推导出来的数值积分公式。
h ba,分点为xka kh,k=0,1,...,n,这将区间 [a,b]等分 n 等份 , 记nn+1 个节点上的函数值为f (x k ),k0,1,n, 从而区间 [a,b]上的拉格朗日插值多项式为L n (x)nf (x k )l k (x) k 0b b n b f (x )l(x)dxf (x)dxa L n (x)dx a k ka k 0n bl k ( x)dx f (x k )k 0anA k f (x k )k 0由于插值结点是等距节点,故插值多项式可以进一步化简:因为x k a kh, x a thx k x j(k j )h x x j(t j )h 故,l k(x)(x x0)(x x k 1)(x x k 1)(x x n)(x k x k 1)(x k x k 1)(x k x n) (x k x0)t(t1)(t k1)(t k1)(t n)k(k1)(k k1)(k k1)(k n)(1)n k n(t j)k!(n k)! j0, j kb dx hdt b adt因Ak alk(x)dx,作积分变量代换x a th,n,当 x=a时, t=0 ;当 x=b 时, t=n ;故A k b a 1 ( 1)n kn n(t j)dt()k!(n k)!n0j 0, j kA(b a)C(n) , k 0,1,n,我们称C k(n)记k k为柯特斯( Cotes)系数,它不仅与函数 f(x)无关,而且与积分区间 [a,b]无关。
数学实验题目2 Romberg 积分法摘要考虑积分()()b aI f f x dx =⎰欲求其近似值,可以采用如下公式:(复化)梯形公式 110[()()]2n i i i hT f x f x -+==+∑ 2()12b a E h f η-''=- [,]a b η∈ (复化)辛卜生公式 11102[()4()()]6n i i i i hS f x f x f x -++==++∑4(4)()1802b a h E f η-⎛⎫=- ⎪⎝⎭ [,]a b η∈ (复化)柯特斯公式 111042[7()32()12()90n i i i i hC f x f x f x -++==+++∑31432()7()]i i f xf x +++6(6)2()()9454b a h E f η-⎛⎫=- ⎪⎝⎭[,]a b η∈ 这里,梯形公式显得算法简单,具有如下递推关系121021()22n n n i i h T T f x -+==+∑因此,很容易实现从低阶的计算结果推算出高阶的近似值,而只需要花费较少的附加函数计算。
但是,由于梯形公式收敛阶较低,收敛速度缓慢。
所以,如何提高收敛速度,自然是人们极为关心的课题。
为此,记0,k T 为将区间[,]a b 进行2k等份的复化梯形积分结果,1,k T 为将区间[,]a b 进行2k等份的复化辛卜生积分结果,2,k T 为将区间[,]a b 进行2k等份的复化柯特斯积分结果。
根据李查逊(Richardson )外推加速方法,可得到1,11,,0,1,2,40,1,2,41m m k m km k m k T T T m -+-=-⎛⎫=⎪=-⎝⎭可以证明,如果()f x 充分光滑,则有,lim ()m k k T I f →∞= (m 固定),0lim ()m m T I f →∞=这是一个收敛速度更快的一个数值求积公式,我们称为龙贝格积分法。
牛顿-柯斯特求积法是一种数值分析方法,用于计算函数的数值积分。
它是由艾萨克·牛顿和罗贝尔·柯斯特分别独立发现的,因此得名为牛顿-柯斯特求积法。
该方法通过构造一个多项式来逼近被积函数的积分值,从而实现数值积分的目的。
在使用牛顿-柯斯特求积法进行数值积分时,首先需要将被积函数分解为多个小段,然后在每个小段上构造一个适当的多项式来逼近被积函数。
通过对这些小段上多项式的积分求和,就可以得到整个函数的数值积分近似值。
这种方法的优势在于可以通过增加小段的数量来提高积分的精度,从而得到更加准确的积分近似值。
为了更好地理解牛顿-柯斯特求积法的原理和概念,我们可以通过以下几个方面进行深入探讨:1. 多项式逼近在牛顿-柯斯特求积法中,我们需要构造一个多项式来逼近被积函数。
这个多项式通常是通过拉格朗日插值多项式或者牛顿插值多项式来实现的。
其中拉格朗日插值多项式是一种经典的逼近方法,它通过已知数据点来构造一个多项式,使得这个多项式在给定点上的取值与原函数的取值尽可能接近。
而牛顿插值多项式则是另一种常用的逼近方法,它通过使用差商来构造插值多项式,具有更好的数值稳定性和计算效率。
2. 积分近似一旦构造出了多项式逼近,我们就可以利用这些多项式的积分来近似原函数的积分值。
在牛顿-柯斯特求积法中,通常会选取一些特定的插值节点和插值权重,然后利用这些节点和权重进行数值积分计算。
通过对每个小段上多项式的积分求和,就可以得到整个函数的数值积分近似值。
3. 积分误差由于牛顿-柯斯特求积法是一种数值方法,因此在实际计算中会存在一定的误差。
这些误差通常可以通过分析插值多项式的阶数、插值节点的选择以及积分权重的确定等方面来进行估计和控制。
通过合理地选择相关参数和策略,可以最大程度地减小积分误差,从而提高数值积分的精度。
牛顿-柯斯特求积法是一种非常实用的数值积分方法,它在科学计算、工程技术和数学研究等领域都有着广泛的应用。
通过深入理解其原理和概念,我们可以更好地掌握这一方法的使用技巧和优化策略,从而更加准确地完成各种数值积分计算任务。
m a t l a b实现复化N e w t o n C o t e s公式求积分的程序应用和代码 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】执行函数为1、使用方法:Step1:在MATLAB命令窗口输入被积函数212tt e dt 。
输入应为:。
Step2:执行函数。
输入形式为mymulNewtonCotes(ft,a,b,m,n);其中ft—被积函数,此体重,已经在第一步赋值;a—积分下限,本题中为0;b—积分上限,本题中为1;m—将区间[a,b]等分的子区间数量,本题可选为10;n—采用的Newton-Cotes公式的阶数,必须满足n<8,否则积分没法保证稳定性。
当n=1时,即为复化梯形公式;n=2时,即为复化复化辛普森公式。
所以,分别输入mymulNewtonCotes(ft,0,1,10,1)和mymulNewtonCotes(ft,0,1,10,2)就可以得到两种方法的积分计算结果。
2、计算结果而根据积分运算,可得:说明复化梯形和复化辛普森公式计算出的结果基本一致,与实际结果相符。
3、程序代码functionyy=mymulNewtonCotes(ft,a,b,m,n)%复化Newton-Cotes数值积分公式,即在每个子区间上使用Newton-Cotes公式,然后求和,%参考的输入形式为mymulNewtonCotes(ft,0,1,10,2)%参数说明:%ft——被积函数,此题中ft=@(t)t.*exp(t^2/2)%a——积分下限%b——积分上限%m——将区间[a,b]等分的子区间数量%n——采用的Newton-Cotes公式的阶数,必须满足n<8,否则积分没法保证稳定性%(1)n=1时为复化梯形公式%(2)n=2时为复化辛普森公式xx=linspace(a,b,m+1);forl=1:ms(l)=myNewtonCotes(ft,xx(l),xx(l+1),n);endyy=sum(s);function[y,Ck,Ak]=myNewtonCotes(ft,a,b,n)%牛顿-科特斯数值积分公式%Ck——科特斯系数%Ak——求积系数%y——牛顿-科特斯数值积分结果xk=linspace(a,b,n+1);forj=1:n+1ff(j)=ft(xk(j));end%计算科特斯系数fori=1:n+1k=i-1;Ck(i)=(-1)^(n-k)/factorial(k)/factorial(n-k)/n*quadl(@(t)intfun(t,n,k),0,n);end%计算求积系数Ak=(b-a)*Ck;%求和算积分y=Ak*ff';functionf=intfun(t,n,k)%科特斯系数中的积分表达式f=1;fori=[0:k-1,k+1:n]f=f.*(t-i);end。
[收稿日期]2009-04-03 [基金项目]东华理工大学第五届大学生科技创新基金项目(2008220). [作者简介]许小勇(1983-),男,江西奉新人,助教,主要从事优化算法、小波分析与图像处理研究. 2009年8月重庆文理学院学报(自然科学版)Aug 1,2009 第28卷 第4期Journal of Chongqing University of A rts and Sciences (Natural Science Editi on )Vol 128 No 14Newton -Cotes 求积系数与复合Gauss求积算法的程序设计许小勇1,金建华2(1.东华理工大学 数学与信息科学学院,江西 抚州 344000; 2.东华理工大学 校团委,江西 抚州 344000)[摘 要]提出了利用Ne wt on -Cotes 公式进行数值计算时Cotes 系数的程序设计方法和复合高斯求积算法的程序设计方法,在Matlab 环境下编写了两算法的程序,数值实验结果证明了程序的正确性.两程序的编写为其应用提供了方便.[关键词]Cotes 系数;复合高斯求积;程序设计[中图分类号]TP311 [文献标识码]A [文章编号]1673-8012(2009)04-0015-03 数学分析中,用Ne wt on -Leibniz 公式来计算定积分[1].但在很多实际工程问题中,计算定积分的准确值是十分困难的,这就要求建立积分的近似计算方法.插值型积分方法是一种重要方法,在实际应用时,考虑到计算上的方便,常将积分区间等分,并取分点为求积节点,从而得到Ne wt on -Cotes 公式.在现有文献中,考虑用复合Gauss 型算法求积分的并不多见,而Gauss 求积公式具有较高精度,在近似求积方面具有非常重要的作用.针对这两个问题,本文推导了它们的具体计算公式,在Matlab7.0环境下,编写了通用的计算程序,为其应用提供了方便.1 Newt on -Cotes 求积系数公式的推导 设积分区间为[a,b ],将其n 等分,令x k =a+kh ,h =b -an,k =0,1,…,n,将其作为求积节点,并作变量替换,则插值型求积公式为∫baf (x )d x ≈∑nk =0A kf (x k),其中系数A k =h ∫nt (t -1)…(t -k +1)(t -k -1)…(t -n )k!(-1)n-k(n -k )!d t=b -an ・(-1)n -k k!(n -k )!∫nt (t -1)…(t -k +1)(t -k -1)…(t -n )d t =(b -a )C (n)k ,可得Ne wt on -Cotes 求积公式[2,3],∫b af (x )d x ≈∑nk =0C(n )k・f (x k ).其中C n k=(-1)n -k n ・k!(n -k )!∫nt (t -1)…(t -k +1)(t -k -1)…(t -n )d t 称为Cotes 系数.可以看出,Cotes 系数与积分区间及f (x )无关,只与区间的等分数n 有关.在现有的《计算方法》教材中,都没有通过程序来完成Cotes 系数的计算,而是通过人工计算得到系数而应用于程序当中.这显然不符合计算机程序设计的思想.因此,本文利用Matlab 语言来编写程序计算Cotes 系数.2 Newt on -Cotes 求积系数程序设计在Matlab7.0环境下编写的求解Cotes 系数的程序及相关结果如下:程序代码:functi on [s]=jc (n )%定义阶乘函数s =1;if n ==0 s =1;else s =1; f or i =1:n s =s 3i;51 endendclcclearn=input(′请输入区间等分数n=′)f p rintf(′区间等分数为\n\t\t n=%d\n′,n)k=0:nm=length(k);sy m s tf or i=1:mQ(i,:)=zer os(1,m);L=1; for j=1:m if j~=i L=L3(t-k(j)); end endP(i)=L;Q(i,:)=sy m2poly(si m p lify(L));endf or i=1:mK=k(i);C(i)=(-1)^(n-K)/(n3jc(K)3jc(n-K)); for j=1:m Q(i,j)=C(i)3Q(i,j)/(m+1-j); endendM=[0,n];f or k=1:n+1 for i=2:-1:1 s=0; f or j=1:n+1 s=s+Q(k,j)3M(i)^(n+2-j); end Y(i)=s; end R(k)=Y(2)-Y(1);endf p rintf(′区间等分数为%d时牛顿柯特斯系数为:\ n′,n)R例1 n取5,6,7,8时相关运行结果如表1.上述程序求得的不同等分数n时的Cotes系数与文献[5]中所给的结果相同.3 复合Gauss求积算法的推导高斯型求积公式尽管有较高的精度,但它有一个明显缺点,当n值改变时节点和系数几乎同时都在改变.我们虽然可以通过查资料得到相应的系数和节点,但应用时却十分不方便.同时,余项公式都涉及被积函数的高阶导数,要利用它们来控制精度也十分困难.为克服这些缺点,实际计算中较多采用复合高斯型求积方法.表1 由程序运行求得的不同n时的Cotes系数n C n i5192882596251442514425961928864184093592803410592809354184074299871337162849640585338258533824964033716284299871824871095782783-111339197262-454283597262-111339157827832487109 复合高斯型求积的主要思想是[4-6]:先将积分区间[a,b]分成m个等长的小区间[ti-1,t i](i =1,2,…,m),然后在每个小区间上使用同一低阶高斯型求积公式算出积分的近似值,最后将它们相加即得积分∫b a f(t)d t的近似值G m,即:∫baf(t)d t=∑mi=1∫t it i-1f(t)d t=∑ni=1t i-t i-12∫1-1f[t i-1+t i2+t i-t i-12x]d x =h2∑ni=1∫1-1f[a+(i-12)h+h2x]d x≈h2∑mi=1∑nj=0A j f[a+(i-12)h+h2x j]=G m.其中h=b-am,Aj与tj(j=0,1,…,n)可通过查表得到.另外,可用相邻的两次计算结果Gm与G m+1的关系式Δ=G m+1-G mG m+1+1<ε来控制运算,其中ε为允许误差精度.4 复合Gauss求积算法的程序设计根据上述算法思路编写Matlab通用程序,代码如下:cleara=0;b=1;f=inline(′4/(1+x^2)′);m=1;ep s=10^-10;x2=[-0.5773502692,0.5773502692];A2=[1.0, 1.0];x3=[-0.7745966692,0,0.7745966692];A3= [0.5555555556,0.8888888889,0.5555555556];x4=[-0.8611363116,-0.3399810436, 0.3399810436,0.8611363116];A4=[0.3478548451,0.6521451549,0.6521451549,610.3478548451];f p rintf(′请输入所选择的高斯型求积公式的结点数L:\n′);f p rintf(′L的取值为:2,3,4\n′);L=input(′L=′);s witch L case2 x=x2;A=A2; case3 x=x3;A=A3; case4 x=x4;A=A4;ends=0;n=length(x);f or i=1:n s=s+A(i)3f((a+b)/2+x(i)3(b-a)/2);endG1=s3(b-a)/2;R(m)=G1;delta=1.0;while delta>ep s m=m+1;h=(b-a)/m;t=0; for i=1:m f or j=1:n t=t+A(j)3f(a+(i-1/2)3h+x(j)3h/2); end end G2=h3t/2;R(m,1)=G2;delta=abs(G2-G1)/(abs(G2)+1);G1=G2; end f p rintf(′用%d点复合高斯型求积公式求得的近似积分值:\n T=%16.16g\n′,L,G2) R例2 求积分∫1041+x2d x.(ε取1×10-10)我们知道,例题中所要计算的积分的结果是圆周率p i,在控制精度相同的情况下,不同的n 求得的结果如表2.表2 不同n时求得p i的近似值n近似值有效数字23.14159265403066933.141592653494111043.1415926535893113 可见,在相同控制精度的条件下,当节点数增大时,求得的近似积分结果的有效数字也增加.5 结语本文对Ne wt on-Cotes求积系数与复合Gauss型求积算法进行了推导,编写了相应的Matlab通用程序[6],并给出了相关例子.从例2可以看出,复合高斯求积公式具有较高的精度,且计算起来比较方便,上述程序的编写为它们的应用提供了方便.[参考文献][1]刘玉琏,傅沛仁.数学分析讲义[M].北京:高等教育出版社,2001:347-353.[2]吴世刚.牛顿-柯特斯公式的一致性[J].黄石教育学院学报,2002,19(4):93-95.[3]曾玉华,蒋光彪.一种自适应的四阶Ne wt on-Cotes求积方法[J].数学理论与应用,2005,25(4):68-69. [4]张世禄,万俊,陈豫眉,等.计算方法[M].成都:电子科技大学出版社,1999:164-173.[5]易大义,沈云宝,李有法.计算方法[M].杭州:浙江大学出版社,2002:114-119.[6]张铮,杨文平,石博强,等.MAT LAB程序设计与实例应用[M].北京:中国铁道出版社,2003:34-37.Program desi gn for coeff i c i en t of Newton-Cotes and i n tegra la lgor ithm of com pound GaussXU Xiao-yong1,J I N J ian-hua2(1.Schoo l of M a them a ti c s and I nf o r m a ti o n S c i e nce,Ea s t C hi na I ns titu te o f Te chno l o gy,Fuzho u J i angxi344000,C h i na;2.S choo lLe ague Comm itte e,Ea s t C hi na I ns titute of Te chno l o gy,Fuzho u J i angxi344000,C h i na)Abstract:The p r ogra m calculating of Cotes coefficient is given and the algorithm of compound Gauss integral is carried out under the Matlab envir onment.The si m ulati on results show the correctness of the p r ogra m.The t w o universal p r ogra m s p r ovide a convenient use for the m.Key words:Cotes coefficient;integral of compound Gauss;p r ogra m design(责任编辑 吴朝平)71。
复化柯特斯求积公式的程序设计与应用作者:龚有梅吴庆军
来源:《科学导报·学术》2019年第17期
摘 ;要:本文主要探究數值积分中的复化柯特斯公式,通过用计算机MATLAB语言编程主程序及有关命令对复化柯特斯公式进行多个求解定积分的例子说明算法有效性,用复化柯特斯公式能避免求解定积分时寻找原函数的困难以及能便捷与快速地解决问题.
关键词:柯特斯公式,程序设计,应用
1 引言
在解决实际问题中,例如工程计算中一些应用问题需要归纳到数学模型的数值计算问题,便经常需要计算定积分的值. 我们通常用数值积分计算方法求定积分的值,而复化柯特斯求积公式便是数值积分计算方法中的一种常用的计算方法.
目前复化柯特斯公式的研究异常活跃.郑华盛等人提出了一类计算定积分的高精度柯特斯校正公式,通过两种方法进行了推导,给出了它的复化公式及其加速公式,并得到了它们的误差估计和收敛阶[3].数值实验验证了复化柯特斯校正公式及其加速公式的高效性[3].兰亭等人结合定积分柯特斯公式与二重积分的特点,将柯特斯公式推广到二重积分的情形并给出了柯特斯公式的表达式及其误差公式,并结合积分中值定理推出其误差表达式[5].
本文主要探究求定积分的一个常用数值计算方法:复化柯特斯公式在解决积分问题中有什么作用,通过用计算机MATLAB语言编程主程序及有关命令对这个计算方法进行几种类型的
多个求解定积分的例子加以说明.
2 复化柯特斯公式的思想与算法
5 小结
本文探究了求定积分的一个常用数值计算方法:复化柯特斯公式,简单介绍国内一些专家对于复化柯特斯公式的一些研究.构造这个公式的计算方法和算法模型,用MATLAB语言编程这个公式的主程序和有关命令语句.采用实例的方式,即通过求解多个定积分的数值解,并用这个数值求积公式求得的一些数值解与精确值比较,获得的结果说明了构造的计算方法有效性,而且用复化柯特斯公式能避免求解定积分时寻找原函数的困难.使用计算机解决数值积分问题,更便捷与快速地解决问题.
参考文献
[1] ;孙志忠,吴宏伟,袁慰平,闻震初.计算方法与实习[M].东南大学出版社,2005.
[2] ;姜健飞,吴笑千,胡良剑.数值分析及其MATLAB实验[M].北京:清华大学出版社,2015.
[3] ;郑华盛,徐伟.柯特斯校正公式及其误差估计[J].数学的实践与认识,2011,41(17):183-188.
[4] ;付丽华,刘智慧,李宏伟.有关龙贝格求积方法的一点思考[J].大学数学,2017,33(06):66-70.
[5] ;兰亭,邹佳利,覃燕梅.二重积分integral from n=a to b(dx)integral from n=c to d(f (x,y)dy)的柯特斯公式及其误差分析[J].保山学院学报,2012,31(02):60-63.
资助项目:广西教育厅科学技研究(KY2015YB244)。