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