<<主页
欧拉法 (Euler's Method)
本模块演示数值求解常微分方程(ordinary differential equation, ODE)初值问题的欧拉法. 数值解法通过一步一步(step-by-step)的计算得到离散时间点上的函数近似值, 从而近似原问题的解函数. 欧拉法是最简单的一种数值解法, 它的每步计算都沿着解函数曲线的切线方向(其斜率由常微分方程指定)进行外推. 特别地, 对于ODE y′ = f(t, y), 若算出了时刻tk的近似解yk, 欧拉法用yk+1 = yk + hk f(tk, yk)来近似时刻tk+1 = tk +
hk的解y(tk+1).
用户首先从下拉菜单中选择一个微分方程(differential equation). 此时在绘图区中, 会有一个黑点标记出所选微分方程在初始时刻t0的解函数值y0, 同时绘出对应的初值问题的准确解曲线. 从这个初始值开始, 用户可以使用欧拉法一步一步地求解这个问题. 求解的每一步又分为三个阶段, 每个阶段的执行通过用鼠标点击Next按钮或当前加亮显示的文字来触发:
- 使用水平滑块, 用户可以在允许的最小、最大值范围内选择从时刻tk到tk+1的步长hk. 根据所选步长大小算出下一步的临时解用红点显示,并且它的位置随步长的改变而改变. 一旦用户设定好想要的步长, 需点击"Choose
Step Size"或Next按钮让它生效, 此时标记下一步解的红点变成黑点.
- 当前步的计算通过点击"Take Step"或
Next按钮来完成, 这将使绘图区下方的表格中增加一行, 显示一个新的时刻点上解函数的近似值和准确值. 同时, 绘图区中也用一条灰色曲线显示通过这个新坐标点的原微分方程的准确解.
- 点击"Next Step"或Next按钮将为下一步计算做准备. 此时,绘图区中用一根红色线段显示下一步的缺省步长, 其值一般与前一步相同, 接着又可以重复选择步长阶段(Choose Step Size).
每步都按上述过程依次执行, 直到到达自变量区间的右端点.
参考内容: 课本第8.2.1小节.