本模块演示数值求解常微分方程(ordinary differential equation, ODE)初值问题的显式线性多步Adams-Bashforth方法. 数值解法通过一步一步(step-by-step)的计算得到离散时间点上的函数近似值, 从而近似原问题的解函数. Adams-Bashforth方法是显式线性多步法, 它依靠多个以前时刻的近似解生成新的近似解. 对于一个n阶的Adams-Bashforth方法, 它根据n个以前时刻近似解算出的导数值进行插值, 然后通过对插值多项式积分计算下一步近似解. 特别地, 对于ODE
用户首先从下拉菜单中选择一个微分方程(differential equation), 并选定Adams-Bashforth方法的阶数. 此时在左侧的绘图区, 会有一个蓝色点标记出所选微分方程在初始时刻的解函数值, 而用黑色绘出对应的初值问题的准确解曲线. 在右侧绘图区, 用黑色绘出准确解的导数曲线, 而用蓝色点标记初始时刻的导数. 接着用户需选择在整个计算区间内的总步数. 除了一阶方法外, 本演示中所有方法都需要多个以前时刻点的解函数值, 因此需使用一些其他方法(例如单步法)来生成足够多时间点上的解, 以便多步法可以执行. 在这里, 点击Initial Step按钮生成这些启动解, 它们的每一个都需要调用同阶的R-K方法来产生. 在绘图区演示了这些计算步, 并将结果记录于下面的表格中. 当生成了足够的启动值, Initial Step按钮变为无效状态, 此时可以用选定的Adams-Bashforth方法开始计算.
在完成了必需的初始化过程后, 用户可以使用选定的Adams-Bashforth方法一步一步地求解这个问题. 每一步又分为两个阶段, 每个阶段的执行通过用鼠标点击Next按钮或当前加亮显示的文字来触发:
参考内容: 课本第8.4.2小节的有关内容.