050 Systems of First-Order Equations 一阶方程组

之前讨论的处理单个一阶微分方程的初值问题的数值方法,也适用于一些微分方程组。由于高阶微分方程总是可以写成一阶微分方程组,因此这里讨论一阶微分方程组就足够了。简单起见,我们讨论两个微分方程组成的方程组 初始条件是 函数 满足定理 7.1.1 的条件,初值问题 的某个区间上有唯一解。这里要求 时 解 的数值近似

使用向量表示,初值问题 可以写成 其中 。向量表示的一个好处是可以忽略方程的个数,初值问题总是相同的形式。所有的变化仅仅是 的分量个数。

前面小节讨论的问题可以快速泛化应用于两个或多个方程组成的方程组。唯一需要的事情是用向量 替换 ,用向量 替换 。比如欧拉方法的公式变成 其中 。其分量形式是 初始条件用于求解 。观察到 意味着 是解 处的切向量。近似解就是沿着这个切向量前进 的距离 得到 的近似值。接着计算 处的切向量 ,再沿着这个切向量前进 的距离得到 的近似值。以此类推。

类似的龙格-库塔法也可以扩展到方程组。比如四阶龙格-库塔法的公式从 其中 四阶亚当斯-莫尔顿预估修正法的公式是 任意一阶微分方程组均可写成式 给出的形式,方程 即为欧拉公式,而方程 则是适用于任意一阶微分方程组的四阶龙格-库塔公式。唯一的区别仅在于向量中分量的数量。

例 1 求解初值问题 的解 的近似值。使用 的欧拉方法和 的四阶龙格-库塔方法。使用精确解 对比结果。

解:首先使用欧拉法。那么 ,因此 使用欧拉公式 ,得到 下一步 那么 精确值是 ,与欧拉法计算的近似值差值是 0.0704 和 0.0308,百分比是 5.3\% 和 12.3\%。

接下来使用四阶龙格-库塔方法。使用公式 ,得到 使用 ,得到 代入公式 ,得到 的近似值与精确值的差值是 0.000358 和 0.000180,百分比小于 1%。

这个例子再次表明,通过使用更精确的近似方法(如龙格-库塔法)可以获得极大的精度提升。上面的计算中,龙格-库塔法所需的函数求值次数仅为欧拉法的两倍,但欧拉法的误差却是龙格-库塔法误差的 200 倍。