三种复化求积分算法的精度分析
复化梯形公式和复化Simpson公式
一、计算定积分的近似值:221x e xe dx =⎰ 要求:(1)若用复化梯形公式和复化Simpson 公式计算,要求误差限71021-⨯=ε,分别利用他们的余项估计对每种算法做出步长的事前估计;(2)分别利用复化梯形公式和复化Simpson 公式计算定积分;(3)将计算结果与精确解比较,并比较两种算法的计算量。
1.复化梯形公式程序:程序1(求f (x )的n 阶导数:syms xf=x*exp(x) %定义函数f (x )n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n 阶导数结果1输入n=2f2 =2*exp(x) + x*exp(x)程序2:clcclearsyms x %定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(2*exp(x) + x*exp(x))','x') %定义f(x)的二阶导数,输入程序1里求出的f2即可。
f3='-(2*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/12*((b-a)/n)^2*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hTn1=0for k=1:n-1 %求连加和xk=a+k*hTn1=Tn1+f(xk)endTn=h/2*((f(a)+2*Tn1+f(b)))z=exp(2)R=Tn-z %求已知值与计算值的差fprintf('用复化梯形算法计算的结果 Tn=')disp(Tn)fprintf('等分数 n=')disp(n) %输出等分数fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用复化梯形算法计算的结果 Tn=等分数 n=7019已知值与计算值的误差 R=2. Simpson公式程序:程序1:(求f(x)的n阶导数):syms xf=x*exp(x) %定义函数f(x)n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n阶导数结果1输入n=4f2 =4*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(4*exp(x) + x*exp(x))','x') %定义f(x)的四阶导数,输入程序1里求出的f2即可f3='-(4*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的四阶导数的最小值点,也就是求四阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hSn1=0Sn2=0for k=0:n-1 %求两组连加和xk=a+k*hxk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b)) %因Sn2多加了k=0时的值,故减去f(a)z=exp(2)R=Sn-z %求已知值与计算值的差fprintf('用Simpson公式计算的结果 Sn=')disp(Sn)fprintf('等分数 n=')disp(n)fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用Simpson公式计算的结果 Sn=等分数 n=24已知值与计算值的误差 R=用复化梯形公式计算的结果为:,与精确解的误差为:。
复化梯形和复化simposon求积分
课程设计报告课程名称数值逼近专业信息与计算科学班级姓名学号指导教师日期2011-06-27理学院应用数学系一、目的意义 (1) 进一步熟悉掌握复化梯形公式及其算法;(2) 进一步熟悉掌握复化Simpsom 公式及其算法;(3) 了解比较复化梯形公式和复化Simpsom 公式的代数精度。
二、内容要求积分计算问题:分别用复化梯形和复化Simpsom 求积公式计算积分dx e x x x 5.1402)(13-⎰-,并比较计算量(精度为10-8)。
三、问题解决的方法与算法方法:复化梯形和复化Simpsom 积分公式算法:输入:端点a 、b 以及要计算的积分公式f(x);输出:积分f(x)在指定区间上的近似值Step1:编写复化梯形和复化Simpson 积分公式Step2:输入所需的断点个数nSetp3:分别调用复化梯形和复化Simpson 积分公式数值积分及其应用 报告1Setp4:比较代数精度使其达到10-8Setp5:输出复化梯形和复化Simpson积分公式对应的值四、计算程序复化梯形积分公式:#include"stdio.h"#include"math.h"void main()#define n 4{float a,b,d,y;float h[n-2],k[n-2],s[n-1];a=0.0;b=4.0;printf("输出相邻节点间距:\n");d=(b-a)/n;printf("%f\n",d);printf("输出节点函数值:\n");for(int i=0;i<n+1;i++){h[i]=a+i*d;k[i]=13*(h[i]-h[i]*h[i])*exp(-1.5*h[i]);printf("k[%d]=%f\n",i,k[i]);}s[0]=k[0]+k[n];for(i=1;i<n;i++){s[i]=s[i-1]+2*k[i];}y=0.5*d*s[n-1];printf("输出积分值:\n");printf("%f\n",y);}复化抛物线积分公式:#include"stdio.h"#include"math.h"#define n 4void main(){float a,b,h;double x[100],k[100],y[100],g[100],z[100];printf("输入积分上下限:\n");scanf("%f %f",&a,&b);printf("输出积分步长:\n");h=(b-a)/4;printf("%f\n",h);for(int i=1;i<n;i++){x[i]=a+h*i;k[i]=x[i]-0.5*h;}k[n]=b-0.5*h;x[0]=a;x[n]=b;for(i=0;i<n+1;i++){y[i]=13*(x[i]-x[i]*x[i])*exp(-1.5*x[i]);} for(i=1;i<n+1;i++){g[i]=13*(k[i]-k[i]*k[i])*exp(-1.5*k[i]);} z[0]=y[0]+y[n];z[1]=0.0;z[2]=0.0;for(i=1;i<n;i++){z[1]=z[1]+y[i];}for(i=1;i<n+1;i++){z[2]=z[2]+g[i];}z[3]=h*(z[0]+2*z[1]+4*z[2])/6;printf("%f\n",z[3]);}五、计算结果与分析:复化梯形积分公式:复化抛物线积分公式:输出相邻节点间距:1.000000输出节点函数值:k[0]=0.000000k[1]=0.000000k[2]=-1.294464k[3]=-0.866502k[4]=-0.000026输出积分值:-6.482936Press any key to continue输入积分上下限:0 4输出积分步长:1.000000-1.608667Press any key to continue结果分析:通过该算法可以看出复化体形积分和simpson积分比梯形积分和抛物线积分具有更好的精度。
复化求积公式的算法及其应用
摘要在数值计算中,低阶牛顿柯特斯求积方法存在很多缺陷,从余项公式可以看出其要求提高求积公式的代数精度,必须增加结点个数,会导致插值多项式出现龙格现象,且数值稳定性不能保证.基于以上原因,我们往往采用复化求积方法,此方法不仅可以克服以上缺点而且便于在计算机上实现,值得研究和学习.在本课程设计中,我们首先从复化求积公式的思想引入,然后详细介绍复化梯形求积公式、复化辛普森求积公式和复化柯特斯求积公式的推导过程和相关性质,再对三种求积公式进行比较和总结,其次画出三种求积公式的流程图,最后通过求解例题写出三种求积算法的程序设计.关键词复化求积算法;流程图;程序设计目录引言 (1)第一章复化求积算法 (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年.附录A 1.复化梯形求积公式的程序设计:(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 复化柯特斯求积公式计算弧长结果19。
复化求积公式的算法及其应用
复化求积公式的算法及其应用复化求积公式是数值计算方法中重要的一种技术,用于近似计算函数的积分值。
该方法通过将积分区间等分为多个小区间,并在每个小区间上使用求积公式来估计函数在该区间上的积分值。
本文将介绍复化求积公式的算法及其应用。
一、复化求积公式算法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.金融学中的积分计算,用于计算金融衍生品的价格或价值。
总结:复化求积公式是一种重要的数值计算方法,在数学、物理、统计、工程、金融等领域中有广泛的应用。
第五讲 复化求积公式
四、自动选取积分步长
事前确定步长的问题 (1) 高阶导数的估计往往是很困难的; (2) 这种估计往往是很保守的,得到的n往往偏大。 为了改正上述缺点,实际常采用“事后估计法” “事后估计法”的基本思想是 (1) 求数值积分时,将区间逐次分半; (2) 利用前后两次的计算结果来判断误差是否满足精度要求, 从而确定n. 下面以复化梯形公式为例来介绍这种步长逐次减半求积法
1 h n1 T f (x ), n k1 2 2 2k0
如何根据Tn和T2n来确定误差是否满足要求?
(ba ) 2 I Tn ( h f ) 1 2 ba h 2 I T2n ( ( ) f ) 1 2 2
则有
如果二阶导数在区 间[a,b]上变化不大
n 1
R (Tn )
复化simpson公式的截断误差
( 4 ) 若 函 数 f ( x )[ 在 a ,] b 上 连 续 , 则
ba 4 (4) h5 (4) hf ( ) R ( S n ) f ( k ) I Sn 2 8 8 0 8 8 0 k0 2
0 . 9 4 6 0 8 3 2
1 1 C2 [ 7 f( 0 ) [ 3 2 f( x 1) 1 2 f( x 2) 3 2 f( x 3) ] k k k 1 8 0 k 0 4 4 4
1 4 f( x 7 f( 1 ) ] k)
k 1
1
0 . 9 4 6 0 8 3 0
n 1 h [ 7 f ( x ) 3 2 f ( x ) 1 2 f ( x ) 3 2 f ( x ) 7 f ( x ) ] k 1 2 3 k 1 k k k 9 0 k 0 4 4 4
数值分析中的复化梯形法误差分析
数值分析中的复化梯形法误差分析数值分析中的复化梯形法误差分析在数值分析中,复化梯形法是一种常用的数值积分方法。
它使用梯形规则进行近似求解定积分,通过将定积分区间分割成若干个小区间,并在每个小区间上使用梯形规则进行求解,最后将各个小区间上的积分结果相加得到整个定积分的近似值。
本文将对复化梯形法进行误差分析。
1. 复化梯形法原理复化梯形法的原理是将定积分区间[a, b]等分为n个小区间,令h=(b-a)/n为小区间长度,梯形法的近似结果T可以表示为:T = h/2 * (f(a) + 2*f(x1) + 2*f(x2) + ... + 2*f(x(n-1)) + f(b))其中,f(x)为被积函数在x点处的取值。
2. 复化梯形法误差分析复化梯形法的误差主要包括局部误差和全局误差。
2.1 局部误差在每个小区间上,我们使用梯形规则进行积分计算,其误差可以通过泰勒展开进行推导。
设f(x)在[a, b]区间上具有充分高阶连续导数,则对于每个小区间[xk, x(k+1)],我们有如下局部误差公式:E_local = - (h^3/12) * f''(ξ)其中,ξ为[xk, x(k+1)]上的某点,f''(ξ)为f(x)的二阶导数在ξ点的取值。
2.2 全局误差全局误差是指整个区间[a, b]上的积分近似与真实积分之差。
复化梯形法的全局误差可以通过对各个小区间上的局部误差进行累加得到。
假设积分的真实值为I,则全局误差E_global可以表示为:E_global = (b-a) * (h^2/12) * f''(ξ)其中,ξ为[a, b]区间上的某点,f''(ξ)为f(x)的二阶导数在ξ点的取值。
3. 误差分析实例为了更好地理解复化梯形法的误差特点,我们以一个具体的例子进行分析。
考虑定积分∫(0, 1)sin(x)dx的近似求解,将积分区间等分为4个小区间进行计算。
利用数值积分公式求解积分方程 分别用复化求积公式和高斯型求积公式
利用数值积分公式求解积分方程分别用复化求积公式和高斯
型求积公式
数值积分方法通常用于求解无法解析求解的定积分问题,其中复化求积公式和高斯型求积公式是两种常见的数值积分方法。
1. 复化求积公式:
复化求积公式是通过将积分区间等分成多个小区间,并在每个小区间上采用简单的数值积分公式来逼近原积分问题。
常见的复化求积公式包括梯形法则和Simpson法则。
梯形法则:将积分区间[a, b]等分成n个小区间,每个小区间
用梯形面积的方法求解,然后将各个小区间的积分结果相加得到最终的积分近似值。
Simpson法则:将积分区间[a, b]等分成n个小区间,每个小区
间用Simpson公式求解,然后将各个小区间的积分结果相加得到最终的积分近似值。
2. 高斯型求积公式:
高斯型求积公式是通过将积分区间映射为[-1, 1]上的积分问题,然后通过选取合适的节点和权重,将原积分问题转化为有限个加权节点的求和问题。
常见的高斯型求积公式包括Gauss-Legendre公式和Gauss-Hermite公式。
Gauss-Legendre公式:适用于求解定义在[-1, 1]区间上的定积
分问题,根据节点个数的不同,可以得到不同阶数的Gauss-Legendre公式。
Gauss-Hermite公式:适用于求解定义在整个实数轴上的定积分问题,通过选取合适的节点和权重,将原积分问题转化为有限个加权节点的求和问题。
总结:复化求积公式适用于一般的定积分问题,可以通过合理选择划分区间和数值积分公式来提高数值积分的精度。
而高斯型求积公式通常适用于具有特殊形式或定义域的定积分问题,可以通过选取合适的节点和权重来获得较高的数值积分精度。
matlab软件求解数值积分及复化梯形公式、复化公式估计误差的方法心得
MATLAB软件是数值计算和科学计算的强大工具,尤其在数值积分和数值微积分中,它提供了许多内置函数,可以快速有效地解决各种问题。
以下是我使用MATLAB求解数值积分,以及使用复化梯形公式和复化公式估计误差的一些心得:1. 数值积分:MATLAB的内置函数`integral`可以用于数值积分。
这个函数使用自适应Simpson方法,可以处理复杂函数的积分。
我发现,对于一些非标准函数,`integral`函数能够给出相当精确的结果。
2. 复化梯形公式:复化梯形公式是一种数值积分的方法,它通过把积分区间分成许多小的子区间,然后在每个子区间上应用梯形法则来近似积分。
在MATLAB中,我们可以使用梯形法则的公式来实现这个方法。
值得注意的是,为了得到更精确的结果,我们需要将子区间的数量增加。
3. 复化公式估计误差:估计复化梯形公式的误差是重要的,因为它可以帮助我们了解我们的近似有多准确。
误差可以通过比较复化梯形公式的近似值和真实值来估计。
在MATLAB中,我们可以使用try-catch语句来捕获可能的错误,并据此调整我们的近似。
4. 细心和耐心:在使用MATLAB进行数值计算时,细心和耐心是关键。
我们需要仔细检查我们的代码,确保所有的变量都被正确地定义和使用。
同时,由于数值计算可能会产生一些意想不到的结果,我们需要有耐心去调试和优化我们的代码。
5. 理解你的算法:对于任何数值方法,理解其背后的数学原理是非常重要的。
这不仅可以帮助你理解你的代码是如何工作的,而且当出现问题时,你可以更有效地找到问题的根源。
6. 使用MATLAB的文档和社区:MATLAB的文档非常全面,对于不熟悉某个函数或方法的人来说,查阅文档是非常有帮助的。
此外,MATLAB的社区也非常活跃,当你遇到问题时,你可以在这里寻求帮助。
以上就是我在使用MATLAB求解数值积分以及使用复化梯形公式和复化公式估计误差的一些心得。
总的来说,MATLAB是一个功能强大的工具,但是要充分利用它,我们需要理解其背后的数学原理,耐心地调试我们的代码,并善于利用其文档和社区资源。
数值分析复化梯形公式和复化三点Gauss公式
数值分析第六次程序作业PB09001057 孙琪【问题】利用复化梯形积分公式和复化3点Gauss 积分公式计算积分的通用程序计算下列积分;I 1(f )=∫e −x2dx 10, I 2(f )=∫11+x 2dx 4, I 3(f )=∫12+cos (x)dx 2π, 取节点x i , i =0,…,N,N 为2k ,k =0,1,…,7,给出误差表格并简单分析你得到的数据。
【复化梯形积分公式】梯形法则:对两个节点相应的积分法则称为梯形法则:∫f (x )dx ≈b −a2ba [f (a )+f (b )] 如果划分区间[a,b]为:a =x 0<x 1<⋯<x n =b那么在每个区间上可应用梯形法则,此时节点未必是等距的,由此得到复合梯形法则:∫f (x )dx =∑∫f (x )dx x ix i−1ni=1ba ≈12∑(x i −x i−1)[f (x i−1)+f (x i )]ni=1对等间距h=(b-a)/n 及节点x i =a +ih ,复合梯形法则具有形式:∫f (x )dx ≈h2[f (a )+2∑f (a +ih )n−1i=1+f (b )]ba误差项为:−112(b −a )h 2f ′′(δ)【复化3点Gauss 积分公式】对给定的正的权函数w ,高斯求积法则的一般形式是:∫f (x )w (x )dx ba≈∑A i f(x i )ni=0对f ∈n 次多项式精确成立, A i =∫w(x)∏x−x j x i −x jnj=0j≠ibadx 。
复化3点Gauss 积分公式中:首先通过坐标变换将[x i ,x i+1]变为[-1,1],然后通过三点高斯积分公式:∫f (x )dx 1−1≈59f (−√35)+89f (0)+59f (√35)计算即可。
最后将所有的区间加起来就得到我们要的结果。
【算法分析】复合梯形法则和复化3点Gauss 积分法则的算法上述描述中都已介绍了,在此不多做叙述。
复化中点数值积分的高精度算法
复化中点数值积分的高精度算法
复化中点数值积分是一种常见的数值积分方法,用于求解不可积的强制微分方程。
它主要是以中点积分方式来计算积分,即在积分区间中把该区间划分为若干小区间,然后利用每个小区间中点的函数值进行计算,从而求出整个积分区间的积分值。
复化中点数值积分的原理很简单,它把一个复杂的积分区间划分成若干小的区间,在每个小区间中取点,利用这些取点的函数值进行积分,最后求出整个积分区间的积分值。
与普通的中点积分方法相比,复化中点数值积分的优势在于,它可以准确地求解出积分区间的积分值,而且能够更高的精度。
在实际应用中,复化中点数值积分可以用来求解复杂的微分方程,例如弹力学、压力学中的复杂积分,也可以用来计算经典力学中的经典积分,如介质中的声学和光学积分等。
此外,复化中点数值积分也可以用来解决许多非线性结构动力学问题,如结构弹性、振动、压力和质量等。
为了获得更高精度的积分结果,复化中点数值积分中采用了一种高精度算法,该算法在积分过程中引入了多个系数,这些系数可以提高积分结果的精度,使结果尽可能接近实际的积分值。
此外,该算法还在中点积分过程中引入了多项式和指数函数,这可以有效地提高积分精度,同时也可以更好地处理曲线和曲面上的数据。
总之,复化中点数值积分是一种常用的数值积分方法,它可以较高精度地求解复杂的微分方程,并且通过引入多项式、指数函数等来提高积分精度,更好地处理曲线和曲面上的数据。
复化梯形公式和复化Simpson公式
数值计算方法上机题目3一、计算定积分的近似值:221x e xe dx =⎰ 要求:(1)若用复化梯形公式和复化Simpson 公式计算,要求误差限71021-⨯=ε,分别利用他们的余项估计对每种算法做出步长的事前估计;(2)分别利用复化梯形公式和复化Simpson 公式计算定积分;(3)将计算结果与精确解比较,并比较两种算法的计算量。
1.复化梯形公式程序:程序1(求f (x )的n 阶导数:syms xf=x*exp(x) %定义函数f (x )n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n 阶导数结果1输入n=2f2 =2*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(2*exp(x) + x*exp(x))','x') %定义f(x)的二阶导数,输入程序1里求出的f2即可。
f3='-(2*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/12*((b-a)/n)^2*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hTn1=0for k=1:n-1 %求连加和xk=a+k*hTn1=Tn1+f(xk)endTn=h/2*((f(a)+2*Tn1+f(b)))z=exp(2)R=Tn-z %求已知值与计算值的差fprintf('用复化梯形算法计算的结果 Tn=')disp(Tn)fprintf('等分数 n=')disp(n) %输出等分数fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用复化梯形算法计算的结果 Tn= 7.3891等分数 n=7019已知值与计算值的误差 R= 2.8300e-0082. Simpson公式程序:程序1:(求f(x)的n阶导数):syms xf=x*exp(x) %定义函数f(x)n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n阶导数结果1输入n=4f2 =4*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(4*exp(x) + x*exp(x))','x') %定义f(x)的四阶导数,输入程序1里求出的f2即可f3='-(4*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的四阶导数的最小值点,也就是求四阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hSn1=0Sn2=0for k=0:n-1 %求两组连加和xk=a+k*hxk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b)) %因Sn2多加了k=0时的值,故减去f(a)z=exp(2)R=Sn-z %求已知值与计算值的差fprintf('用Simpson公式计算的结果 Sn=')disp(Sn)fprintf('等分数 n=')disp(n)fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用Simpson公式计算的结果 Sn= 7.3891等分数 n=24已知值与计算值的误差 R= 2.7284e-008用复化梯形公式计算的结果为:7.3891,与精确解的误差为:2.8300e-008。
三种复化求积分算法的精度分析
【摘要】分别利用复化梯形公式、复化simpson公式和复化gauss-legendre i型公式对定积分进行运算,得到近似数值解,并对各算法的精度和计算复杂度进行了比较与分析。
数值举例结果表明,三种复化求积分算法的运算结果均在绝对误差限ε=5e-8内,并且在相同的精度下,复化gauss-legendre i型公式的步长和计算量最小。
【关键词】复化梯形公式;复化simpson公式;gauss-legendre公式1 引言数值积分是计算数学的基本内容,在工程技术和科学计算中起着十分重要的作用,当积分的精确值不能不能求出时,数值积分就变得越来越重要。
通常数值积分的计算常利用机械积分来实现,其基本思想为:(1)2 理论模型2.1 复化梯形求积公式将区间[a,b]划分成n等分,分点xk=a+kh(,k=1,2,3…n),在每个子区间[xk,xk+1] (k=1,2,3 …n-1)上采用梯形式,则得到(2)记(3)上式(3)为复化梯形公式,其余项可由式,(a≤η≤b)(4)得,ηk∈[xk,xk+1] (5)由于f(x)∈c2[a,b]且,(0≤k≤n-1)(6)所以?∈(a,b),使(7)于是复化梯形公式余项为(8)2.2 复化simpson求积公式将区间[a,b]划分为n等分,在每个子区间[xk,xk+1]上采用simpson式,若记,则得(9)记(10)上式(10)为复化simpson求积公式,其余项可由式,(a≤η≤b)(11)得,ηk∈[xk,xk+1] (12)于是当f(x)∈c4[a,b]时,与复化梯形公式相似有,η∈[a,b] (13)2.3 复化gauss-legendre i型求积公式gauss型求积公式是具有最高代数精度的插值求积公式。
通过适当选取求积公式(1)的节点ε=5e-8和求积系数ak≥0和xk∈[a,b] (k=1,2,3…n),可使其代数精度达到最高的2n+1次。
利用特殊区间[-1,1]上n+1次legendre正交多项式的根作为节点,我们可以建立gauss-legendre型求积公式。
复化求积分
)
实际计算中的递推公式为 b−a T1 = [ f (a ) + f (b )] 2 1 b − a n −1 b−a T2 n = Tn + ∑ f (a + (2 j + 1) 2n ), 2 2n j = 0
n = 1, 2, ⋯
直到 | T2n − Tn |≤ ε 为止,T2n作为积分的近似值。
假定f ''( x )在[a , b]上变化不大, 即有f ''(η1 ) ≈ f ''(η 2 ), 于是得
I − Tn ≈4 I − T2 n
1 1 ∴ I ≈ T2 n + (T2 n − Tn ) 或 I − T2 n ≈ (T2 n − Tn ) 3 3 1 I 当 T2 n − Tn ≤ ε 时 , − T2 n ≤ ε ≤ ε 。 3 数值分析
数值分析
数值分析
同理可得变步长复化柯特斯公式
实际计算过程如下: 实际计算过程如下: T1 → T2 ↓ S1 → T4 ↓ S2 ↓
C1 →
→ →
T8 ↓ S4 ↓
C2 ↓ R1
→ →
T2 n =
1 1 Tn + H n 2 2
h2 h4
1 S n = ( 4T2 n − Tn ) 3
42 S 2n − S n Cn = 42 − 1 43 C 2n − C n Rn = 43 − 1
1 2 已 知 S n = Tn + H n 3 3 1 1 又 有 T2 n = Tn + H n 2 2 两式联立解得: 1 2 1 S n = Tn + (2T2 n − Tn) (4T2 n − Tn) = 3 3 3
复积分的各种计算方法与应用解析
第1章 引言曹1.1研究背景及研究内容复变函数的积分理论是复变函数理论的重要组成部分,是研究解析函数的重要工具之一.但对于如何计算复变函数积分以及如何处理有关复变函数积分的问题,往往很难迅速找到解决问题的方法.因此,理解复变函数积分,并能够灵活运用复积分计算方法进行复积分计算就显得极其重要.复积分中的Cauchy 积分定理在理论上处于关键地位,由它派生出的Cauchy 积分公式、留数定理、辐角原理等都涉及到积分的计算问题.解析函数在孤立奇点的留数原本是一个积分,而实际计算却需要Laurent 展式.因而把积分与级数结合起来的留数定理使复积分理论甚至是复变函数理论达到高潮,且其用途十分广泛.因此,研究复变函数积分计算的各种方法有着非常重要的意义,本文以所列参考文献[3]中的复积分计算方法为基础,并通过查阅相关资料,借鉴了文献[4]-[7]的结果,总结复积分计算的各种方法,并通过应用[1],[2],[8],[9]中的相关知识和方法,对所列出的每种方法作典型例证和分析.1.2预备知识定义1.1[3] 复积分 设有向曲线C :()()βα≤≤=t t z z ,,以()αz a =为起点,()βz b =为终点,()z f 沿C 有定义.顺着C 从a 到b 的方向在C 上依次取分点:011,,,,n n a z z z z b -==.把曲线C 分成若干个弧段.在从1-k z 到k z ()n k ,..,2,1=的每一弧段上任取一点k ζ.作成和数()1nn k k k S f z ζ==∆∑,其中1k k k z z z -∆=-.当分点无限增多,而这些弧段长度的最大值趋于零时,如果和数n S 的极限存在且等于J ,则称()z f 沿C (从a 到b )可积,而称J 为()z f 沿C (从a 到b )的积分,并记以()cf z dz ⎰.C 称为积分路径. ()cf z dz ⎰表示沿C 的正方向的积分,()c f z dz -⎰表示沿C 的负方向的积分.定义1.2[3] 解析函数 如果函数()z f 在0z 点及()z f 的某个邻域内处处可导,那么称 ()z f 在0z 点解析,如果()z f 在区域D 内解析就称()z f 是D 内的一个解析函数.定义1.3[3] 孤立奇点 若函数()z f 在点的0z 邻域内除去点0z 外处处是解析的,即在去心圆域{}00()N z z z z δδ=-<内处处解析,则称点0z 是()z f 的一个孤立奇点.定义 1.4[3] 留数 函数()z f 在孤立奇点0z 的留数定义为()12c f z dz iπ⎰,记作()0Re ,s f z z ⎡⎤⎣⎦.第2章 复积分的各种计算方法2.1复积分计算的常见方法(1)参数方程法定理[3] 设光滑曲线:()()()()C z z t x t iy t t αβ==+≤≤,(()z t '在[,]αβ上连续,且()0z t '≠),又设()f z 沿C 连续,则()d [()]()d Cf z z f z t z t t βα'=⎰⎰.(α、β分别与起、终点对应)1.若曲线C 为直线段,先求出C 的参数方程C 为过12,z z 两点的直线段,1211:(),[0,1],C z z z z t t z =+-∈为始点,2z 为终点.例1 计算积分1Re d iz z -⎰,路径为直线段.解 设1(1)(1),[0,1]z i t t it t =-++=-+∈,则112101Re d (1)d 22iiz z t i t t t i -⎛⎫=-=-=- ⎪⎝⎭⎰⎰2.若曲线C 为圆周的一部分,例如C 是以a 为圆心,R 为半径的圆. 设:C z a R -=,即Re ,[0,2]i z a θθπ=+∈,(曲线的正方向为逆时针). 例2 计算积分d ,Cz z C ⎰为从1-到1的下半单位圆周.解 设,d d ,[,0]i i z e z ie θθθθπ==∈-,d (cos sin )d 2Cz z i i πθθθ-=+=⎰⎰.用Green 公式法也可计算复积分, Green 公式法是参数方程法的一种具体计算方法.例3 设C 为可求长的简单闭曲线,A 是C 所围区域的面积,求证:2czdz iA =⎰.证明 设z x iy =+,则ccczdz xdx ydy i xdy ydx =++-⎰⎰⎰由Green 公式,有:0cxdx ydy +=⎰2cxdy ydx A -=⎰得证.本题目用Green 公式解决了与区域面积有关的复积分问题. (2)用Newton-Leibnize 公式计算复积分在积分与路径无关的条件下(即被积函数()f z 在单连通区域内处处解析)也可直接按类似于实积分中的Newton-Leibnize 公式计算.例4 计算222(2)d i z z -+-+⎰.解 因为2()(2)f z z =+在复平面上处处解析,所以积分与路径无关.22222322221(2)d (44)d 2433ii i iz z z z z z z z -+-+-+---+=++=++=-⎰⎰.(3)用Cauchy 定理及其推论计算复积分Cauchy 积分定理[3] 设函数()f z 在复平面上的单连通区域D 内解析,C 为D 内任一条周线,则()d 0Cf z z =⎰.Cauchy 积分定理的等价定理[3]设函数()f z 在以周线C 为边界的闭域D D C =+上解析, 则()d 0Cf z z =⎰例5 计算2d ,22C zC z z ++⎰为单位圆周1z =.解 1z =是21()22f z z z =++的解析区域内的一闭曲线,由Cauchy 积分定理有2d 022C zz z =++⎰. 注1 利用Cauchy 积分定理也有一定的局限性,主要是要求被积函数的解析区域是单连通的,计算起来较为方便.注2 此题可用参数方法,但计算要复杂得多,而用Cauchy 积分定理很简单. 另外,Cauchy 积分定理可推广到复周线的情形.定理[3] 设D 是由复周线012nC C C C C ---=++++ 所围成的有界1n +连通 区域,函数()f z 在D 内解析,在D D C =+上连续,则()0Cf z dz =⎰,或写成 ()()()010nC C C f z dz f z dz f z dz --++=⎰⎰⎰,或写成 ()()()010nC C C f z dz f z dz f z dz --++=⎰⎰⎰.这也是计算复积分的一个有力工具,即复函数沿区域外边界曲线的积分等于沿区域内边界积分的和.适用于积分曲线内部含被积函数奇点的情形.例6计算22d C zz z z -⎰的值,C 为包含圆周1z =的任何正向简单闭曲线. 解 2211d d 1C C z z z z z z z ⎛⎫=+ ⎪--⎝⎭⎰⎰,分别以0,1z z ==为心做两个完全含于C 且互不相交的圆周12,C C ,则有12221111d d d 11C C C z z z z z z z z z z ⎛⎫⎛⎫=+++ ⎪ ⎪---⎝⎭⎝⎭⎰⎰⎰ 11221111d d d d 11C C C C z z z z z z z z =+++--⎰⎰⎰⎰ 20024i i i πππ=+++=.(4)用Cauchy 积分公式计算复积分Cauchy 积分公式[3] 设区域D 的边界是周线(或复周线),()C f z 在D 内解析,在D D C =+上连续,则有1()()d ()2C f f z z D i zζζπζ=∈-⎰.Cauchy 积分公式可以解决积分曲线内有被积函数的奇点的积分问题.例7 计算2d 1zCe z z +⎰,其中C 为圆周2z =. 解 因被积函数的两个奇点是,i i -,分别以这两点为心做两个完全含于C 且互不相交的圆周12,C C .则有1212222d d d d d 111z z z z zC C C C C e e e e e z i z i z z z z z z z z z iz i +-=+=++++-+⎰⎰⎰⎰⎰22()zzi i z iz ie e iie e z iz i πππ-==-=+=-+-.此题是Cauchy 积分公式与Cauchy 积分定理复周线情形的结合. (5)用解析函数的高阶导数公式计算复积分 Cauchy 积分公式解决的是形如()d ,()C f z D zζζζ∈-⎰的积分,那么形如()d ,()()n C f z D z ζζζ∈-⎰的积分怎样计算呢?利用解析函数的高阶导数公式()1!()()d ,()(1,2,)2()n n C n f f z z D n i z ζζπζ+=∈=-⎰可解决此问题.例8 计算22d ,(1)zC e z C z +⎰为2z =.解 因被积函数的两个奇点是,i i -,分别以这两点为心做两个完全含于C 而且互不相交的圆周12,C C .12222222d (1)d d (1)(1)zC zzC C e z z e ez z z z +=+++⎰⎰⎰1222222222()()d d ()()22()()(1)()2z zC C z z z iz ii i e e z i z i z z z i z i e e i i z i z i i e ie πππ==--+-=+-+''⎡⎤⎡⎤=+⎢⎥⎢⎥+-⎣⎦⎣⎦=--⎰⎰注 Cauchy 积分公式与解析函数的高阶导数公式在计算复积分时的主要区别在于被积函数分母的次数是否为一次因式,二者在计算时都常与Cauchy 积分定理复周线情形相结合.(6)用留数定理计算复积分留数定理[3] 设函数()z f 在以C 为边界的区域D 内除12,,,n a a a 外解析,且连续到C ,则()()12Re k nCz a k f z dz i s f z π===∑⎰.例9 计算2252d (1)z z z z z =--⎰.解 252()(1)z f z z z -=-在圆周2z =内有一阶极点0z =,二阶极点1z =.20052Re ()2(1)z z z s f z z ==-==--,1152Re ()2z z z s f z z =='-⎛⎫== ⎪⎝⎭,由留数定理()221052d 2Re ()Re ()2(22)0(1)z z z z z i sf z s f z i z z ππ===-=+=-=-⎰. 留数计算方法的改进留数是复变函数中的一个重要的概念,一般的复变函数专著对函数在极点处的留数通常采用下面三个引理中叙述的计算方法进行计算,即引理1[3] 若a 为()f z 的m 阶极点,即()()()mz f z z a ϕ=-,其中()z ϕ在a 解析,且()0a ϕ≠,则()()1Re ()(1)!m z a a s f z m ϕ-==-.引理2[3]若()()()z f z z ϕψ=,其中(),(z z ϕψ在a 解析,()0a ϕ≠,()0,()0a a ψψ'=≠,则()Re ()()z aa s f z a ϕψ=='. 引理3[3] 设()f z 在扩充复平面上除12,,,,n a a a ∞外解析,,则()f z 在各点的留数总和为零,即1Re ()Re ()0k nz z a k s f z s f z =∞==+=∑.在实际运用中,发现以上三个引理所给公式应用范围有限,对有些留数的计算效果不佳.为了使计算简化、公式更为通用,下面通过三个定理给出三个改进的留数计算公式,并相应的给出算例.定理1[6] 设a 是()h z 的m 阶零点,也是()g z 的m 阶零点,则()()()g z f z h z =在a点的留数为111d Re ()lim ()()(1)!d m mm z a z a s f z z a f z m z --→=⎡⎤=-⎣⎦-. 证明 因为a 为()f z 的m n -阶极点,则()f z 在点a 的邻域内可展开为()1()1()1()101()()()()()m n m n m n m n f z C z a C z a C z a C C z a ----------=-+-++-++-+.则11()1()10()()()()()()m n n m m m n m n z a f z C z a C z a C z a C z a +-------=-+-++-+-+.两端求1m -阶导数,令z a →,则1111d lim ()()(1)!d m mm z a C z a f z m z ---→⎡⎤=-⎣⎦-. 运用定理1只需判断()f z 分母零点的阶数,不必判断分子的零点阶数及()f z 极点的阶数,它简化了一些分式函数留数的计算.推论1[6] 设()()()nz f z z a ϕ=-,其中()z ϕ在点a 解析,则(1)1Re ()()(1)!n z as f z a n ϕ-==-. 例10 求225(1)()z e f z z -=在孤立奇点处的留数.解 因为0z =是5()h z z =的5阶零点,据推论1[6],有44522440001d 1d 28Re ()lim (())lim (1)4!d 4!d 3z z z z s f z z f z e z z →→==⋅=-=. 定理2[6] 设a 为()()()z f z z ϕψ=的一阶极点,且(),()z z ϕψ在a 解析,z a =为()z ϕ的m 阶零点,为()z ψ的1m +阶零点,则()(1)(1)()Re ()()m m z a m a s f z a ϕψ+=+=. 证明 由假设可得112112()()(),()()()m m m m m m m m z a z a a z a z b z a b z a ϕψ++++++=-+-+=-+-+.又a 为()f z 的一阶极点,则1101()()()f z C z a C C z a --=-++-+,即1101()()()()z z C z a C C z a ϕψ--⎡⎤=-++-+⎣⎦.比较系数得11mm a C b-+=,而()(1)1()(),!(1)!m m m m a a a b m m ϕϕ++==+,由此解得()1(1)(1)()()m m m a C a ϕψ-++=. 例11 计算积分31sin d (1)z z z zz e =-⎰.解 被积函数在单位圆内只有0z =一个奇点,且0z =是3()(1)z z e ψ=-的三阶零点,是()sin z z z ϕ=的二阶零点,又23()2cos sin ,()32427z z z z z z z z e e e ϕψ'''''=-=-+-.由定理2[6],得(2)(3)0(21)(0)Re ()1(0)z s f z ϕψ=+==-.另外,对于多个奇点留数的和利用定理1、定理2相当麻烦,于是通过对引理3进行改进得到如下一种更简便的方法.定理3[6] 设()()()P z f z Q z =,其中110()(0)n n n n n P z a z a z a a --=+++≠,110()(0)m m m m m Q z b z b z b b --=+++≠,则有以下结论:(1)当2m n -≥时,Re ()0z s f z =∞=; (2)当1m n -=时,Re ()nz ma s f zb =∞=-; (3)当0m n -≤时,设()()()()P z R z Q z r z =+,其中(),()R z r z 为z 的多项式,且()r z 的次数小于m ,则()Re ()Re ()z z r z s f z sQ z =∞=∞=,化为1)或2). 此定理的结论是求有理函数()f z 在∞点留数的一个好方法,使用起来很方便.当分子次数比分母高时,可用综合除法转化为1)或2)的情形.例12 计算积分152244d (1)(2)z z I z z z ==++⎰.解 被积函数在4z =内部有6个奇点,计算它们十分麻烦,利用留数定理[3] 及引理3[3]有2Re ()z I i s f z π=∞=-.再利用定理3[6],1,1m m a b ==,则R e ()1mz ma s f zb =∞=-=-,故2I i π=. 例13 求221d ()1n n n z z z I z n N z =-+=∈+⎰. 解 设被积函数()f z 的n 个极点为(1,2,)k z k n =,并且()f z 在2z =外部无极点,利用留数定理及引理3[3],12Re ()2Re ()k nz z z k I i s f z i s f z ππ==∞===-∑,而213()211n n nn n z z f z z z z -+==-+++,利用定理3[6]0,1;32Re 6,1.1nz n I i si n z ππ=∞>⎧=-=⎨=+⎩ 注 运用定理3[6]求有理函数()f z 在∞点的留数特别简洁,并且利用它求()f z 在孤立奇点的留数可以达到事半功倍的效果.(7)用级数法计算复积分连续性逐项积分定理[3]设()n f z 在曲线C 上连续(1,2,3,n =…),()1n n f z +∞=∑在C上一致收敛于()f z ,则()f z 在曲线C 上连续,并且沿C 可逐项积分:()()1n ccn f z dz f z dz +∞==∑⎰⎰.将函数展成Taylor 级数或Laurent 级数就解决了该类复积分的有关问题.例14 计算积分11,:2n c n z dz C z ∞=-⎛⎫= ⎪⎝⎭∑⎰.解 在12z <内,有:1111n n z z z ∞=-=+-∑所以 1112021n c c n z dz dz i i z z ππ∞=-⎛⎫⎛⎫=+=+= ⎪ ⎪-⎝⎭⎝⎭∑⎰⎰. 例15 设()f z 在圆环0z a R <-<内解析,且()()lim 0z az a f z →-=,证明:在圆环0z a R <-<内,有()()12a r f f z dz i zηηπη-==-⎰ ()0r R <<. 证明 因为()f z 在圆环0z aR<-<内解析,故有()()nn fz C z a=-∑0z a R <-<,于是 ()()()()()()21320112n nn nC C C z a fC z a C z a C z a C z a z a z a +-----=-+-++-+++++++---由()()lim 0z az a f z →-=,得120n C C C --====,则()0n n n f z C Z ∞==∑在z a R -<内解析,根据Cauchy 积分定理可得:()()12a r f f z dz i zηηπη-==-⎰ ()0r R <<. (8)用Laplace 变换法计算复积分定义[4] 设()f t 是定义在[)0,+∞上的实函数或复函数,如果含复变量p is σ=+(,s σ为实数)的积分()0pt f t e dt +∞-⎰在p 的某个区域内存在,则由此积分定义的复函数()()0pt F p f t e dt +∞-=⎰称为函数()f t 的Laplace 变换,简记为()()F p L f t =⎡⎤⎣⎦. 计算该类复积分时,可先运用Laplace 变换的基本运算法则(线性关系、相似定理、位移定理、象函数微分法、本函数微分法、本函数积分法、延迟定理、卷积定理等),将该类复积分化为()F p 的形式,再参照Laplace 变换表,得出相应的复积分结果.例16 计算积分011cos 2pz e dz az a z π∞-⎰. 解 令 ()11cos 2f az az a z π= 则 ()011cos 2pz L f az e dz az a zπ∞-=⎡⎤⎣⎦⎰ 由相似定理有 ()1p L f az F a a ⎛⎫=⎡⎤ ⎪⎣⎦⎝⎭由Laplace 变换表得/1cos //p a p F e p a a p a -⎛⎫= ⎪⎝⎭所以 /01111cos cos /2/p a pz p e dz F e p a az a a a z a p a π∞--⎛⎫== ⎪⎝⎭⎰ .2.2各种方法的选择原则及其联系上一节给出了复积分的各种计算方法.那么,碰到有关复积分计算的题目时,我们到底应该如何选择具体的计算方法,简便而快捷地进行计算呢.这是本节所要探讨的主要问题.我们知道,复积分是由三部分构成的,即积分路径、被积函数以及积分微元。
数值分析中的复化梯形法误差控制技巧
数值分析中的复化梯形法误差控制技巧在数值计算中,精确的数值近似是非常重要的。
当进行数值积分时,我们常常使用复化梯形法(Composite Trapezoidal Rule)来近似计算积分值。
然而,仅仅使用复化梯形法可能会导致较大的积分误差。
为了提高计算结果的精确性,我们需要采取一些误差控制技巧。
本文将介绍数值分析中的复化梯形法误差控制技巧。
一、复化梯形法简介复化梯形法是数值分析中一种常用的数值积分方法,它将积分区间等分成多个小区间,并在每个小区间内使用梯形公式进行积分近似。
具体而言,给定函数f(x),我们将积分区间[a, b]等分成n个小区间,每个小区间的宽度为h = (b - a) / n。
则用复化梯形法计算的近似积分值为:I ≈ h/2 * [f(a) + 2f(x1) + 2f(x2) + ... + 2f(xn-1) + f(b)]其中,xi为每个小区间的边界点。
二、误差分析对于复化梯形法,我们可以分析其误差。
在本节中,我们假设函数f(x)具有足够高的光滑度,以便可以对其进行泰勒展开。
根据泰勒展开,我们可以得到以下公式:f(x) = f(a) + (x-a)f'(a) + (x-a)²f''(c) / 2!其中,c处于[a, b]区间内。
将上述公式代入梯形公式中,我们可以推导出复化梯形法的误差公式:E = - (b - a)³f''(c) / (12n²)其中,E表示误差。
三、误差控制技巧为了减小误差,我们可以使用以下技巧:1. 增加划分的小区间数:减小n的值可以减小误差。
然而,增加划分的小区间数也会增加计算量,所以需要在精度和计算时间之间做出权衡。
2. 自适应划分:我们可以根据函数f(x)的性质,在积分区间中找到曲线变化较快的地方,并增加划分的密度。
这样可以在需要精确计算的部分提高精度,而在变化较缓的部分减少划分的密度,以减少计算量。
数值计算方法 代数精度 - 代数精度
A1x1n
An xnn
bn1 an1 n1
这是关于 Ak的线性方程组,其系数矩阵
1
x0
x02
x0n
1 1
x1
xn
x12
xn2
x1n xnn
是范得蒙德矩阵,当 xk (k 0,1,, n) 互异时非奇异,故 Ak 有唯一解。
典型例题
例2
试确定一个至少具有2次代数精度的公式
f
(1)
20
f
(3)
结构分析
2 .如 果 参 数 x k 和 Ak均 未 知 , 则 方 程 组 为 非线 性 的
A0 A1 An b a
A0 x0 A0 x0n
A1x1
An xn
b2
2
a2
A1x1n
An xnn
bn1 an1 n1
非线性方程组求解很困难
定理
n+1个节点的求积公式
1
2
左右相等
典型例题
当 f ( x )分 别 为 常 数x 2或 x 3时 ,
2 f ( x) x2 1 f ( x )dx 1 [ f (1) 2 f (0) f (1)] f ( x )x2 1
3
1
2
1 f ( x) x3 1 f ( x )dx 1 [ f (1) 2 f (0) f (1)] f ( x )x3 0
n
Ak
x
m k
k0
1 m 1
bm1 a m1
b x mdx
a
构 造 求 积 公 式, 原 则 上 是 确 定 参 数x k和 Ak的 代 数 问 题.
结构分析
A0 A1 An b a
1.如
3.1复化数值求积法
2
f (b)
记
Tn
下面考虑余项,先从每个小区间上考虑余项,
因为每个小区间上是N-C公式中当n=1时的梯形公式。
定理7 若f ( x) C 2[a, b] , 则复化梯形公式的余项为
b
a f ( x)dx Tn
(b a)h2 12
f ( ),
a b,
b
及渐近估计式 a f ( x)dx Tn 1 ( f (a) f (b)), h 0。
(1)
f ( xi ) f (i ) f ( i )( xi i ) O(( xi i )2 )
(2)
(2) (1),得 f ( xi ) f ( xi1) hf (i ) O(h2 ),i 1,2,,n
即
hf (i ) [ f ( xi ) f ( xi1)] O(h2 ),i 1,2,,n
b
对[a,b] 上的任何连续函数 f (x),都有
lim
n
Tn
a
f ( x)dx
但对代数多项式
f (x)
x2, b a
f ( x)dx Tn
0, n 1,2,
定义4将区间 [a, b]n等分,h b ,a 用某一基本求积公式
n
In
生成的复化求积公式,若对充分光滑的被积函数 f (,x)有
)]
b f (x)dx h[ f (a)
a
6
n1
n
f (b) 2 f (xi ) 4
i 1
i 1
f
(
x
i
1
)]
S
n
2
12 Sn 3 Tn 3 Hn
由
2T2n
Tn
H
,得
复积分计算总结
复积分的计算方法孟小云 20072115025(数学科学学院 数学与应用数学专业 2007级3班)指导老师 海泉摘要:本文归纳了计算复积分的多种方法,并举例说明了它们的应用。
关键词:复变函数;复积分在复变函数的分析理论中,复积分是研究解析函数的重要工具,解析函数的许多重要性质都要利用复积分来表述和证明的,因此,对复积分及其计算的研究显得尤为重要。
本文介绍了复变函数积分常规的计算方法、利用级数法、拉普拉斯变换法及对数留数与辐角原理进行复积分计算方法。
利用这些方法可以使一些复杂的复积分计算变得简单、快捷。
接下来要介绍计算复积分的常见的一些方法。
方法1:参数方程法定理:设光滑曲线c:z=z(t)=x(t)+iy(t) (t αβ≤≤),'()z t 在[,]αβ上连续,且'()z t ≠0,又设()f z 沿c 连续,则'()[()]()c f z dz f z t z t dt βα=⎰⎰。
1、若曲线c 为直线段,先求出c 的参数方程。
c 为过12,z z 两点的直线段,c :121(),[0,1]z z z z t t =+-∈1,z 为始点2,z 为终点。
例1 计算积分1Re zdz ι-⎰,路径为直线段.解:设1(1)(1),[0,1],z i t t it t =-++=-+∈原式=112001(1)()22i t idt t t -=-=-⎰2、若曲线c为圆周或圆周的一部分,例如c 为以a 为心R为半径的圆。
设c :,z a R -=即Re ,[0,2],i z a θθπ=+∈(曲线的正方向为逆时针) 例2 计算积分,cz dz ⎰c 为从-1到1的下半单位圆周.解:设,,[,0]i i z e dz e d θθιθθπ==∈- 原式0(cos sin )2i ie d i i d θθπθθθθ--==+=⎰⎰注:上述方法只适用于积分曲线式特殊类型的曲线。
复化梯形公式和复化辛普森公式的精度比较
实验四、复化梯形公式和复化Simpson公式的精度比较(2学时)一、实验目的与要求1、熟悉复化Simpson公式和复化梯形公式的构造原理;2、熟悉并掌握二者的余项表达式;3、分别求出准确值,复化梯形的近似值,复化Simpson的近似值,并比较后两者的精度;4、从余项表达式,即误差曲线,来观察二者的精度,看哪个更接近于准确值。
二、实验内容:对于函数sin()xf xx=,试利用下表计算积分1sin xI dxx=⎰。
表格如下:注:分别利用复化梯形公式和复化Simpson公式计算,比较哪个精度更好。
其中:积分的准确值0.9460831I=。
三、实验步骤1、熟悉理论知识,并编写相应的程序;2、上机操作,从误差图形上观察误差,并与准确值相比较,看哪个精度更好;3、得出结论,并整理实验报告。
四、实验注意事项1、复化梯形公式,程序主体部分:for n=2:10T(n)=0.5*T(n-1)for i=1:2^(n-2)T(n)=T(n)+(sin((2*i-1)/2^(n-1))/((2*i-1)/2^(n-1)))/2^(n-1);endend2、复化Simpson公式,程序主体部分:for i=1:10n=2.^ix=0:1/n:1f=sin(x)./xf(1)=1s=0for j=1:n/2s=s+f(2*j)endt=0for j=1:(n/2-1)t=t+f(2*j-1)endS(i)=1/3/n*(f(1)+4*s+2*t+f(n+1))end五.实验内容复化梯形公式和复化辛普森公式的引入复化梯形公式:110[(()]2n n k k k h T f x f x -+==+∑;复化辛普森公式:11102[(4()()]6n n k k k k h S f x f x f x -++==++∑; 根据题意和复化梯形公式、复化辛普森公式的原理编辑程序求解代码如下: Matlab 代码clcs=quad('sin(x)./x',0,1)p1=zeros(10,1);p2=zeros(10,1);for k=6:15s1=0;s2=0;x=linspace(0,1,k);y=sin(x)./x;z=(1/(2*(k-1))):(1/(k-1)):1;sz=sin(z)./z;y(1)=1;for i=1:(k-1)s1=s1+0.5*(x(i+1)-x(i))*(y(i)+y(i+1));endfor j=1:(k-1)s2=s2+(1/6)*(x(j+1)-x(j))*(y(j)+y(j+1)+4*sz(j)); endp1(k-5)=s1-s;p2(k-5)=s2-s;endp1;p2;s1=s+p1(4)s2=s+p2(4)format longfor k=1:length(p1)p1(k)=abs(p1(k));p2(k)=abs(p2(k));endp1p2plot(6:1:15,p1,'-r')hold onplot(6:1:15,10000*(p2),'-c') hold off部分程序结果输出:s =0.946083070076534s1 =0.945690863582701s2 =0.946083085384947结果分析根据结果输出可知:积分10sin()xI dxx=⎰的准确值为:I= 0.946083070076534;通过复化梯形公式和复化辛普森公式得到的积分值为:s1 =0.945690863582701:s2 =0.946083085384947;相对误差为:411100 4.1510100S I Iδ--=⨯=⨯; 822100 1.6210100S I Iδ--=⨯=⨯; 显然,从相对误差可知通过辛普森公式得到的结果误差小精度高。
复积分的各种计算方法及应用
第1章 引言曹1.1研究背景及研究内容复变函数的积分理论是复变函数理论的重要组成部分,是研究解析函数的重要工具之一.但对于如何计算复变函数积分以及如何处理有关复变函数积分的问题,往往很难迅速找到解决问题的方法.因此,理解复变函数积分,并能够灵活运用复积分计算方法进行复积分计算就显得极其重要.复积分中的Cauchy 积分定理在理论上处于关键地位,由它派生出的Cauchy 积分公式、留数定理、辐角原理等都涉及到积分的计算问题.解析函数在孤立奇点的留数原本是一个积分,而实际计算却需要Laurent 展式.因而把积分与级数结合起来的留数定理使复积分理论甚至是复变函数理论达到高潮,且其用途十分广泛.因此,研究复变函数积分计算的各种方法有着非常重要的意义,本文以所列参考文献[3]中的复积分计算方法为基础,并通过查阅相关资料,借鉴了文献[4]-[7]的结果,总结复积分计算的各种方法,并通过应用[1],[2],[8],[9]中的相关知识和方法,对所列出的每种方法作典型例证和分析.1.2预备知识定义1.1[3] 复积分 设有向曲线C :()()βα≤≤=t t z z ,,以()αz a =为起点,()βz b =为终点,()z f 沿C 有定义.顺着C 从a 到b 的方向在C 上依次取分点:011,,,,n n a z z z z b -==.把曲线C 分成若干个弧段.在从1-k z 到k z ()n k ,..,2,1=的每一弧段上任取一点k ζ.作成和数()1nn k k k S f z ζ==∆∑,其中1k k k z z z -∆=-.当分点无限增多,而这些弧段长度的最大值趋于零时,如果和数n S 的极限存在且等于J ,则称()z f 沿C (从a 到b )可积,而称J 为()z f 沿C (从a 到b )的积分,并记以()cf z dz ⎰.C 称为积分路径. ()cf z dz ⎰表示沿C 的正方向的积分,()c f z dz -⎰表示沿C 的负方向的积分.定义1.2[3] 解析函数 如果函数()z f 在0z 点及()z f 的某个邻域内处处可导,那么称 ()z f 在0z 点解析,如果()z f 在区域D 内解析就称()z f 是D 内的一个解析函数.定义1.3[3] 孤立奇点 若函数()z f 在点的0z 邻域内除去点0z 外处处是解析的,即在去心圆域{}00()N z z z z δδ=-<内处处解析,则称点0z 是()z f 的一个孤立奇点.定义 1.4[3] 留数 函数()z f 在孤立奇点0z 的留数定义为()12c f z dz iπ⎰,记作()0Re ,s f z z ⎡⎤⎣⎦.第2章 复积分的各种计算方法2.1复积分计算的常见方法(1)参数方程法定理[3] 设光滑曲线:()()()()C z z t x t iy t t αβ==+≤≤,(()z t '在[,]αβ上连续,且()0z t '≠),又设()f z 沿C 连续,则()d [()]()d Cf z z f z t z t t βα'=⎰⎰.(α、β分别与起、终点对应)1.若曲线C 为直线段,先求出C 的参数方程C 为过12,z z 两点的直线段,1211:(),[0,1],C z z z z t t z =+-∈为始点,2z 为终点. 例1 计算积分1Re d iz z -⎰,路径为直线段.解 设1(1)(1),[0,1]z i t t it t =-++=-+∈,则2.若曲线C 为圆周的一部分,例如C 是以a 为圆心,R 为半径的圆. 设:C z a R -=,即Re ,[0,2]i z a θθπ=+∈,(曲线的正方向为逆时针). 例2 计算积分d ,Cz z C ⎰为从1-到1的下半单位圆周.解 设,d d ,[,0]i i z e z ie θθθθπ==∈-,d (cos sin )d 2Cz z i i πθθθ-=+=⎰⎰.用Green 公式法也可计算复积分, Green 公式法是参数方程法的一种具体计算方法.例3 设C 为可求长的简单闭曲线,A 是C 所围区域的面积,求证:2czdz iA =⎰.证明 设z x iy =+,则 由Green 公式,有: 得证.本题目用Green 公式解决了与区域面积有关的复积分问题. (2)用Newton-Leibnize 公式计算复积分在积分与路径无关的条件下(即被积函数()f z 在单连通区域内处处解析)也可直接按类似于实积分中的Newton-Leibnize 公式计算.例4 计算222(2)d i z z -+-+⎰.解 因为2()(2)f z z =+在复平面上处处解析,所以积分与路径无关.22222322221(2)d (44)d 2433ii i iz z z z z z z z -+-+-+---+=++=++=-⎰⎰.(3)用Cauchy 定理及其推论计算复积分Cauchy 积分定理[3] 设函数()f z 在复平面上的单连通区域D 内解析,C 为D 内任一条周线,则()d 0Cf z z =⎰.Cauchy 积分定理的等价定理[3]设函数()f z 在以周线C 为边界的闭域D D C =+上解析, 则()d 0Cf z z =⎰例5 计算2d ,22C zC z z ++⎰为单位圆周1z =.解 1z =是21()22f z z z =++的解析区域内的一闭曲线,由Cauchy 积分定理有2d 022C zz z =++⎰.注1 利用Cauchy 积分定理也有一定的局限性,主要是要求被积函数的解析区域是单连通的,计算起来较为方便.注2 此题可用参数方法,但计算要复杂得多,而用Cauchy 积分定理很简单. 另外,Cauchy 积分定理可推广到复周线的情形.定理[3] 设D 是由复周线012nC C C C C ---=++++ 所围成的有界1n +连通 区域,函数()f z 在D 内解析,在D D C =+上连续,则()0Cf z dz =⎰,或写成 ()()()010nC C C f z dz f z dz f z dz --++=⎰⎰⎰,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【摘要】分别利用复化梯形公式、复化simpson公式和复化gauss-legendre i型公式对定积分进行运算,得到近似数值解,并对各算法的精度和计算复杂度进行了比较与分析。
数值举例结果表明,三种复化求积分算法的运算结果均在绝对误差限ε=5e-8内,并且在相同的精度下,复化gauss-legendre i型公式的步长和计算量最小。
【关键词】复化梯形公式;复化simpson公式;gauss-legendre公式
1 引言
数值积分是计算数学的基本内容,在工程技术和科学计算中起着十分重要的作用,当积分的精确值不能不能求出时,数值积分就变得越来越重要。
通常数值积分的计算常利用机械积分来实现,其基本思想为:
(1)
2 理论模型
复化梯形求积公式
将区间[a,b]划分成n等分,分点xk=a+kh(,k=1,2,3…n),在每个子区间[xk,xk+1] (k=1,2,3 …n-1)上采用梯形式,则得到
(2)
记
(3)
上式(3)为复化梯形公式,其余项可由式
,(a≤η≤b)(4)
得
,ηk∈[xk,xk+1] (5)
由于
f(x)∈c2[a,b]
且
,(0≤k≤n-1)(6)
所以∈(a,b),使
(7)
于是复化梯形公式余项为
(8)
复化simpson求积公式
将区间[a,b]划分为n等分,在每个子区间[xk,xk+1]上采用simpson式,若记,则得
(9)
记
(10)
上式(10)为复化simpson求积公式,其余项可由式
,(a≤η≤b)(11)
得
,ηk∈[xk,xk+1] (12)
于是当f(x)∈c4[a,b]时,与复化梯形公式相似有
,η∈[a,b] (13)
复化gauss-legendre i型求积公式
gauss型求积公式是具有最高代数精度的插值求积公式。
通过适当选取求积公式(1)的节点ε=5e-8和求积系数ak≥0和xk∈[a,b] (k=1,2,3…n),可使其代数精度达到最高的2n+1次。
利用特殊区间[-1,1]上n+1次legendre正交多项式的根作为节点,我们可以建立gauss-legendre型求积公式。
将区间[a,b]划分成n等分,分点xk=a+kh(,
k=1,2,3 …n),在每个子区间[xk,xk+1](k=1,2,3…n-1)上采用2点gauss-legendre i型求积公式
(14)
在[a,b]区间上的复化积分公式为
(15)
上式(15)称为复化gauss-legendre i型求积公式。
于是当f(x)∈c4[a,b],时,复化gauss-legendre i型求积公式的余项表达式为
,(a≤η≤b)(16)
3 数值举例
先考察下面等式(17)右边定积分的近似值
(17)
分别用复化梯形公式、复化simpson公式和复化gauss-legendre i型公式做运算,求出其在绝对误差限为ε=5e-8内的近似数值解。
假定
(18)
因此
,(19)
所以
,(20)
对于复化梯形公式有
(21)
所以
n≥ (22)
因此取步长
n=1792 (23)
对于复化simpson求积公式有
(24)
所以
n≥ (25)
因此取步长
n=21 (26)
对于复化gauss-legendre i型求积公式有
(27)
所以
n≥ (28)
因此取步长
n=19 (29)
同理也可以考察等式
和(30)
右端定积分的近似数值值,具体结果见表1。
表1 三种复化算法步长的事前估
函数复化梯形
求积公式复化simpson
求积公式复化gauss-legendre i型求积公式
1792 21 19
2457 14 12
7019 24 22
表2三种复化算法的计算结果函数复化梯形
求积公式复化simpson 求积公式复化gauss-legendre i型求积公式
表3 三种复化算法的精度分析
函数复化梯形
求积公式复化simpson
求积公式复化gauss-legendre i型求积公式
在绝对误差限为ε=5e-8内,用复化梯形公式、复化simpson公式和复化gauss-legendre i型公式对所列三个定积分做近似数值解运算,分别利用它们的余项对每种算法做出步长的事前估计,如表1所示。
步长能够反映运算量的大小,步长越大,计算量越大,很显然复化梯形公式计算量比另两种算法大得多并且更加复杂,耗时更长,对计算机硬件要求更高。
表2记录了三种算法对三种定积分运算所得的近似数值解,表3记录了三种复化算法的近似数值解与精确解之间的误差,可以看出三种算法的结果均在绝对误差限ε=5e-8以内,精度达到了要求,但各自相互之间存在差异,精确度也各不相同。
由各算法的步长可知,复化梯形公式、复化simpson公式和复化gauss-legendre i型公式在相同精度的情况下下,其步长依次减小,其次,其计算量也依次递减。
对于,在计算机求解时,我们将步长设为事前估计的1792,所得到的精度满足要求。
但是如果将步长减小1步,即为1791时,结果依然满足要求,甚至将步长减少2步、10步、100步、500步……直到步长减小到1081时所得结果才不满足要求,此时的误差为,不在绝对误差限ε=5e-8内。
尝试了另外几种复化求积公式,也会出现这样的现象。
此现象可以概括为:满足精度的事前估计的步长大于满足精度的实际步长。
这种现象的出现可以作如下解释:在做步长的事前估计时,我们是用函数二阶导数或者四阶导数的最大值来运算的,这种处理方式所得到的步长是一种极限步长(步长最大值)。
然而,在计算机求解时,肯定会出现满足精度的实际步长,并且该实际步长肯定不会大于事前估计步长。
4 结论
一般情况下可以采用复化梯形公式、复化simpson 公式和gauss-legendre 公式可以求出一定精度的近似解,采用复化simpson公式和复化gauss-legendre i型公式的结果可以进一步外推提高精度和降低计算量。
三种复化求积分算法在相同精度的情况下,其步长和计算量依次减小。