函数 > 求解和最优化 > 求解命令块函数 > 用于 ODE 的算法
用于 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 是求解具有代数约束的方程组的唯一方法。
附加信息
AdamsBDFodesolve 的默认求解器。
某些 ODE 求解器接受 TOL 为可选的自变量。但是,odesolve 不接受此自变量。在调用求解器时若想指定 TOL,则必须直接使用 ODE 求解器。否则,将不能在求解命令块区域的前面定义内置变量 TOL。
odesolve 返回作为自变量的函数的解。为计算该函数,odesolve 会保存积分区间上的等距点的解,然后使用函数 lspline 在这些点之间插值。点数由可选自变量 intvls+1 或其默认值 1000 指定。对于自适应和 Stiff 算法,会在解变化较大的区域中添加更多区间。
来自 odesolve 的样条限于自变量的指定范围。这样,由于数字型导数未转换成单个单边导数,因此其不能在值域末端进行运算。数字型导数为双边型导数,因此,它会先计算引用值两侧的函数,之后再返回结果。
这对您有帮助吗?