我们可以通过在MATLAB提示符——doc ode45中输入以下命令来获取MATLAB ODE套件的文档。这将给我们带来MATLAB ode45的广泛文档,其中包括这个比较MATLAB ODE求解器的图表。一共有7个,比较了它们的不同属性。正如我们之前所说,MATLAB ode45是主力。这是一个中等精度的非刚性求解器,是你应该尝试的第一个,我们大部分时间都在使用它。
我对MATLAB ode23有一颗柔软的心。这是一个精度较低的非刚性求解器,但它的精度适合于图形工作,因为它选择的步长适合于大多数图形工作。MATLAB ode113我们还没讲过,这里1和13之间可以有个逗号因为这是一个变阶方法,阶数从1到13都有变化。这是一种多步骤保存历史的方法。
如果你知道这些,这是亚当斯-莫尔顿法。我把这个和喷气推进实验室几年前做的计算行星和卫星轨道的工作联系起来,这当然是非常平滑的,可以持续很多年。它可以有非常高的精度要求。
然后是一些难解的问题。一共四种,15分,23分,还有双胞胎,梯形规则。15s是主要的刚性求解器,低到中等精度。如果您发现ode45很慢,需要很多步骤——这表明问题很棘手——那么就尝试15s。
23可以作为一种低阶方法,低精度,并用于粗糙的误差容忍。我们还没有讨论过质量矩阵。这是在导数项前面有一个矩阵,这可以用在常质量矩阵上。这两个名字里有T的例程是基于梯形规则的,它们是用来解决没有数值阻尼的问题的。有关梯形方法的更多详细信息,请参阅文档。
这就是MATLAB ODE套件的七个求解器,三个用于非刚性问题,四个用于刚性问题。你很可能从不用任何东西,但ode45很可能满足你的所有需求。
文档中的第二个图表总结了通过ODE Set函数可用的所有选项。我们已经简单地提到了公差,RelTol和AbsTol——输出函数——这些在所有七个求解器中都是可用的。
还有其他各种功能——各种其他选项——可用于更专业的工作,包括事件处理,为僵硬的求解者提供雅可比矩阵,这样他们就不必那么辛苦地计算数值差异,与质量矩阵相关的选项,提供步长限制。这些都是我们可以通过ode Set指定的选项,用于使用ode求解器进行更专门的工作。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。