数值分析 第八章 常微分方程数值解法
数值分析 Numerical Analysis,第八章 常微分方程数值解法,郑州大学研究生课程 (2014-2015学年第一学期),2/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,第八章 常微分方程数值解法,§8.1 引言 §8.2 欧拉(Euler)法 §8.3 改进欧拉(Euler)方法 §8.4 单步法的稳定性,3/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.1 引言,问题提出倒葫芦形状容器壁上的刻度问题.对于圆柱形状容器壁上的容积刻度,可以利用圆柱体体积公式,其中直径D为常数.由于体积V与相对于容器底部的任意高度H的函数关系明确,因此在容器上可以方便地标出容器刻度。对于几何形状不是规则的容器,比如倒葫芦形状容器壁上如何标出刻度呢?,4/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.1 引言,下表是经过测量得到部分容器高度与直径的关系.,H 0 0.2 0.4 0.6 0.8 1.0 D 0 0.11 0.26 0.56 1.04 1.17,根据上表的数据,可以拟合出倒葫芦形状容器的图,建立如图所示的坐标轴后,问题即为:如何根据任意高度x标出容器体积V的刻度,由微元思想分析可知,5/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.1 引言,其中x表示高度,直径D是高度x的函数,记为D(x),因此得到如下微分方程初值问题,只要求解上述方程,就可求出体积V与高度x之间的函数关系,从而可标出容器壁上容积的刻度,但问题是函数D(x)无解析表达式,我们无法求出其解析解.,6/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.1 引言,包含自变量x、未知函数y及未知函数的导数或微分的方程称为微分方程。在微分方程中, 自变量的个数只有一个, 称为常微分方程。自变量的个数为两个或两个以上的微分方程叫偏微分方程。微分方程中出现的未知函数最高阶导数的阶数称为微分方程的阶数。如果未知函数y及其各阶导数都是一次的,则称它是线性的,否则称为非线性的。,7/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,常微分方程( ODEs 未知函数是一元函数) 偏微分方程( PDEs 未知函数是多元函数),8/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,同一个微分方程,具有不同的初始条件,微分方程的定解条件:,9/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,当x=0时,y=1,可得c=1时特解,当x=0时,y=1,可得c=-1时特解,两边积分,通解,本章重点讨论一阶常微分方程的初值问题,,10/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.1 引言,在高等数学中,对于常微分方程的求解,给出了一些典型方程求解析解的基本方法,如可分离变量法、常系数齐次线性方程的解法、常系数非齐次线性方程的解法等。但能求解的常微分方程仍然是有限的,大多数的常微分方程是不可能给出解析解。,11/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.1 引言, 待求解的问题:一阶常微分方程的初值问题 /* Initial-Value Problem */:,解的存在唯一性(“常微分方程”理论):只要 f (x, y) 在a, b R1 上连续,且关于 y 满足 Lipschitz 条件,即存在与 x, y 无关的常数 L 使则上述IVP存在唯一解。,12/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,解析解法:(常微分方程理论) 只能求解极少一类常微分方程;实际中给定的问题不一定是解析表达式,而是函数表,无法用解析解法。数值解法:递推法,如何求解,13/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,14/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,记号:,15/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,推导Euler格式: Taylor展开法 数值微分 数值积分法,对微分方程的离散,可以有多种思路,但最基本的想法是“以直代曲”,16/66,郑州大学研究生2014-2015学年课程 数值分析 Numerical Analysis,16/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,(1) Taylor展开法,方程初值问题Euler公式,设给定等距剖分,当步长h充分小时,略去h2项,得,17/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,(2) 用差商近似导数,差分方程初值问题 向前Euler方法,18/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,若用向后差商近似导数,即,向后Euler方法,19/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,(3)用数值积分方法,20/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,若对积分用梯形公式,则得,梯形欧拉公式,21/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,欧拉(Euler)方法是解初值问题的最简单的数值方法。初值问题的解y=y(x)代表通过点 的一条称之为微分方程的积分曲线。积分曲线上每一点的切线的斜率 等于函数 在这点的值。,22/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,Euler法的求解过程是:从初始点P0(即点(x0,y0)出发, 作积分曲线y=y(x)在P0点上切线 (其斜率为 ),与x=x1直线,相交于P1点(即点(x1,y1),得到y1作为y(x1)的近似值,如上图所示。过点(x0,y0),以f(x0,y0)为斜率的切线方程为 当 时,得,这样就获得了P1点的坐标。,23/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,同样, 过点P1(x1,y1),作积分曲线y=y(x)的切线 交直线x=x2于P2点,切线 的斜率 直线方程为,当 时,得,24/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,当 时,得,由此获得了P2的坐标。重复以上过程,就可获得一系列的点:P1,P1,Pn。对已求得点 以 为斜率作直线,取,25/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,从图形上看,就获得了一条近似于曲线y=y(x)的折线 。,这样,从x0逐个算出 对应的数值解,26/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,x0,x1,x2,x3,y0,h,h,h,欧拉折线法,27/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,28/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,例8.2.1 用欧拉法解初值问题,取步长h=0.2 ,计算过程保留4位小数,解: h=0.2, 欧拉迭代格式,当 n=0时,已知x0=0,y0=1,有y(x1)= y(0.2) y1=0.2×1(40×1)0.8 当 n=1时,已知x1 =0.2, y1 =0.8,有y(0.4) y2 =0.2×0.8×(40.2×0.8)0.6144 当 n=2,时,已知x2 =0.4, y2 =0.6144,有y(0.6) y3=0.2×0.6144×(4-0.4×0.6144)=0.4613,29/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,解:Euler公式为,当h=0.5时,30/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,当h=0.25时,31/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,0,0.5,0.75,1.0,1,0.25,h = 0.5,h = 0.25,32/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,欧拉方法的收敛性,假设第n步是准确的,33/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,局部截断误差,称为局部截断误差,34/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,欧拉方法的收敛性,定义 若给定方法的局部截断误差满足则称该方法是 P 阶的,或称为具有 P 阶精度。,35/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,整体截断误差,36/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,欧拉方法的收敛性,37/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,由此知,当,38/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法,注,整体截断误差与局部截断误差的关系:,39/66,郑州大学研究生2011-2012学年课程 数值分析 Numerical Analysis,§8.2 欧拉(Euler)法 向后欧拉公式,