《数值计算 第6章》由会员分享,可在线阅读,更多相关《数值计算 第6章(16页珍藏版)》请在金锄头文库上搜索。
1、的数值解法。它是寻求解曲线y(x)在一系列离散节点x1x2xnxn+1 上准确值y(xi)的近似值yI(i=0,1,2,)相邻两个节点的间距h=xi+1-xi称为步长。今后如不特别说明,总是假定h为定数,这时节点为xi=x0+ih(i=0,1,2,)初值问题的数值解法有个基本特点,它们都采取“步进式”,即求解过程顺着节点排列的次序一步一步地向前推进。描述这类算法,只要给出用已知信息yn,yn-1,yn-2计算yn+1的递推公式即可。,6.1 欧拉方法 6.2 龙格-库塔方法 6.3 一阶方程组 6.4 应用实例,6.1 欧拉方法,1. 方向场我们把x,y看作一平面上的直角坐标,并设方程(6.1
2、)右端的函数f(x,y)在此平面上某域G内有定义。所谓等斜线就是这样的点的轨迹,在这些点处方向场中方向的斜率取向一值c,2 . Euler方法 Euler方法是解方程(61)的最简单的数值方法。 3. 误差 为简化分析,人们常在yn为准确的假定下(即yn=y(xn),估计误差en+1=y(xn+1)-y(xn)+hfxn, y(xn)这种误差称为局部截断误差。如果不作这一假定,累积了n步的误差,称为整体截断误差。其表达式为En+1=y(xn+1)-yn+1=y(xn+1)-yn+hf(xn, yn),例1证明Euler方法能准确地求解以下初值问题:分析:因为准确解 ,所以 由Euler公式得y
3、0=y(x0),假定yn=y(xn),往证,证明: 由Euler 公式得,证 明 完 毕,6.2 龙格-库塔方法,我们已经知道,Euler方法是一阶方法。它是在假定yn=y(xn)的情况下,对解曲线y(x)在xn点Taylor展开取线性部分的结果。如果我们将Taylor展开多取几项,就可以得到更高精度的方法:龙格-库塔(Runge-kutta)方法。 Runge-kutta方法要用到高等数学中的二元Taylor公式和二元函数求导法则。,例4 证明对于任意参数,下列格式都是二阶的:,证明完毕,6.3 一阶方程组,例6已知一火箭发动机的推力p(t)=2000kg,燃气喷射速度vr=2000m/s,
4、空气阻力函数火箭在t=0.1s时从倾角045的发射架射出,此时火箭的重量q0=45kg,速度v0=50m/s,若发动机在一秒钟后(t=1.1s)关车停止工作,求此时火箭所具有的速度v和方向角,要求精度为0.1m/s及0.0003rad。,解:根据质点运动学基本原理,火箭在主动飞行段理想运动状态的微分方程为,这里v(t)是火箭运动速度,(t)是火箭运动方向与水平方向的夹角,g=9.8m/s是重力加速度,火箭质量这实际上就是在t=0.1s时v0=50m/s,0=45的初始条件下求上面微分方程组在t=1.1s时速度v和方向角(上机计算留为作业)。,6.4 应用实例,例7卫星围绕地球和月球飞行(假定三者在同一平面上),忽略大气阻力,地球的扁球性等微小作用,则卫星的运动方程可表示为:,其中,=1-,初始条件:,