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