计算机数学基础(下) 第5编 数值分析 第14章 常微分方程的数值解法
本章主要内容: 欧拉法 欧拉公式的截断误差 改进欧拉法 龙格—库塔法 重点:欧拉法、龙格—库塔法 难点:局部截断误差 ,龙格—库塔法
14.1 欧拉法 设一阶微分方程的初值问题为 14.1.1 欧拉公式 本章的学习目的是要通过数值解法,求解一阶微 分方程的初值问题。 14.1 欧拉法 14.1.1 欧拉公式 本章的学习目的是要通过数值解法,求解一阶微 分方程的初值问题。 设一阶微分方程的初值问题为 怎样求 呢? 我们过点 以 为斜率作切线 切线方程为 以 代入,得 再以x1作为x0,用上面的方法作切线求y2,如此下去 得到 ,从而求得 的近似值。这种解法称为欧拉法。
如果 的取法是等步长的。记 上面用欧拉法求解的公式可表示成: 这一公式称为欧拉公式。 欧拉法的几何意义: 如果 的取法是等步长的。记 上面用欧拉法求解的公式可表示成: 这一公式称为欧拉公式。 欧拉法的几何意义:
例1 用欧拉法求初值问题 在 处的近似值。 解: 列表计算,
局部截断误差 精确解 与近似解 之间的误差称为局 部截断误差。 由泰勒展开式可知: 因此,欧拉法具有一阶精度。 精确解 与近似解 之间的误差称为局 部截断误差。 由泰勒展开式可知: 因此,欧拉法具有一阶精度。 它的局部截断误差是关于步长 h 的二阶无穷小量。 即:
[2002年1月试卷选择题5] 解常微分方程初值问题的欧拉法的局部截断误差是( )。 解常微分方程初值问题的欧拉法的局部截断误差是( )。
14.1.2 改进欧拉法 求微分方程的解,最简单的想法就是直接积分 这在高等数学中可能是不可行的,但在数值分析中却是可行的。 14.1.2 改进欧拉法 求微分方程的解,最简单的想法就是直接积分 这在高等数学中可能是不可行的,但在数值分析中却是可行的。 用数值积分的梯形公式代入,有: 这是求 的近似值的梯形公式。由于等式的两边都有 ,不好直接计算,称为隐式形式。
但由于是近似计算,我们可以先用欧拉公式求出 的一个近似值,然后把这个近似值代入等号的右边,计算等号左边的 ,前者称为预报值,后者称为校正值。这种方法称为改进欧拉法。 公式可表示为: 公式也可表示为:
写成一个式子。就是: 也可表示为平均值的形式: 改进欧拉法具有二阶精度。 它的局部截断误差是关于步长h 的三阶无穷小量。 即:
例2 用改进欧拉法求例1初值问题的近似解。 解: 本题用改进欧拉法求解的公式为: 列表计算,
[2001年7月试卷计算题14] 用改进的欧拉法预报—校正公式,取步长h=0.2求解初值得问题 解: 本题改进欧拉法的预报—校正公式为: 当 k=0 时,
当 k=1 时,
14.2 龙格—库塔法 14.2.1 龙格—库塔法的基本思想 设一阶微分方程的初值问题 的解为 。 如果是等距节点,记步长 根据微分中值定理 14.2 龙格—库塔法 14.2.1 龙格—库塔法的基本思想 设一阶微分方程的初值问题 的解为 。 如果是等距节点,记步长 根据微分中值定理 上式中 而根据题设 故有:
由于 是 中满足微分中值 定理的点的导数 因此, 称为平均斜率 则: 如取 处的斜率 作为平均斜率 的近似值, 则得欧拉公式,它的近似等级为 。 如取 处的斜率 的平均数作为平均斜率的 近似值,则得改进欧拉公式,它的近似等级为 。 公式为:
由此想到,我们是否可以在 中多取几个点, 再以它们的某种平均值作为 ,把精度进一步提高呢? 假设在 中取n个点 其中 ,斜率为 如果取第一个点为 ,则 取平均斜率的计算方法为 则: 其中: 恰当的选取公式中的常数,就可以使精度尽量地高。 这就是龙格—库塔法的一般公式。
14.2.2 二阶龙格—库塔法 假设在 中再取一个点 如果取第一个点为 ,则 取点 为第二个点, 则: 公式为: 14.2.2 二阶龙格—库塔法 假设在 中再取一个点 如果取第一个点为 ,则 取点 为第二个点, 则: 公式为: 恰当的选取 ,可以使精度达到 。 这就是二阶龙格—库塔公式。
常见的二阶龙格—库塔公式称为中点公式。 它是二阶龙格—库塔公式中 的结果。
14.2.3 三、四阶龙格—库塔法 三阶龙格—库塔法的一般公式为 其中: 该公式的局部截断误差为 。
四阶龙格—库塔法的一般公式为 其中: 该公式的局部截断误差可达 。
四阶龙格—库塔法的优点是; ⑴ 它是一步法,即已知yk就可以求出yk+1,不需要知道其它的数据。 ⑵ 精确度高。 缺点是计算量大。在一个步长的计算中,要四次计算f(x,y)的值。 例如,用四阶龙格—库塔法再解 在 处的近似值。 解:
我们仍然用 Excel 列表计算,为了清楚,先用公式计 算出 ,再计算出 ,然后按步长增加, 计算下一步长。 计算结果为:
[2001年7月试卷填空题10] 解常微分方程初值问题的三阶龙格——库塔法的局部截断误差是 。 作业: P.185 P.203 带※的练习题 解常微分方程初值问题的三阶龙格——库塔法的局部截断误差是 。 作业: P.185 P.203 带※的练习题