常微分方程的数值解及实验.ppt
《常微分方程的数值解及实验.ppt》由会员分享,可在线阅读,更多相关《常微分方程的数值解及实验.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章 常微分方程数值解法常微分方程数值解法 计算方法常微分方程的数值解及实验 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望1 引言引言 在常微分方程中,我们已经掌握了一些典型方程的解法。但许多形式的方程只能用数值方法求近似解,也就是求在某些点上满足一定精度的近似解。现以求一阶常微分方程初值问题(41)在区间a,b上的解为例,介绍数值方法的基本思想。设f(x,y)在带形区域 R:axb,-y+上为x,y的连续函数,且对任意的y满足李普希茨(Libusiz
2、e)条件 f(x,y1)-f(x,y2)Ly1-y2 (42)其中(x,y1)、(x,y2)R,L为正常数。在求初值问题(41)的数值解时,我们通常采用离散化方法(数值微分、数值积分、泰勒展式等),求在自变量x的离散点 a=x0 x1x2xn=b 图 4.1 上的准确解y(x)的近似值 y0,y1,y2,yn 常取离散点x0,x1,x2,xn为等距,即 x i+1-xi=h,i=0,1,2,n-1 h称为步长。图41表示为初值问题(41)在n+1个离散点上的准确解y(x)的近似值。2 欧拉法和改进的欧拉法欧拉法和改进的欧拉法 2.1 欧拉法(折线法)若将函数y(x)在点xi处的导数y(xi)用
3、差商来表示,即 再用yi近似地代替y(xi),则初值问题(41)就化为(43)式(43)就是所求的欧拉公式。欧拉公式有很明显的几何意义。我们知道初值问题(41)中的微分方程的解是xoy平面上的一簇积分曲线,这簇积分曲线上任意点(x,y)?的斜率为f(x,y),而初值问题(41)的解是过点(x0,y0)的一条特定的积分曲线。例1 用欧拉法求初值问题的数值解(取h=0.1)。解 因为故由欧拉计算公式(43)得(44)表 41 图 4.2 图 4.3 2.2 改进的欧拉法 欧拉法虽然形式简单,计算方便,但比较粗糙,精度也低。特别当y=y(x)?的曲线曲率较大时,欧拉法的效果更差。为了达到较高精度的计
4、算公?式,对欧拉法进行改进,将在一点(xi,yi)的切线斜率f(xi?,yi)用两点的平均斜率来代替,即 代入(43)式得(45)这样得到的点列仍为一折线,只是用平均斜率来代替原来一点处的斜率。式(45)称为改进的欧拉公式。不难发现,欧拉公式(43)是关于yi+1的显式?,只要已知yi,经一次计算可立即得到yi+1的值;而改进的欧?拉公式(45)中的yi+1以隐式给出,且yi+1含在函数f(xi+1,yi+1)中,因此?,通常用迭代法求解。具体做法是:先用欧拉公式(43)?求出一个y(0)i+1作为初始近似,然后再用改进的欧拉公式(45)进行迭代,即 直到满足(为预给精度)取 再转到下一步计算
5、。这里必须特别说明,因为初值问题(41)满足李普 希茨条件 当h足够小时,可使得 于是有当k时,有qk0,故公式(46)收敛。2.3 预估校正法 改进的欧拉公式在实际计算时要进行多次迭代,因而计算量较大。所谓预估校正法,就是先用(43)式算出yi+1的预估值y(p)i+1,然后再用(45)式进行一次迭代便得到校正值y(c)i+1,即(47)预估:校正:并取 虽然式(47)仅迭代一次,但因进行了预先估计,故精度却有较大的提高。在实际计算时,还常常将式(47)写成下列形式:(48)2.4误差估计 初值问题(41)的等价积分方程为(49)若对式(49)右端的积分采用各种不同的近似计算方法,就可以得到
6、初值问题(41)的各种不同的数值解法。例 如积分采用左矩形公式 图 4.4 用yi、yi+1分别代替y(xi)、y(xi+1)便得到欧拉公式(43)。若积分采用梯形公式 在进行误差分析时,我们假设yi=y(xi),考虑用yi+1代替y(x i+1)而产生慕囟衔蟛睿康氖俏伺卸吓拉公式和改进的欧拉公式的精确度。设初值问题(41)的准确解为y=y(x),则利用泰勒公式 1.欧拉公式的截断误差 由式(43)知(411)比较式(410)和(411)得(412)2.改进的欧拉公式的截断误差 由式(45)知(413)对(49)式右端的积分采用梯形公式并根据梯形公式的误差可得到(414)其中(xi,xi+1)
7、,比较式(413)和(414)得(415)因此 所以,改进的欧拉公式的截断误差为O(h3),也即改进的欧拉法为二阶的。可以验证,预估校正公式(47)与改进的欧拉公式的截断误差相同,均为O(h3)。这里略去证明。例 2求解初值问题 解 现分别用欧拉公式和改进的欧拉公式进行计算。这里欧拉公式的具体形式为 其解析解为 表 42 3 龙格库塔法龙格库塔法 3.1 泰勒级数展开法 我们还是假设yi=y(xi),利用泰勒级数展开求y(xi+1)。式(410)就是y(xi+1)的泰勒展开式,若取右端前有限项作为y(xi+1)的近似值,就可得到计算y(xi+1)的各种不同截断误差的数值公式。例 如,取前两项可
8、得到 y(xi+1)y(xi)+hy(xi)=y(xi)+hf(xi,y(xi)=yi+hf(xi,yi)若取前三项,可得到截断误差为O(h3)的公式 这里 y(xi)=f(xi,y(xi)y(xi)=fx(xi,y(xi)+fy(xi,y(xi)y(xi)=fx(xi,y(xi)+f(xi,y(xi)fy(xi,y(xi)类似地,若取前k项作为y(xi+1)的近似值,便得到截断误差为O(hk)的数值计算公式。这些公式的计算必须依赖于求y(xi)的k阶导数,除非f(x,y)足够简单,否则直接用泰勒展开法求解较为复杂。但是泰勒级数展开法的基本思想是许多数值方法的基础。3.2 龙格库塔法 前面已经
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 数值 实验
限制150内