《打靶法求边值问题...docx》由会员分享,可在线阅读,更多相关《打靶法求边值问题...docx(24页珍藏版)》请在优知文库上搜索。
1、本科毕业论文设计J论文设计题目:打靶法求边值问题学院:理学院专业:数学应用数学班级:091学号:0907010228学生姓名:钟玲声指导教师:汪萌萌2013年4月21B打靶法求边值问题目录摘要:弓I言:2第一章常微分方程初值问题的解法3常微分方程的离散化31.2欧拉(Euler)方法41.3 改良的EUler方法61.4 龙格一库塔(RungeKUtta)方法71.5 4阶龙格一库塔公式91.6 线性多步法9第二章边值问题的数值解法U2.1 打靶法112.2 差分法15第三章Matlab数值解1163.1 常微分方程的解法错误!未定义书签。63.2 打靶法的matlab实现23致谢:27主要参
2、考文献27摘要常微分方程在很多领域都有非常重要的应用,然而很多常微分方程的解是无法用解析解写出的,因而要借助于数值方法。本文介绍了常微分方程边值问题的常见解法,例如:欧拉法,龙格一库塔法等。而对于常微分方程边值问题,常见的解法有打靶法、有限差分法和有限元法等。在本文中,我们重点介绍了打靶法,并给出了相关算法,然后结合实例编写程序进行了上机实验。关键i司:常微分方程,初值问题,边值问题,打靶法AbstractOrdinarydifferentialequationsplayanimportantroleindifferentareas.However,mostequationscannotbee
3、xpressedanalytically.Weneedtousenumericalmethods.Inthispaper,Wediscussthemethodsofsolvinginitialvalueproblem(IVP),suchasEulermethodRunge-Kuttamethod.Forboundaryvalueproblem(BVP),shootingmethod,finitedifferencemethod(FDM)andfiniteelementmethod(FEM)arepresented.Wemainlydiscussshootingmethodandgivethea
4、lgorithm.Numericalexperimentispresentedintheendofthepaper.KeyWOrdS:dinarydifferentialequations,initialvalueproblem,boundaryvalueproblem,theshootingmethod引言虽然常微分方程理论开展已经有几百年,但目前仍然在开展中。特别是最近三十年,常微分方程迎来了开展的顶峰。常微分方程边值问题是常微分方程理论的重要组成局部,在众多科学技术领域中有着特别广泛的应用。打靶法是求解常微分方程边值问题的一种数值方法,它的根本思想是将微分方程的边值问题转化为初值问题来求
5、解,它的比拟突出的特点是精度很高,程序很简单,实用性很强。边值问题:对阶常微分方程如果能在不同的两点。和力处,唯一地刻画个附加条件,并且在区间fb上求解,那么称此为边值问题。在微分方程中,所谓的边值问题就是我们给定的一个微分方程和一组被我们称之为边界条件的约束条件。边值问题的解一般情况下是符合特定的约束条件的微分方程的解。我们在求解这个微分方程时,除了给出方程的本身,往往还需要提供一定的定解条件。最常见的就是给出初值问题,也就是说给出的定解条件为初始条件;但是也有一些情况,定解条件要求我们考虑所讨论区域的边界,比方说在一个给定区间讨论时,把定解条件在区间的两个端点给出,给定的这种定解条件就被我
6、们称之为边界条件,与之相应的定解问题我们就称之为边值问题。第一章常微分方程组初值问题的解法1.1 常微分方程的离散化下面主要讨论一阶常微分方程的初值问题,它的一般形式是2=f(x,y)axbaxU/j()=No在下面的讨论中,总假定函数/(x,y)连续,且满足LiPSChitZ条件,也就是存在常数,使得那么,根据常微分方程理论知,初值问题(1)的解存在并且唯一.所谓数值解法,就是求问题(1)的解y(x)在假设干点处的近似值y“5=l,2,N)的方法,%5=1,2,N)称为问题(1)的数值解,4=X向-%称为由%到Xe的步长今后如无特别说明,我们总取步长为常量h.建立数值解法,首先要将微分方程离
7、散化,一般采用以下几种方法:1.1.1 用差商近似导数如果用向前差商场小的J代替y(%)代入(1)中的微分方程,那么得h化简得如果用y(%)的近似值”代入上式右端,所得结果作为),。向)的近似值,记为3那么有yn+=yn+hf(nyn)5=o,L)这样,问题(1)的近似解可通过求解下面的问题+=W,)5=0,l,)JO=)()得到,按式(3)由初值为可逐次算出切,必,式子(3)是个离散化的问题,称为差分方程初值问题.需要说明的是,用不一样的差商近似导数,将得到不一样的计算公式.1.1.2 用数值积分方法将问题(1)的解表成积分形式,用数值积分方法离散化.例如,对微分方程两端积分,得到)(演+1
8、)-y(n)=J;a,y*)公(h=o,i)(4)右边的积分用矩形公式或梯形公式计算.1.1.3 Taylor多项式近似将函数y(x)在X”处展开,取一次TayIor多项式近似,那么得再将y(fl)的近似值代入上式右端,所得结果作为j(xm+1)的近似值jz+1,得到离散化的计算公式上面的三种方法都是将微分方程离散化的常用方法,每一类方法又可导出不同形式的计算公式.其中的TayIOr展开法,不仅可以得到求数值解的公式,而且容易估计截断误差.1.2欧拉CEUSQ方法1.2. 1EUIer方法Euler方法就是用差分方程初值问题(3)的解来近似微分方程初值问题(1)的解,即由公式(3)依次算出Ms
9、)的近似值北)。这组公式求问题(1)的数值解称为向前EUler公式.如果在微分方程离散化时,用向后差商代替导数,也就是V3)G7),那么得计算公式hJi=+hf(4+,K+1)5=0,1,)JO=y(a)用这组公式求问题(1)的数值解称为向后EUIer公式.向后Euler法与Euler法形式上相似,但实际计算时却复杂得多.向前Euler公式是显式的,可直接求解.向后EUler公式的右端含有为+因此是隐式公式,一般要用迭代法求解,迭代公式通常为孀=Z,+好(,y)嫖丁=%+妙(K,瑞)()1.2.2EUIer方法的误差估计对于向前EUIer公式我们看到,因为=1,2,时公式右端的/都是近似的,所
10、以用它计算的券包会有累积误差,分析累积误差比拟复杂,这里先讨论比拟简单的所谓局部截断误差.假设用(3)式时右端的先没有误差,即方=y(z),那么由此算出yrt+!=)+hf(xn,y(x,1)17局部截断误差指的是,按(7)式计算由当到与M这一步的计算值与精确值Mx+1)之差y(x*+)-y+i.为了估计它,根据Taylor展开得到的精确值y(xn+1)是h2y(n+i)=y(z)+汗(乙)+耳V。)+。(3)(8)(7)、18)两式相减(注意到V=(x,y)得到序MZG-yN=5y(z)+0()0()也就是局部截断误差是力2阶的,而数值算法的精度定义为:如果一种算法的局部截断误差为。(犷”)
11、,那么称该算法具有P阶精度.显然P越大,方法的精度越高。式(9)说明,向前EUler方法是一阶方法,因此它的精度不高。1.3 改良的EUIer方法1.3.1 梯形公式利用数值积分方法将微分方程离散化的时候,如果用梯形公式计算式(4)中之右端积分,即并用y,y用代替y6),y(),那么得计算公式这就是求解初值问题(1)的梯形公式.直观上容易看出,用梯形公式计算数值积分要比矩形公式好.梯形公式为二阶方法。梯形公式也是隐式格式,一般需用迭代法求解,迭代公式为yi=yn+hf(xn9yn)心嫖;0=+5(2,J+/(K,瑞)(10)(A=O,1,2,)由于函数f(x,y)关于y满足Lipschitz条
12、件,容易看出其中L为LiPSChitZ常数.因此,当0些1时,迭代收敛.但是这样做计算量2较大.如果实际计算时精度要求不太高,用公式(10)求解时,每步可以只迭代一次,由此导出一种新的方法一改良Euler法.1.3.2 改良EUler法按照式(5)计算问题(1)的数值解时,如果每步只迭代一次,相当于将Euler公式与梯形公式结合使用:先用Euler公式求yf+的一个初步近似值yn+1,称为预测值,然后用梯形公式校正求得近似值乂用,即预测h_(11)+=+-t(,%)+F(Xn+1,y,1+1)1校正式(三)称为由EUIer公式和梯形公式得到的预测一校正系统,也叫改良EUler法.为了便于编制程
13、序上机,式子(11)常改写成,为=y+/(x十九“)Ve=5(%+%)改良EUIer法是二阶方法.1.4 龙格一库塔(Runge-Kutta方法回到Euler方法的根本思想一用差商代替导数.实际上,按照微分中值定理应有注意到方程y=f(x,y)就有MX1)=y(n)hf(n+必,y(+%)(13)不妨记K=f(xll+h,y(xn+h),称为区间xn,xn+上的平均斜率.可见给出一种斜率后,13)式就对应地导出一种算法.向前Euler公式简单地取了“,),”)为冗,精度自然很低.改良的Euler公式可理解为后取/(X.,yz),F(X+i,歹+1)的平均值,其中为f+=+,(%”,%),这种处
14、理提高了精度.如上分析启示我们,在区间七,4+J内多取几个点,将它们的斜率加权平均作为后,就有可能构造出精度更高的计算公式.这就是龙格一库塔方法的根本思想.首先不妨在区间内仍取2个点,仿照(13)式用以下形式试一下”+i=K+力(4占+4a),K=(j(14)k2=f(xn+ah,y,+hkj,Oa,l其中4,4,。,尸为待定系数,看看如何确定它们使(14)式的精度尽量高.为此我们分析局部截断误差W/+1)-Kx,因为齐=y(z),所以(14)可以化为y+i=M/)+-4匕+=后)K=F(Z,ya.)二)。),k2=f(n+My*)+hk)(15)=f2=g,a=P=,即为改良的EUler公式.可以证明,在怎,七川内只取2点的龙格一库塔公式精度最高为2阶.1.5四阶龙格一库塔公式要进一步提高精度,必须取更多的点,如取4点构造如下形式的公式:=K+力(4匕+4&+)占=/(%,/),k2=f(n+a/,y+