从系列:在MATLAB中求解ode
克里夫硅藻土,MathWorks
MATLAB文档提供了两个图表,总结了MATLAB ODE套件中七个函数中的每个函数的特性。
我们可以通过在MATLAB提示符中输入这个命令——doc ode45来获得MATLAB ODE套件的文档。这将给我们带来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和AbsTol——输出函数——这些在所有7个求解器中都是可用的。
还有其他各种函数——各种其他选项——可用于更专门的工作,包括事件处理,为僵硬的求解器提供雅可比矩阵,这样他们就不必费力地处理数值差异,与质量矩阵相关的选项,提供步长限制。这些都是我们可以通过ode Set指定的选项,以便使用ode求解器进行更专门的工作。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。