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