




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章常微分方程初值问题数值解法15.1
引言本章要着重考察的一阶方程的初值问题(1.1)(1.2)只要函数适当光滑——譬如关于满足利普希茨(Lipschitz)条件(1.3)理论上就可以保证初值问题(1.1),(1.2)的解存在并且惟一.2所谓数值解法,就是寻求解在一系列离散节点上的近似值.相邻两个节点的间距称为步长.如不特别说明,总是假定为定数,这时节点为.初值问题(1.1),(1.2)的数值解法的基本特点是采取“步进式”.即求解过程顺着节点排列的次序一步一步地向前推进.(1.1)(1.2)3描述这类算法,只要给出用已知信息计算的递推公式.一类是计算时只用到前一点的值,称为单步法.另一类是用到前面点的值,称为步法.其次,要研究公式的局部截断误差和阶,数值解与精确解的误差估计及收敛性,还有递推公式的计算稳定性等问题.首先对方程离散化,建立求数值解的递推公式.45.2
简单的数值方法与基本概念
5.2.1
Euler
Euler方法
积分曲线上一点的切线斜率等于函数的值.如果按函数在平面上建立一个方向场,那么,积分曲线上每一点的切线方向均与方向场在该点的方向一致.在平面上,微分方程的解称作它的积分曲线.5基于上述几何解释,从初始点出发,先依方向场在该点的方向推进到上一点,然后再从依方向场的方向推进到上一点,循此前进做出一条折线(图5-1).图5-16一般地,设已作出该折线的顶点,过依方向场的方向再推进到,显然两个顶点的坐标有关系即(2.1)这就是著名的欧拉(Euler)公式.若初值已知,则依公式(2.1)可逐步算出7
例1(2.2)求解初值问题
解取步长,欧拉公式的具体形式为计算结果见表5-1.初值问题(2.2)的解为,按这个解析式子算出的准确值同近似值一起列在表5-1中,两者相比较可以看出Euler方法的精度很差.8还可以通过几何直观来考察Euler方法的精度.假设,即顶点落在积分曲线上,那么,按Euler方法作出的折线便是过点的切线(图5-2).9图5-2从图形上看,这样定出的顶点明显地偏离了原来的积分曲线,可见Euler方法是相当粗糙的.为了分析计算公式的精度,通常可用Taylor展开将在处展开,则有10在的前提下,称为此方法的局部截断误差.于是可得Eulor法(2.1)的公式误差(2.3)(2.4)(2.1)如果对方程从到积分,得11右端积分用左矩形公式近似.再以代替如果在(2.4)中右端积分用右矩形公式(2.5)称为后退的Euler法.
Euler公式是关于的一个直接的计算公式,这类公式代替也得到(2.1),局部截断误差也是(2.3).近似,则得另一个公式称作是显式的;(2.1)(2.3)(2.4)12公式(2.5)的右端含有未知的,它是关于的一个函数方程,隐式方程通常用迭代法求解,而迭代过程的实质是逐步显示化.设用欧拉公式给出迭代初值,用它代入(2.5)式的右端,使之转化为显式,直接计算得这类公式称作是隐式的.(2.5)(2.5)13然后再用代入(2.5)式,又有如此反复进行,得(2.6)由于对满足利普希茨条件(1.3).由(2.6)减(2.5)得由此可知,只要迭代法(2.6)就收敛到解.(2.5)(2.5)(1.3)14从积分公式可以看到后退Euler方法的公式误差与Euler法是相似的.15
5.2.2
梯形方法
若用梯形求积公式近似等式(2.4)右端的积分并分别用代替则可得到比Euler法精度高的计算公式(2.7)称为梯形方法.梯形方法是隐式单步法,可用迭代法求解.(2.4)16为了分析迭代过程的收敛性,将(2.7)与(2.8)式相减,得(2.8)同后退的Euler方法一样,仍用Euler方法提供迭代初值,则梯形法的迭代公式为(2.7)17如果选取充分小,使得则当时有这说明迭代过程(2.8)是收敛的.于是有式中为关于的利普希茨常数.18
5.2.3
单步法的局部截断误差与阶
初值问题(1.1),(1.2)的单步法可用一般形式表示为(2.9)其中多元函数与有关,当含有时,方法是隐式的,若不含则为显式方法,(2.10)称为增量函数.所以显式单步法可表示为例如对欧拉法(2.1)有它的局部截断误差已由(2.3)给出.(1.1)(1.2)(2.1)(2.3)19对一般显式单步法则可如下定义.
定义1设是初值问题(1.1),(1.2)的准确解,(2.11)为显式单步法(2.10)的局部截断误差.
之所以称为局部的,是假设在前各步没有误差.当时,计算一步,则有称(1.1)(1.2)(2.10)20在前一步精确的情况下用公式(2.10)计算产生的公式误差.根据定义,Euler法的局部截断误差即为(2.3)的结果.这里称为局部截断误差主项.局部截断误差可理解为用方法(2.10)计算一步的误差,即显然(2.10)(2.10)(2.3)21
定义2设是初值问题(1.1),(1.2)的准确解,若存在最大整数使显式单步法(2.10)的局部截断误差满足(2.12)则称方法(2.10)具有阶精度.若将(2.12)展开式写成则称为局部截断误差主项.以上定义对隐式单步法(2.9)也是适用的.(1.1)(1.2)(2.10)(2.10)(2.9)22对后退Euler法(2.5)其局部截断误差为这里,是1阶方法,局部截断误差主项为.(2.5)23对梯形法(2.7)有所以梯形方法是2阶的,其局部误差主项为(2.7)24
5.2.4
改进的欧拉公式
梯形方法虽然提高了精度,但其算法复杂.在应用迭代公式(2.9)进行实际计算时,每迭代一次,都要重新计算函数的值.为了控制计算量,通常只迭代一两次就转入下一步的计算,这就简化了算法.具体地,先用Euler公式求得一个初步的近似值,而迭代又要反复进行若干次,计算量很大,而且往往难以预测.称之为预测值,(2.9)25这样建立的预测-校正系统通常称为改进的Euler公式:预测值的精度可能很差,再用梯形公式(2.7)将它校正一次,即按(2.8)式迭代一次得,这个结果称校正值.预测校正(2.13)也可以表为下列平均化形式(2.7)(2.8)26
例2
解用改进的Euler方法求解初值问题(2.2).(2.2)这里改进的Euler公式为27仍取,计算结果见表5-2.同例1中Euler法的计算结果比较,改进Euler法明显改善了精度.285.3Runge-Kutta方法29
5.3.1
Runge-Kutta法的一般形式上节给出了显式单步法的表达式其局部截断误差为对欧拉法,即方法为阶.(3.1)若用改进Euler法,它可表示为30此时增量函数(3.2)与欧拉法的相比,增加了计算一个右函数的值,可望.若要使得到的公式阶数更大,就必须包含更多的值.(3.3)从方程等价的积分形式(2.4),即31若要使公式阶数提高,就必须使右端积分的数值求积公式精度提高,必然要增加求积节点.为此可将(3.3)的右端用求积公式表示为点数越多,精度越高,上式右端相当于增量函数,为得到便于计算的显式方法,可类似于改进Euler法,将公式表示为(3.4)其中(3.3)32(3.5)这里均为常数.
(3.4)和(3.5)称为级显式龙格-库塔(Runge-Kutta)法,简称R-K方法.当时,就是Euler法,此时方法的阶为.当时,改进Euler法(3.1),(3.2)也是其中的一种.(3.4)33下面将证明阶.要使公式(3.4),(3.5)具有更高的阶,就要增加点数.下面就推导R-K方法.(3.4)(3.5)34
5.3.2
二阶R-K方法
对的R-K方法,计算公式如下(3.6)这里均为待定常数.希望适当选取这些系数,使公式阶数尽量高.根据局部截断误差的定义,(3.6)的局部截断误差为(3.7)35这里.为得到的阶,要将上式各项在处做Talor展开,由于是二元函数,故要用到二元Talor展开,其中各项展开式为(3.8)36将以上结果代入局部截断误差公式则有要使公式(3.6)具有阶,必须使(3.6)37即(3.9)的解是不惟一的.令,则得这样得到的公式称为二阶R-K方法,如取,则这就是改进Euler法(3.1).(3.9)38若取则.称为中点公式,(3.10)也可表示为得计算公式(3.10)相当于数值积分的中矩形公式.的R-K公式(3.6)的局部误差不可能提高到.(3.6)39把多展开一项,从(3.8)的看到展开式中的项是不能通过选择参数消掉的.实际上要使的项为零,需增加3个方程,要确定4个参数,这是不可能的.故的显式R-K方法的阶只能是,而不能得到三阶公式.40
5.3.3
三阶与四阶R-K方法
要得到三阶R-K方法,必须.(3.11)其中及均为待定参数.此时(3.4),(3.5)的公式表示为公式(3.11)的局部截断误差为(3.4)(3.5)41只要将按二元函数Taylor展开,使,可得待定参数满足方程(3.12)42这是8个未知数6个方程的方程组,解也不是惟一的.所以这是一簇公式.满足条件(3.12)的公式(3.11)统称为三阶R-K公式.一个常见的公式为此公式称为库塔三阶方法.43继续上述过程,经过较复杂的数学演算,可以导出各种四阶R-K公式,下列经典公式是其中常用的一个:可以证明其截断误差为.四阶Runge-Kutta方法的每一步需要计算4次函数值,(3.13)44
例3
解设取步长,从到用四阶龙格-库塔方法求解初值问题这里,经典的四阶龙格-库塔公式为45表5-3列出了计算结果,同时列出了相应的精确解.比较例3和例2的计算结果,显然龙格-库塔方法的精度高.46但由于这里放大了步长,所以表5-3和表5-2所耗费的计算量几乎相同.龙格-库塔方法的推导基于泰勒展开方法,因而它要求所求的解具有较好的光滑性质.反之,如果解的光滑性差,那么,使用四阶龙格-库塔方法求得的数值解,其精度可能反而不如改进的欧拉方法.四阶龙格-库塔方法每一步要4次计算函数,其计算量比每一步只要2次计算函数的二阶龙格-库塔方法----改进的欧拉方法大一倍.47
5.3.4
变步长的龙格-库塔方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安阳滑县投资集团有限公司公开招聘工作人员25名笔试参考题库附带答案详解
- 2025年国网中兴有限公司招聘9人(第一批)笔试参考题库附带答案详解
- 2024辽宁沈阳水务集团有限公司招聘32人笔试参考题库附带答案详解
- 2025年上半年佛山市南海社会保障(市民)卡服务中心招聘政府辅助工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年亳州市谯城区文化市场招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年云南省普洱市事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年云南省保山市昌宁县乡镇基层专业技术人员需求信息(46人)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年云南曲靖市富源县煤炭工业局所属事业单位招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年丽水市松阳县事业单位赴上海招考人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年中部陆海国际多式联运郑州限公司社会招聘10人易考易错模拟试题(共500题)试卷后附参考答案
- DB5101-T 71-2020 成都市电动汽车充电设施 安全管理规范
- 2025年七台河职业学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 监理人员安全培训考试试卷(答案)
- 2025年北京电子科技职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- xxx项目财务评价报告
- 2024年山东交通职业学院高职单招语文历年参考题库含答案解析
- 【MOOC】数据库系统(上):模型与语言-哈尔滨工业大学 中国大学慕课MOOC答案
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
- HCCDP 云迁移认证理论题库
- 现代交换原理与技术课件:第5章 分组交换技术
- 励磁系统报告(共25页)
评论
0/150
提交评论