用于 ODE 的算法
当调用求解命令块中的
odesolve 时,
PTC Mathcad 通过下述方法之一求解 ODE:
• Adams/BDF - 调用使用 Adams-Bashforth 方法的
Adams 求解器 。如果
odesolve 发现 ODE 系统为刚性,则转换为使用相反的微分公式 (BDF) 的
BDF 求解器。
• Fixed - 调用使用固定步骤 Runge-Kutta 算法的
rkfixed 求解器。
• Adaptive - 调用
Rkadapt 求解器,它采用自适应步长大小的 Runge-Kutta 算法。
• Radau - 调用
Radau 求解器,它采用适用于刚性方程组或具有代数约束的方程组的 Radau 算法。Radau 是求解具有代数约束的方程组的唯一方法。
附加信息
• 某些 ODE 求解器接受 TOL 为可选的自变量。但是,odesolve 不接受此自变量。在调用求解器时若想指定 TOL,则必须直接使用 ODE 求解器。否则,将不能在求解命令块区域的前面定义内置变量 TOL。
• odesolve 返回作为自变量的函数的解。为计算该函数,
odesolve 会保存积分区间上的等距点的解,然后使用函数
lspline 在这些点之间插值。点数由可选自变量
intvls+1 或其默认值 1000 指定。对于自适应和 Stiff 算法,会在解变化较大的区域中添加更多区间。
• 来自 odesolve 的样条限于自变量的指定范围。这样,由于数字型导数未转换成单个单边导数,因此其不能在值域末端进行运算。数字型导数为双边型导数,因此,它会先计算引用值两侧的函数,之后再返回结果。