文档详情

计算方法常微分方程.ppt

发布:2018-05-04约3.54千字共18页下载文档
文本预览下载声明
* 第八章 常微分方程数值解 /* Numerical Methods for Ordinary Differential Equations */ y 为人口数量,r为人口增长率, y0为时刻x0的人口数量。 求常微分方程解析解的方法有多种多样,但是利用这些方法,我们只能对极少数特殊类型的常微分方程求解;科学研究和工程技术上的大量常微分方程的求解需借助于数值计算方法。 比如,描述人口增长的著名人口模型: 常微分方程是常用的数学模型。 该方程有解析解y(x)=y0er(x-xo)。 ? 考虑一阶常微分方程的初值问题 /* Initial-Value Problem */: 只要 f (x, y) 在[a, b] ? R1 上连续,且关于 y 满足 Lipschitz 条件,即存在与 x, y 无关的常数 L 使 对任意定义在 [a, b] 上的 y1(x) 和 y2(x) 都成立,则上述IVP存在唯一解。 要计算出解函数 y(x) 在一系列节点 a = x0 x1… xn= b 处的近似值 节点间距hi=xi+1-xi称为步长,当 hi = h 为常数时称为等步长。 利用y0求节点x1处的近似值y1, 再从y1来求出y2…, 直至求出所有的yn. 称之为步进法. §1 欧拉方法 /* Euler’s Method */ ? 欧拉公式: xi xi+1 向前差商近似导数 对于xi∈[a,b], 有 则 有 将上式中的函数值y(xi)都用近似值yi来表示, 则有数值计算格式 7.1 Euler’s Method 例7.1 求解初值问题 取步长分别为h=0.1和h=0.05, 进行计算, 结果有 解: 该方程的解析解是y=(1+2x)1/2. 欧拉格式是 k xi y(xi) yi (h=0.1) yi (h=0.05) 0 1 2 3 4 5 . . 0.0 0.1 0.2 0.3 0.4 0.5 . . 1.0 1.1000 1.1918 1.2774 1.3582 1.4351 . . 1.0 1.0977 1.1876 1.2713 1.3502 1.4174 . . 1.0 1.0954 1.1832 1.2649 1.3416 1.4142 . . 定义    在假设 yi = y(xi),即第 i 步计算是精确的前提下,考虑的截断误差 Ri = y(xi+1) ? yi+1 称为局部截断误差 /* local truncation error */。 定义    若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。 ? 欧拉法的局部截断误差: 欧拉法具有 1 阶精度。 Ri 的主项 /* leading term */ ? 局部截断误差: 7.1 Euler’s Method ? 欧拉公式的改进: ? 隐式欧拉法 /* implicit Euler method */ 向后差商近似导数 xi xi+1 y(xi+1)≈yi+hf(xi+1, y(xi+1)) ) 1 , ... , 0 ( ) , ( 1 1 1 - = + = + + + n i y x f h y y i i i i 由于未知数 yi+1 同时出现在等式的两边,不能直接得到,故称为隐式 /* implicit */ 欧拉公式,而前者称为显式 /* explicit */ 欧拉公式。 ? 隐式欧拉法的局部截断误差: 即隐式欧拉公式具有 1 阶精度。 7.1 Euler’s Method ? 梯形公式 /* trapezoid formula */ — 显、隐式两种算法的平均 注:的确有局部截断误差 , 即梯形公式具有2 阶精度,比欧拉方法有了进步。但注意到该公式是隐式公式,不便于实际计算。 ) 1 , ... , 0 ( ) , ( 1 1 1 - = + = + + + n i y x f h y y i i i i 7.1 Euler’s Method ? 改进欧拉法 /* modified Euler’s method */ Step 1: 先用显式欧拉公式作预测,算出 ) , ( 1 i i i i y x f h y y + = + Step 2: 再将 代入隐式梯形公式的右边作校正,得到 1 + i y )] , ( ) , ( [ 2 1 1 1 + + + + + = i i i i i i y x f y x f h y y 7.1 Euler’s Method 或者
显示全部
相似文档