数值方法 第9章 常微分方程数值解 (上).doc

上传人:枫** 文档编号:559736954 上传时间:2023-10-06 格式:DOC 页数:20 大小:884KB
返回 下载 相关 举报
数值方法 第9章 常微分方程数值解 (上).doc_第1页
第1页 / 共20页
数值方法 第9章 常微分方程数值解 (上).doc_第2页
第2页 / 共20页
数值方法 第9章 常微分方程数值解 (上).doc_第3页
第3页 / 共20页
数值方法 第9章 常微分方程数值解 (上).doc_第4页
第4页 / 共20页
数值方法 第9章 常微分方程数值解 (上).doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《数值方法 第9章 常微分方程数值解 (上).doc》由会员分享,可在线阅读,更多相关《数值方法 第9章 常微分方程数值解 (上).doc(20页珍藏版)》请在金锄头文库上搜索。

1、第九章 常微分方程数值解(上)0 引言一阶常微分方程初值问题 (*)其中是平面某一区域D上的连续函数,如果,满足 存在,并满足方程那么是初值问题(*),在上的解。对于(*)是否有唯一解?对还要附加一些条件。定义 如果存在常数,使得对任有则称满足Lipschitz条件,L为Lipschitz常数。 如果 ,那么有导数有界满足Lipschitz条件如果存在常数,使得对一切及有 则称对满足Lipschitz条件定理(存在唯一性),设是在上的连续函数,而且对满足Lipschitz条件,则对任,初值问题(*)在上存在唯一的连续可微解。为了对初值问题进行求解,一些简单问题有解析解,大量非线性问题没有解析表

2、达式,因此,近似求解和数值求解常微分方程是非常必要的。首先对连续区间离散化为常数。离散点是等矩的也可以不等距的,下面仅讨论等距情况。 在处的值记为,其近似值用表示1 简单数值方法(I)显式Euler方法Euler方法是求常微分方程初值问题的最简单办法。 略去高阶项 即 设是初值问题的解,那么有从而有左边称为差商,即用差商近似微商从开始,再利用 (*)得 的近似值,再以作为的近似值,由(*)得到的近似值 (1)这是计算初值问题近似解的公式,当已知时,可由公式(1)简单地求出,方法称为显式的,由上的近似值可求出上的近似值,称为单步公式,(1)称为显式Euler方法。(II)隐式Euler方法 略去

3、高阶项,并设是初值问题的解,则有即写为同样用 的近似值代入有 (2)(2)的右端含有,不能直接由(2)可得,这种方法称为是隐式的。(2)称为隐式Euler方法;由于不能由直接计算出,而是要解方程,一般用迭代方法,即 取,或用显式求出作为 即 。 当 时,取这样方法称为迭代法考虑迭代收敛性: 当收敛;称为迭代收敛条件(III)梯形方法在上对上式进行积分有等式右边采用梯形公式近似有 用来代替就得到 (3)此公式称为梯形公式,由于等式右边含有,因而是隐式方法。用它们来求时必须解方程,一般用迭代求解。取,迭代公式为同样,当时,取;仿隐式Euler方法推导,梯形公式迭代收敛条件为例 取 计算到Euler

4、方法用 代入有 梯形方法 用,代入有 由于是线性方程,因此不用进行迭代Euler方法与梯形方法计算比较:从数值结果看出,梯形公式比Euler公式好,但一般梯形公式需要进行迭代,因此做一步费时;“计算效率”比较,应从精度,耗机时等方面进行比较,还应从实际对精度要求来考虑。(IV)予估一校正方法为了消除迭代,出现了予估一校正的方法,先给出粗糙估计,然后再给出稍精确的求解,这是微分方程数值解常用方法。改进Euler方法 予估 校正或写成 这公式称为改进的Euler公式,其精度比Euler公式好,比梯形公式稍差些。例子 用Euler方法和改进Euler方法解初值问题。 步长取 ;由0计算到3。 可以看

5、出改进Euler方法较为精确(V)显式单步方法基本概念已经引入了四种方法;Euler方法,隐式Euler方法,梯形方法,以及改进Euler方法,其中二种为隐式方法,Euler方法与改进Euler方法为显式方法,下面重点讨论显式方法,对于隐式方法在多步方法中讨论。其中,一般显式方法可以统一写成如下形式 从开始进行计算, 在处微分方程初值问题 的精确解。 与之差 称为方法在处的整体截断误差,当然这与整个计算中每步情况有关,但一般求得较为困难,因此先考虑一步的截断误差:Euler方法 是典型单步方法,定义:称为显式单步法在处的局部截断误差,其中是微分方程初值问题在处的精确解。显然对于单步方法 如果每

6、步是精确的 那么 即 为是精确值,用显式单步法计算一步的误差,因此称为局部截断误差。关于误差仅讨论截断误差,舍入误差暂不讨论。考虑显式Euler方法 按定义: 假定在a,b上有连续二阶导数,即。令局部截断误差,当时,与同阶,即是二阶的。下面讨论Euler方法的整体截断误差。 (插入项,引用局部截断误差) 由于微分方程的初值问题解存在唯一,一个充分条件是关于y满足Lipschitz条件,即存在L有 同样推导有 由于 取 ,故 注意到:,等比级数 h是步长, 当时,整体误差,即当h充分小时充分接近,可以看出的误差阶不同。隐式Euler方法 (定义)仅讨论 与显式Euler公式大体相同。梯形方法 下

7、面仍考虑一般显式单步方法 定义 设是 的准确解,对显式单步法,则满足的最大整数P,称为显式单步方法的阶 Euler方法是一阶的相似地称(在多步法中):隐式Euler方法也是一阶 梯形方法二阶要考虑其方法的阶,必须求出局部截断误差,一般关心其展式第一项。 定义 若方法是P阶的,其局部截断误差 为局部截断误差主项Euler方法 局部截断误差主项为 讨论改进Euler方法的局部截断误差 要用到二维Taylor展开, 注意到:, 可以看出 此方法是二阶的2 Rung-Kutta方法(I)用Taylor展开构造高阶方法利用方程 把这些导数代入的有限项展式,就得到Taylor展开方法。例如 Euler公式

8、Euler方法是1阶方法,而上面是2阶方法。 这是三阶方法。 还可以类似推导下去,得到高阶方法,但是要计算很多偏导数。特别f复杂时,这方法不实用,因此想采用这样思想,又不计算导数,由此导出Runge-kutta方法。(II)Runge-Kutta方法Runge首先提出间接采用Taylor展开方法,即用在几个节点上函数值的线性组合来代替f的导数,然后按Taylor展开,确定其系数,以期提高方法精度,这样既避免f的导数计算,同时又保证了精度。令 (1)其中为待定权因子,R为使用的f值的个数,表示如下: (2) 具体写出有: (3) 其中参数为提高精度创造了条件;用R个称为R级R-K方法。取R=1

9、此时只有一个K1并有 (4)利用Taylor式来确定C1, 设为微方程初值问题的光滑解。假定那么(4)的右端可以写为 比较得 Euler公式局部截断误差 下面考虑则 (5)仍假定,对在处作Taylor展开把代入(5)有 对于 此式与上式比较得 有四个未知数,但仅有三个方程。取为自由参数, ,取 ,得中点公式取 ,得 改进Euler公式 Heun公式。对于三级方法 (6)利用Taylor展开,可以构造三阶方法。对于微分方程光滑解有 用代入(6)的右边有 与R=2时,同样比较系数可以得出 这是8个未知数,6个方程,有二个自由参数可选取。 对于R=4,可导出4阶方法。此时有13个参数,11个方程,推导更为复杂,常用的有经典Runge-Kutta方法。其中 这是经常使用方法,一般都有标准程序可调用例子,用Euler方法,h=0.025,改进Euler方法(二阶Runge-Kutta方法),h=0.05以及4阶Runge-Kutta方法,h=0.1解初值问题:比较计算结果利用可以得出精确解为Euler方法 改进Euler方法 4阶Runge-Kutta 计算结果: Euler 改进Euler 4阶R-K 精确解1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号