420 likes | 651 Views
第八章 常微分方程的数值方法 ( Numerical Methods for Ordinary Differential Equations ). 常微分方程分为 ( 1 )初值问题( 8.1 节 ) ( 2 )边值问题( 8.2 节 ). 8.1 初值问题的数值方法. 一阶常微分方程初值问题的一般形式是:. 称 f(x,y) 在区域 D 上对 y 满足 Lipschitz 条件是指:.
E N D
第八章 常微分方程的数值方法(Numerical Methods for Ordinary Differential Equations ) 常微分方程分为 (1)初值问题(8.1节) (2)边值问题(8.2节)
8.1 初值问题的数值方法 一阶常微分方程初值问题的一般形式是:
利用Picard逼近容易证明: Th8.1.1 若f(x,y)在区域D上连续,且对y满足Lipschitz条件,则初值问题(1)在[a,b]上存在唯一的连续可微解y.
定理8.1.2的意义在于:若初值问题(1),(2)中的初始值有一微小扰动,则解的扰动也是微小的,也就是解连续依赖于初始条件.通常将具有这种特性的初值问题称为是适定的.定理8.1.2的意义在于:若初值问题(1),(2)中的初始值有一微小扰动,则解的扰动也是微小的,也就是解连续依赖于初始条件.通常将具有这种特性的初值问题称为是适定的. (稳定的)
数值解和精确解 用数值方法求解初值问题,不是求出它的解析解或其近似解析式,而是给出它的解在某些离散节点上的近似值 用y(x)表示问题(1),(2)的准确解 y(x0), y(x1),y(xN) 表示解y(x)在节点x0, x1,…, xN处的准确值 y0,y1,…,y N表示数值解,即问题(1),(2)的 解y(x) 在相应节点处的近似值,
单步法和多步法 单步法:在计算yi+1时只利用y i 多步法:在计算yi+1时不仅利用y i , 还要利用 yi−1, yi−2,…, k步法:在计算yi+1时要用到yi,yi−1,…,yi−k+1 显式计算公式可写成:yk+1=yk+hΦf(xk,yk;h) 隐式格式:yk+1=yk+hΦf(xk,yk,yk+1;h) 它每步求解yk+1需要解一个隐式方程
8.1.2 单步法 一. Euler方法 Euler方法是一种最简单的单步法
用差商近似导数 x0 x1 记为 Euler公式 继续这一过程,得到 从而得到求解初值问题(1),(2)的公式
定义 在假设 yi = y(xi),即第i步计算是精确的前提下,考虑的截断误差 Ri = y(xi+1) yi+1 称为局部截断误差 /* local truncation error */。 局部截断误差 假定“yi = y(xi)”称为局部化假定
若某算法的局部截断误差为O(hp+1),则称该算法有p阶精度。 若某算法的局部截断误差为O(hp+1),则称该算法有p阶精度。 定义 估计局部截断误差的主要方法是Taylor展开法
Euler方法的局部截断误差 欧拉法具有 1 阶精度。
8.1.2 一阶常微分方程初值问题的Runge-Kutta方法 考虑一阶常微分方程初值问题
若 则
二级Runge-Kutta方法 取n=2 记
改进的Euler方法 • 取
中点方法 取
二阶Heun方法 取
二级Runge-Kutta方法不超过二阶 • 记 • 则
三级Runge-Kutta方法 取n=3
Kutta方法 取
三阶Heun方法 • 取
三级Runge-Kutta方法不超过三阶 • 完全类似于二级Runge-Kutta方法的分析 将 和 都展开到 项 易证 三级Runge-Kutta方法的局部截断误差只能达到
四级R-K方法 取n=4
经典R-K方法 局部截断误差为O(h5)
附注 • 二阶Runge-Kutta方法的局部截断误差 只能达到 • 三阶Runge-Kutta方法的局部截断误差 只能达到 • 四阶Runge-Kutta方法的局部截断误差 只能达到 • 五阶Runge-Kutta方法的局部截断误差 只能达到