常微分方程边值问题的试射法毕业论文.doc

上传人:文库蛋蛋多 文档编号:3942647 上传时间:2023-03-28 格式:DOC 页数:28 大小:1.41MB
返回 下载 相关 举报
常微分方程边值问题的试射法毕业论文.doc_第1页
第1页 / 共28页
常微分方程边值问题的试射法毕业论文.doc_第2页
第2页 / 共28页
常微分方程边值问题的试射法毕业论文.doc_第3页
第3页 / 共28页
常微分方程边值问题的试射法毕业论文.doc_第4页
第4页 / 共28页
常微分方程边值问题的试射法毕业论文.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《常微分方程边值问题的试射法毕业论文.doc》由会员分享,可在线阅读,更多相关《常微分方程边值问题的试射法毕业论文.doc(28页珍藏版)》请在三一办公上搜索。

1、南 京 师 范 大 学毕 业 设 计(论 文)( 2011 届)题 目: 常微分方程边值问题的试射法 学 院: 数学科学学院 专 业: 信息与计算科学 姓 名: 张晓飞 学 号: 06070312 指导教师: 魏 虹 南京师范大学教务处 制目录目录1常微分方程边值问题的试射法2摘要2关键字2Abstract3Keyword31.引言42二阶常微分方程第一边值问题42.1二阶常微分方程边值问题的相关定理42.2二阶常微分方程第一边值问题的算法62.3使用上述算法求解103.二阶常微分方程第二,第三边值问题123.1二阶常微分方程第二边值问题算法思想和步骤123.2二阶常微分方程第三边值问题算法思

2、想和步骤144.其余常用算法的概述154.1 Netwon法的概述154.2二分法的概述154.3三种方法的比较165算法的改进166.致谢词177.参考文献17附录1 二阶常微分方程第一边值问题的试射法(割线法)程序(c+)19附录2 英文文献翻译22常微分方程边值问题的试射法张晓飞06级3班 信息与计算科学专业 06070312摘要本论文给出了二阶常微分方程边值问题的相关概念及描述,重点讨论了二阶常微分方程第一边值问题。并给出了二阶常微分方程第一边值问题解的存在唯一性定理,以及相关的定理证明。利用化边值问题为初值问题的基本思想,给出了二阶常微分方程第一,第二,第三边值问题试射法及打靶法的基

3、本思想和相关的算法步骤。给出了二阶常微分方程第一边值问题试射法的实例和程序,最后并对试射法进行了些许的改进。关键字 常微分方程边值问题 试射法 割线法 牛顿法 AbstractThis paper gives the description about the related concepts of second order ordinary differential equations, focusing on the first boundary value problem of second order ordinary differential equations. Then give

4、s the first order ordinary differential equations boundary value problem and uniqueness theorem and proved the theorems. And I give the basic idea and the related steps of the algorithm of shooting method , which work out the first, second and third boundary value about the second order ordinary dif

5、ferential equations, using the basic idea about using initial value problem instead of boundary value problem. I gives a instances and a program about the first boundary value problem of second order ordinary differential equations. Finally, I do a little improvement about the shooting method.Keywor

6、dOrdinary Differential Equations shooting method Secant method Newton1.引言常微分方程边值问题在应用科学与工程技术中是经常遇到的,由于边值问题解的存在唯一性比初值问题复杂多,至今没有很有效的解决方法,因此在解决边值问题无论在理论还是在实际计算中都比初值问题麻烦。采用较好的计算格式来进行计算,不仅可以提高解决问题的效率,更能提高应用计算结果的精度,从而使之更能广泛地应用于科学工程领域。而常微分方程的试射法就是被广泛采用的数学方法。2二阶常微分方程第一边值问题二阶常微分方程第一边值问题 (1)将问题(1)转化为初值问题 (2)的

7、解在的值满足或者其中为允许的误差界。这样,我们就把作为边值问题(1)的近似解。显然试射法最终将边值问题化为初值问题,再利用相应的方法求解初值问题。在此过程中最为重要的是找出最为合适的,尽可能多的减少计算步骤。2.1二阶常微分方程边值问题的相关定理2.1.1二阶线性常微分方程解的存在唯一性定理 (3)满足(I),在上连续;(II)0,对。则边值问题(3)的解存在唯一。由于非齐次问题的解等于其相应的齐次问题的通解加上其本身的一个特解之和。对于二阶线性边值问题(3)的解可以用以下非齐次线性初值问题(4)的解和齐次线性初值问题的解来表述出来。 (4) (5)证明:设是非齐次线性初值问题(4)的解,是齐

8、次线性问题(5)的解,设 就是二阶非线性边值问题的唯一解。2.1.2二阶常微分方程解的存在唯一性定理设方程(1)的函数及,在区间内连续,且(I) (II)在内有界,即存在常数M,使得 则边值问题(1)的解存在唯一。2.2二阶常微分方程第一边值问题的算法2.2.1二届常微分方程第一边值问题的算法思想只要问题(2)的解在的值满足或者,为允许误差界。这样,我们把作为边值问题(1)的近似解。为此,可以采取逐次逼近法来实现。假设为边值问题的解,我们估计的值为后,解决初值问题这样得到的解为,并计算得到。一般,若或者,则把作为边值问题(1)的近似解;否则必须调整,例如取(),则在(2)中令,再求解此初值问题

9、。设计算得它的解为,若或,则作为边值问题(1)的近似解。否则再修改。如此重复计算,直至或者时,便以作为边值问题(1)的近似解yxOab 图1参见图1上面的积分曲线的过大,下面的积分曲线的过小。对于解高阶的微分方程初值问题的数值法可以使用经典四阶Runge-Kutta方法求解。则问题关键是如何确定参数。当,解得初值问题的解为。自然,我们希望从而,确定的问题可以归结为求方程 (6)的近似跟。(6)是一个非线性方程,可以使用二分法,割线法,Netwon法来求解,本文只采用割线法和二分法。2. 2.2二阶常微分方程的第一边值问题算法过程2.2.2.1经典四阶Runge Kutta法求解高阶微分方程初值

10、问题算法求解高阶微分方程初值问题,即将高阶化为一阶常微分方程组的初值问题输入:端点a,b;方程个数m;整数N;初值,。输出:解在t的N+1个等距点的近似。Step1. ; 。Step2. 对j=1,2,m 。Step3. 输出。Step4. 对i=1,2,N做Step511. Step5. 对j=1,2,m 。 Step6. 对j=1,2,m 。 Step7. 对j=1,2,m Step8. 对j=1,2,m Step9. 对j=1,2,m Step10. 。 Step11. 输出。Step12. 停机。2.2.2.2二阶常微分边值问题的试射法(割线法)选取割线法来解问题(6)我们需要选取初始

11、近似的和,由公式生成序列。按照割线法求得,直到为止,其中为允许的误差界。因此,解边值问题(1)的打靶法(由割线法确定参数,由经典四阶Runge-Kutta方法求解)的计算步骤如下:令。给定初始值,误差容限,最大迭代次数。Step1. 取,解初值问题(2)得解在的近似值: ,(=)Step2. 若则输出 ,作为初值问题(1)的解在,的近似值;停机。否则转Step3。Step3. 令,解初值问题(2)得解在的近似值:,(= )。Step4. 若,则输出 ,作为初值问题(1)的解在,的近似值;停机。否则转Step5。Step5. 对于k=2,3,m做 Step68 Step6. 由割线法公式计算;

12、Step7. 令,解初值问题(2)得解在(=1,N)的(近似)值: ,(=) Step8. 若,则输出 , 作为初值问题(1)的解在,的近似值;停机。Step9. 输出(Method failed);停机。2.3使用上述算法求解2.3.1当所取初始值为正数时初始输入如图1:图1结果如表1:ix(i)数值解准确解误差00-0.3-0.301pi/20-0.311949732-0.3119499492.167E-072pi/10-0.316218321-0.3162186543.338E-0733pi/20-0.31270064-0.3127010073.675E-074pi/5-0.301483

13、289-0.3014836243.35E-075pi/4-0.282842458-0.2828427132.55E-0763pi/10-0.257237127-0.2572372751.487E-0777pi/20-0.225297763-0.2252978023.98E-0882pi/5-0.187810794-0.18781075-4.41E-0899pi/20-0.145699244-0.145699174-7.05E-0810pi/2-0.1-0.10表1此时试射法中t的取值为:-0.09999343444一共计算3次。精确解与近似解的图像如图2:其中黑色曲线表示精确解,蓝色曲线表示近

14、似解。图22.3.2当所取初始值为负数时初始输入如图3: 图3结果如表2: ix(i)数值解准确解误差00-0.3-0.301pi/20-0.311949732-0.3119499492.167E-072pi/10-0.316218321-0.3162186543.338E-0733pi/20-0.31270064-0.3127010073.675E-074pi/5-0.301483289-0.3014836243.35E-075pi/4-0.282842458-0.2828427132.55E-0763pi/10-0.257237127-0.2572372751.487E-0777pi/20

15、-0.225297763-0.2252978023.98E-0882pi/5-0.187810794-0.18781075-4.41E-0899pi/20-0.145699244-0.145699174-7.05E-0810pi/2-0.1-0.10表2此时试射法中t的取值为:-0.09999343444一共计算3次。精确解与近似解的图像如图4:其中黑色曲线表示精确解,蓝色曲线表示近似解。图43.二阶常微分方程第二,第三边值问题3.1二阶常微分方程第二边值问题算法思想和步骤 (7)将问题(7)转换为问题出边值问题(8) (8)的解在的值满足或者其中为允许的误差界。这样,我们就把作为边值问题(7

16、)的近似解。具体求解步骤如下:令。给定初始值,误差容限,最大迭代次数。1.(1)取解初值问题(8)得到在,处的近似解 (2)若则输出: , 作为初值问题(1)的解在,的近似值;停机。2. (1)令,解初值问题(2)得解在的近似值 (2)若则输出: , 作为初值问题(1)的解在,的近似值;停机。3.对做 (1)用割线法计算得 (2)令,解初值问题(2)得解在(=1,N)的(近似)值 (3)若则输出: ,作为初值问题(1)的解在,的近似值;停机。3.2二阶常微分方程第三边值问题算法思想和步骤 (9)将问题(9)转换为问题出边值问题(10)设 (10)的解在的值满足或者其中为允许的误差界。这样,我们

17、就把作为边值问题(10)的近似解。其试射法基本过程如下:(1) 选取参数,令。设,则由可以确定,从而得到初值问题 (11) 求初值问题(11)的解(2)把代入的左端得到 。 若,则为所求边值问题的近似解;否则,则令 设(用代替)解初值问题(11),求得解后再代入的左端得 。(3)从,出发,由割线法 产生,以代替解初值问题(10)确定,如此继续执行下去,得到序列,直到 为止,为误差容限。4.其余常用算法的概述4.1 Netwon法的概述求解方程的一个根,利用牛顿法,我们只需选取一个,由公式 生成序列,直到为止,为允许误差界。具体算法步骤中,只需在求出的同时,求出。4.2二分法的概述由函数零点定理

18、可知,只要连续函数,满足,则在中一定一个点使得函数值为0。任取两点,使得,再由公式 生成序列,直到为止,为允许误差界。在选取二分区间时可由下述定理确定具体区间定理:对于初值问题中及,在区间内连续,并且(I)(II)存在常数M,使得 则初值问题的解关于严格单调增加。4.3三种方法的比较割线法:优点:与牛顿法相比,割线法的每一步只要计算一次函数值,而牛顿法还需要计算导数值。因此在导数计算比较费事或不可能的情况下,割线法则显出其优点。 缺点:割线法的收敛阶为1.618阶,一般情况下比牛顿法的收敛速度慢。牛顿法:优点:对于一般问题牛顿法的收敛阶为2阶,其收敛速度快。 缺点:每一步除了要计算一次函数值外

19、,还要计算导数值。二分法:优点:直观,简单,安全可靠,迭代速度也快。 缺点:近似解的误差下降速度不快,而且对于未知的方程,找到适当的和使得,不是那么容易。5算法的改进从上述内容可以看到试射法的关键在于如何高效确定出数列,使得能在尽量短的时间中,求出方程的近似解。在确定时,关键分为两步:(1) 找出一个适当的;(2) 找出一个高效的公式,求出。由于二分法的近似解误差下降速度不快,所以可以先用二分法找到一个,将此作为其他方法的。或者可将该问题转化为无约束最优化问题 利用解无约束最优化的问题的方法,来求解。6.致谢词在这次毕业设计的整个过程中,虽然遇到了一些技术上的难题但在与老师、同学和网友的交流下

20、都及时的解决了问题。其中魏虹老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导。我经过几个月的收集资料、阅读文献、写作论文,终于顺利完成了论文。我要感谢很多人,首先感谢学校和老师们,不仅为我们提供了良好的设施和学习环境,而且教给我们很多知识和做人的道理。还要感谢论文指导老师魏虹老师,从课题的选择到最终完成,魏老师都始终给予我细心的指导和不懈的支持。魏老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。她无论在理论上还是在实践中,都

21、给与我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导,在此谨向魏老师致以诚挚的谢意和崇高的敬意。还要感谢辅导员王海康和喻华杰老师,多年来一直照顾我们的学习和生活。还要感谢在一起愉快地度过大学4年学习生活的各位同学,特别是我的室友们,正是由于你们的帮助和支持,我才能克服一个又一个的困难和疑惑,直至本文的顺利完成。同时感谢我的同组成员,给予了我不少的帮助。最后我要感谢含辛茹苦培养我长大的父母,有你们才有今天的我。谢谢你们!通过此次论文,我学到很多知识。通过收集资料,增强了我的自学和动手能力,通过论文写作,不仅提高了我撰写科技论文和技术报告的能力,而且培

22、养了我的创新意识和严谨 的科学作风。即将挥别我的学校、老师、同学,心里只有千万不舍,但是对未来的路,我充满了信心。最后,感谢在大学期间认识我和我认识的所有人,有你们伴随,才使得我大学的生活如此丰富多彩,绚丽多姿!7.参考文献【1】余德浩,汤华中.微分方程数值解法.科学出版社.2005【2】胡健伟,汤怀民.微分方程数值解法.科学出版社.1999【3】吴微.非线性抛物型方程广义差分法的误差估计.计算数学.1987【4】李荣华,冯果忱.微分方程数值解法.高等教育出版社.1988【5】李荣华,冯果忱.微分方程数值解法(第三版).高等教育出版社.1996【6】李庆阳,王能超,易大义.数值分析. 北华中科

23、技大学出版社.1986【7】姜礼尚,陈亚浙,刘西垣,易法槐.数学物理方程讲义.高等教育出版社.2007【8】周顺兴.解抛物型偏微分方程的高精度差分格式.计算数学.1982【9】Stig Larsson, Vidar Thome.Partial differential equations with numerical methods .科学出版社.2006【10】谭浩强等.C程序设计.清华大学出版社.1999【11】钱能.C+程序设计教程(第二版).清华大学出版社.2005【12】Richard L.Burden,J.Douglas Faires,Numerical Analysis(Seve

24、nth Edi-tion)(影印版). 高等教育出版社.2002【13】矢岛信男,野木达夫.发展方程的数值解析.东京岩波书店.1977附录1 二阶常微分方程第一边值问题的试射法(割线法)程序(c+)#include#include#include#includeusing namespace std;double f(double a,double b,double c)return cos(a)+2*b+c;void fourRungeKutta0(double a,double b,double N,double c2)double h,t;double w2;double k42;h=(

25、b-a)/N;t=a;w0=c0;w1=c1;ofstream fout(a.txt); foutsetprecision(10)w0endl;for (int i=0;iN;i+)k00=h*w1;k01=h*f(t,w0,w1);k10=h*(w1+0.5*k01);k11=h*f(t+0.5*h,w0+0.5*k00,w1+0.5*k01);k20=h*(w1+0.5*k11);k21=h*f(t+0.5*h,w0+0.5*k10,w1+0.5*k11);k30=h*(w1+k21);k31=h*f(t+h,w0+k20,w1+k21);w0=w0+(k00+2*k10+2*k20+k3

26、0)/6.0;w1=w1+(k01+2*k11+2*k21+k31)/6.0;t=a+(i+1)*h; foutw0endl;/cout下一步endl;double fourRungeKutta(double a,double b,double N,double c2)double h,t;double w2;double k42;h=(b-a)/N;t=a;w0=c0;w1=c1;/cout(t,w0,w1)endl;for (int i=0;iN;i+)k00=h*w1;k01=h*f(t,w0,w1);k10=h*(w1+0.5*k01);k11=h*f(t+0.5*h,w0+0.5*k

27、00,w1+0.5*k01);k20=h*(w1+0.5*k11);k21=h*f(t+0.5*h,w0+0.5*k10,w1+0.5*k11);k30=h*(w1+k21);k31=h*f(t+h,w0+k20,w1+k21);w0=w0+(k00+2*k10+2*k20+k30)/6.0;w1=w1+(k01+2*k11+2*k21+k31)/6.0;t=a+(i+1)*h; / cout(t,w0,w1)endl;/cout下一步endl; return w0;void main()double a,b,tol,m,z,y;double N;double c2,t100,d100; /d

28、ouble w2;/d100中放置每次取一个t后得到的最后解w0N-1 couta;coutb;coutt0;coutm;couttol;coutN;couty;coutz;c0=y;c1=t0;coutsetprecision(10)aendl; coutt0=t0endl; d0=fourRungeKutta(a,b,N,c);coutd0=d0endl;if(fabs(d0-z)tol)fourRungeKutta0(a,b,N,c);else t1=z/d0*t0;c1=t1;coutt1=t1endl;d1=fourRungeKutta(a,b,N,c);coutd1=d1endl;

29、if(fabs(d1-z)tol)fourRungeKutta0(a,b,N,c);elsefor(int k=2;k=m;k+)tk=tk-1-(d1-z)*(tk-1-tk-2)/(d1-d0);c1=tk;dk=fourRungeKutta(a,b,N,c);couttk=tkendl;coutdk=dkendl;if(fabs(dk-z)tol)cout输出了:endl;fourRungeKutta0(a,b,N,c);break;cout 0, but without some such restriction on the growth of the solution for large , uniqueness is not guaranteed. For instance, the following function is a solution of the homogeneous heat equation w

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号