第二讲 常微分方程数值求解:Euler法与R-K法 常微分方程组与高阶方程.pptVIP

  • 587
  • 0
  • 约2.79千字
  • 约 35页
  • 2017-12-08 发布于广西
  • 举报

第二讲 常微分方程数值求解:Euler法与R-K法 常微分方程组与高阶方程.ppt

第二讲 常微分方程数值求解 —— Euler 法与 R-K 法 —— 常微分方程组与高阶方程 2 主要内容 Euler 法与改进的 Euler 法 算法分析:误差与收敛性 Runge-Kutta 法 一阶常微分方程组与高阶方程 应用举例 Matlab 相关函数 3 初值问题 考虑一维经典初值问题 问题:如何计算 y(b) 的近似值? 4 Euler 公式 两边求积分可得 左点矩形公式 Euler 公式 5 Euler 法 分割区间,在每个小区间上使用 Euler 公式,逐步递推 6 Euler 法 Euler 法 7 几何含义 8 举例 例:用 Euler 法解初值问题 解:Matlab 代码见 Euler.m, Example1.m 真解 9 梯形法 计算定积分时采用梯形公式,即 梯形公式 缺点:公式右端含有 yk+1,求解较困难 梯形法 10 改进的Euler法 先用 Euler 法计算出 yk+1 的近似值,然后代入后端项中 改进的 Euler 法 第一步称为预估,第二步称为校正 通常也写为: 其中: 11 举例 例:用 Euler 法和改进的 Euler 法解初值问题 解:Matlab 代码见 EulerM.m, Example2.m 真解 12 主要内容 Euler 法与改进的 Euler 法 算法分析:误差与收敛性 Runge-Kutta 法 一阶常微分方程组与高阶方程 应用举例 Matlab 相关函数 13 单步法 单步法与多步法 如果在计算 yk+1 时,只需用到 yk 的值,则称为单步法 如果在计算 yk+1 时,需用到 yk , yk-1 , . . . , yk-r+1 的值(即需要使用前 r 的点的值),则称为多步法 解初值问题的等步长单步法的一般形式 如果  中含有 yk+1 ,则称算法为隐式的,否则为显式的 显式单步法的一般形式 称  为增量函数 14 局部截断误差 定义:设 y(x) 是初值问题的精确解,则称 为显式单步法的局部截断误差。 Rk+1 是局部的,因为这里假定 yk 是精确的,即 yk=y(xk) 例:采用等步长的 Euler 法和梯形公式Euler法的局部截断误差 Euler 法的局部截断误差: 梯形公式 Euler法的局部截断误差: 15 相容性与阶 定义:若增量函数 (x, y, h) 在 h=0 处连续,且满足 则称显式单步法是相容的。 等步长显式单步法的相容性与阶 定义:设 p 是使得下式成立的最大正整数 则称显式单步法是 p 阶的。 例:等步长的 Euler 法是 1 阶的, 等步长的梯形公式 Euler 法是 2 阶的。 16 收敛性 定义:若设 y(x) 是解析解,yk 是 xk 处的数值解,若 则称算法是 收敛的。 定理:若增量函数 (x, y, h) 关于 x, y, h 均满足 Lipschitz 条件,则显式单步法的收敛性与相容性等价。 如果不是等步长算法,则 h 是指小区间长度的最大值 17 收敛性 定理:设显式单步法 是 p 阶的,且增量函数  关于 y 满足 Lipschitz 条件,又设初值是精确的,即 y0=y(x0),则算法整体误差为 即算法是收敛的,且收敛阶是 p。 推论:设 f(x, y) 关于 y 满足 Lipschitz 条件,则 (1) Euler 法收敛 (2) 改进的 Euler 法收敛 18 主要内容 Euler 法与改进的 Euler 法 算法分析:误差与收敛性 Runge-Kutta 法 一阶常微分方程组与高阶方程 应用举例 Matlab 相关函数 19 Runge-Kutta法 算法的精度取决于数值积分的精度 一般来说,积分点越多,精度可能越高(但不宜太多) 由于 无法获得,因此需要用近似方法计算 采用高精度的数值积分方法就可能构造出高精度的算法 20 R-K法 显式 R-K 法的一般格式 这里 是参数 参数选取准则:使得公式具有尽可能高的精度 工具:Taylor 展开 21 r = 1 时的 R-K 法 课堂板书 利用 Taylor展开,可得局部截断误差: 利当 时,达到最高阶数=1 这事实上就是 Euler 法 22 r = 2 时的 R-K 法 课堂板书 利用 Taylor展开,可得局部截断误差: 令 23 r = 2 时的 R-K 法 解不惟一,设 公式一:令 a = 1/2 这事实上就是改进的 Euler 法 24 r = 2 时的

文档评论(0)

1亿VIP精品文档

相关文档