主要内容

比较求解器

通过在指定时间跨度的连续时间步长计算其状态,使用模型提供的信息来模拟动态系统。从其模型计算系统的连续状态的过程称为求解模型。没有单一的解决模型的方法足以满足所有系统。因此,Simulink.金宝app®提供一组程序,称为解决者,每个人体现了解决模型的特定方法。“配置参数”对话框允许您选择最适合您模型的解算器。

固定步长与可变步长求解器

您可以根据它们计算步骤尺寸的方式选择Simulink提供的求解器:固定步骤和可金宝app变步骤。

固定步骤求解器以常规时间间隔从仿真结束时以规则的时间间隔解决模型。间隔的大小称为步长。您可以指定步长或让求解器选择步长。通常,减小步长增加了结果的准确性,同时增加了模拟系统所需的时间。

可变步骤求解器在模拟期间改变阶梯尺寸。当模型的状态正在快速变化时,减少步长增加准确性,并在模型的状态正在缓慢更改时避免采取不必要的步骤。计算步骤大小在每个步骤中增加计算开销,但可以减少步骤总数,因此需要对具有快速变化或分段连续状态的模型维护指定准确度所需的模拟时间。

固定步骤和可变步骤求解器将下一个模拟时间计算为当前仿真时间和步长的总和。的类型控制在求解器配置窗格允许您选择求解器的类型。利用固定步骤求解器,在整个模拟中,阶梯尺寸保持恒定。利用可变步骤求解器,取决于模型动态,步长可以因步骤而异。特别地,可变步骤求解器增加或减少了步长,以满足您指定的误差公差。

这些类型之间的选择取决于您计划如何部署模型和模型动态。如果计划从模型中生成代码并在实时计算机系统上运行代码,请选择固定步骤求解器以模拟模型。您无法将变量步大小映射到实时时钟。

如果您不打算将模型作为生成的代码部署,那么在变量步骤和固定步骤求解器之间的选择取决于您的模型的动态。可变步长求解器可能会显著缩短模型的模拟时间。可变步长求解器允许这种节省,因为对于给定的精度水平,求解器可以根据需要动态调整步长。这种方法减少了所需的步骤数量。基于精度要求,固定步长求解器必须在整个模拟过程中使用单个步长。为了在整个模拟过程中满足这些要求,固定步长求解器通常需要一个小步骤。

ex_multirate.示例模型示出了可变步骤求解器如何缩短多型离散模型的仿真时间。

该模型以两个不同的速率产生输出:每0.5秒,每0.75秒。要捕获两个输出,固定步骤求解器必须每0.25秒进行一次时间步长(基本采样时间模型)。

[0.0 0.25 0.5 0.75 1.0 1.25 1.5 ...]

相比之下,变量步长求解器只有在模型生成输出时才需要执行一步。

[0.0 0.5 0.75 1.0 1.5…]

该方案显着减少了模拟模型所需的时间步骤次数。

连续与离散求解器

金宝appSimulink提供连续和离散的求解器。

选择求解器类型时,还可以选择特定的求解器。这两组求解器都包括离散求解器和连续求解器。离散和连续求解器依赖于模型块来计算任何离散状态的值。定义离散状态的块负责在每个时间步骤计算这些状态的值。然而,与离散求解器不同的是,连续求解器使用数值积分来计算块定义的连续状态。当选择求解器时,首先确定是使用离散求解器还是连续求解器。

如果您的模型没有连续状态,那么Simulink将切换到固定步长离散解算器或可变步长离散解算金宝app器。如果您的模型只有连续状态或连续和离散状态的混合,根据您的模型的动态,从剩余的求解器选择中选择一个连续的求解器。否则,发生错误。

连续解决者利用数值积分,根据前一个时间步骤的状态和状态导数,计算模型在当前时间步骤中的连续状态。连续求解器依赖于单个块来计算模型在每个时间步骤中的离散状态值。

离散求解器主要用于求解纯离散模型。它们只计算模型的下一个仿真时间步长。在执行这些计算时,它们依赖于模型中的每个块来更新其各自的离散状态。它们不计算连续状态。

解算器库包含两个离散解算器:固定步长离散解算器和可变步长离散解算器。固定步长求解器默认选择足够快的步长和模拟速率,以跟踪模型中最快块中的状态变化。可变步长求解器调整模拟步长,以跟上模型中离散状态变化的实际速率。这种调整可以避免不必要的步骤,缩短多速率模型的仿真时间。看到系统中的样本时间为更多的信息。

请注意

您必须使用连续求解器来解决包含连续和离散状态的模型,因为离散求解器无法处理连续状态。另一方面,如果只有没有状态或离散状态的模型选择连续求解器,Simulink软件使用分立求解器。金宝app

显式与隐式连续求解

你用一个方程来表示一个显式系统

x ˙ f x

对于任何给定的价值x,你可以计算 x ˙ 通过代替xf(x)并评估等式。

形式的方程式

F x ˙ x 0

被认为是隐含的。对于任何给定的价值 x ,您必须解决此类方程来计算 x ˙

线性隐式方程组可以用这个方程表示

x x ˙ f x

x被称为质量矩阵和 f x 为强迫函数。当您在模型中使用物理建模块时,系统就变成了线性隐式的。

虽然您可以应用隐式或明确的连续求解器来解决所有这些系统,但隐式求解器专门用于解决僵硬的问题。明确的求解器解决了非激励问题。如果所需的溶液缓慢变化,则常用差动方程问题据说常见的差分方程问题是僵硬的,但是更近的解决方案迅速变化。金宝搏官方网站然后,数值方法必须采用少时间步骤来解决系统。僵硬是一种效率问题。系统越僵硬,显式求解器需要越长,以执行计算。僵硬的系统既缓慢而迅速变化连续动态。

与显式求解器相比,隐式求解器为振荡行为提供了更大的稳定性。然而,隐式求解器在计算上也更昂贵。他们生成雅可比矩阵,并在每个时间步用牛顿方法求解代数方程组。为了减少这个额外的成本,隐式求解器提供了一个雅可比矩阵求解方法参数允许您提高隐式求解器的仿真性能。看到为隐式求解器选择一个雅可比方法为更多的信息。对于求解线性隐式方程组,隐式求解比显式求解更有效。

单步与多步连续求解

Simu金宝applink求解器库提供单步和多步求解器。一步求解估计在紧接在前的时间点使用解决方案,,并且在多点之间的衍生值的值tntN-1.这些点是次要步骤。

多步求解器使用前面几个时间步骤的结果来计算当前的解。金宝appSimulink提供了一个显式的多步求解器,ode113.和一个隐含的多学分求解器,ode15s.两者都是变步长求解器。

单阶与变阶连续求解器

这种区别基于求解器用于解决方程系统的订单数量。两个可变级求解器,ode15sode113.,是求解器库的一部分。他们使用多个订单来解决方程系统。具体来说,隐式,可变步骤ode15s求解采用一阶到五阶方程,而显式的变步长ode113.求解器通过第十三级方程使用一流。为了ode15s,您可以限制通过该阶段应用的最高顺序最大的订单参数。有关更多信息,请参见最大的订单

也可以看看

||