1 第八章 常微分方程数值解法
2 1 .微分方程的数值解法
3 在这些节点上把常微分方程的初值问题离散化为差 分方程的相应问题,再求出这些点上的差分方程的解 作为相应的微分方程的近似值(满足精度要求)。
4 2 .欧拉法与改进欧拉法
5
6
7
在 x 0 处:以( x 0,y 0 )为点, f(x 0,y 0 ) 为斜率作直线 在 x 1 处:以( x 1,y 1 )为点, f(x 1,y 1 ) 为斜率作直线
9
10
11
12
13
14
15
16
17
18
20 考虑用函数 f ( x, y ) 在若干点上的函数值的线性组合来构 造近似公式,构造时要求近似公式在 ( x i, y i ) 处的 Taylor 展 开式与解 y ( x ) 在 x i 处的 Taylor 展开式的前面几项重合,从 而使近似公式达到所需要的阶数。既避免求偏导, 又提高 了计算方法精度的阶数。或者说, 在 [x i,x i+1 ] 这一步内多预 报几个点的斜率值,然后将其加权平均作为平均斜率, 则可构造出更高精度的计算格式,这就是龙格 — 库塔 ( Runge-Kutta )法的基本思想。
21 1 二阶龙格 — 库塔法 在 上取两点 x i 和, 以该两点处的斜率值 k 1 和 k 2 的加权平均 ( 或称为线性组合 ) 来求取平均斜率 k * 的近似值 K ,即 式中 : k 1 为 x i 点处的切线斜率值, k 2 为 点处的切线斜率值, 对照改进的欧拉法, 将 视为 ,即可得
22 对常微分方程初值问题的解 y = y ( x ), 根据微分中值定理, 存在点 ,使得 式中 K 可看作是 y = y ( x ) 在区间 上的平均斜率。所以 可得计算公式为: 也即
23 将 y ( x i ) 在 x = x i 处进行二阶 Taylor 展开: 将 可得: 将 f(x,y) 在 ( x i, y i ) 处进行一阶 Taylor 展开:
24 成立, 格式 的局部截断误差就等于 进行比较系数后可知, 只要 有 2 阶 精度
25 上式中具有三个未知量, 但只有两个方程, 因而有无穷多 解。若取, 则 p =1 ,这是无穷多解中的一个解,改 写可得 不难发现,上面的格式就是改进的欧拉格式。凡满足 条件上式有一簇形如上式的计算格式,这些格式统称为 二阶龙格 — 库塔格式。因此改进的欧拉格式是众多的二 阶龙格 — 库塔法中的一种特殊格式。
26 2 三阶龙格 - 库塔法 为了进一步提高精度,设除 外再增加一点 并用三个点,, 的斜率 k 1, k 2, k 3 加权平均 得出平均斜率 k * 的近似值,这时计算格式具有形式 :
27 为了预报点 的斜率值 k 3, 在区间 内有两 个斜率值 k 1 和 k 2 可以用, 可将 k 1, k 2 加权平均得出 上的平均斜率, 从而得到 的预报值 于是可得 运用 Taylor 展开方法选择参数, 可以使上述格 式的局部截断误差为, 即具有三阶精度,这类格式 统称为三阶龙格 — 库塔方法。
28 三阶龙格 — 库塔方法
29 3 四阶龙格 — 库塔法 如果需要再提高精度,用类似上述的处理方法, 只需在区间 上用四个点处的斜率加权平均作为 平均斜率 k * 的近似值,构成一系列四阶龙格 — 库塔公 式。具有四阶精度,即局部截断误差是 。 由于推导复杂,这里从略,只介绍最常用的一种四 阶经典龙格 — 库塔公式。
30 四阶龙格 — 库塔法
31 或
32 四阶龙格 — 库塔法的优点是 : ⑴ 它是一步法,即已知 y k 就可以求出 y k+1 ,不需 要知道其它的数据。 ⑵ 精确度高。 缺点是 : 计算量大。在一个步长的计算中,要四次计算 f(x,y) 的值。
33 例 4 用四阶龙格 — 库塔法解 在 处的近似值。 解
34 先用公式计算出 ,再计算出 ,然后步长增加, 计算下一步长。 计算结果为:
35
36
37
38
39
40
41
42
43
44
45
46