主要内容

固定的步骤求解万博1manbetx

固定的解决者从模拟的开始到结束,以固定的时间间隔求解模型。间隔的大小称为步长。您可以指定步长或让求解器选择步长。一般来说,步长越小,结果的准确性越高,但也会增加模拟系统所需的时间。

固定步离散求解器

固定步长离散求解器通过在当前时间上增加固定步长来计算下一个模拟步骤的时间。结果模拟的准确性和时间长度取决于模拟所采取的步骤的大小:步长越小,结果越准确,但模拟所需的时间越长。默认为Simulink万博1manbetx®选择步长,或者你可以自己选择步长。如果您选择的默认设置汽车,如果模型具有离散的采样时间,则Simulink将步长设置为模型的基本采样时间。万博1manbetx否则,如果不存在离散速率,Simulink将大小设置为模拟启动和停止时间之差除万博1manbetx以50的结果。

固定步长连续求解器

固定步长连续求解器,像固定步长离散求解器一样,通过向当前时间添加固定大小的时间步长来计算下一个模拟时间。对于这些步骤中的每一步,连续求解器都使用数值积分来计算模型的连续状态值。这些值是使用前一个时间步长的连续状态和当前和前一个时间步之间的中间点(小步骤)的状态导数来计算的。

请注意

万博1manbetxSimulink对不包含状态或仅包含离散状态的模型使用固定步长离散求解器,即使您为模型指定了固定步长连续求解器。

万博1manbetxSimulink提供了两种固定步长连续求解器——显式和隐式。

这两种类型的区别在于速度和稳定性。隐式求解器每一步比显式求解器需要更多的计算量,但更稳定。因此,Simulink提供的隐式固定步求解器比固定步显式求解器更擅长于求解刚性系统。万博1manbetx有关显式和隐式求解器的比较,请参见显式与隐式连续求解器

固定步连续显式求解器

显式求解器将下一个时间步的状态值作为当前状态值和状态导数的显式函数来计算。固定步长显式求解器的数学表达式为:

x n + 1 x n + h D x n

在哪里

  • x是状态。

  • Dx是一个依赖于求解器的函数,用于估计状态导数。

  • h是步长。

  • n当前时间步长。

万博1manbetxSimulink提供了一组固定步长连续显式求解器。求解器的不同之处在于它们用于计算模型的状态导数的具体数值积分技术。该表列出了每个求解器及其使用的积分技术。该表按照它们所使用的积分方法的计算复杂度排序列出了求解器,从复杂度最小的(ode1)到最复杂的(ode8).

解算器 集成技术 精确度等级

ode1

欧拉方法

第一个

ode2

修的方法

第二个

ode3

Bogacki-Shampine公式

第三

ode4

四阶龙格库塔(RK4)公式

第四

ode5

Dormand-Prince (RK5)公式

第五

ode8

Dormand-Prince RK8(7)公式

第八

这些解算器都没有错误控制机制。因此,模拟的精度和持续时间直接取决于求解器所采取的步骤的大小。当您减小步长时,结果会变得更准确,但模拟需要更长的时间。此外,对于任何给定的步长,求解器的阶数越高,仿真结果越准确。

如果为模型指定固定步骤求解器类型,则默认情况下,Simulink将选择万博1manbetxFixedStepAuto解算器。自动解算器然后选择一个适当的固定步解算器,可以处理连续和离散状态与适度的计算工作。与离散求解器一样,如果模型具有离散速率(采样时间),则Simulink默认将步长设置为模型的基本采样时间。万博1manbetx如果模型没有离散速率,Simulink将自动使用模拟总持续时间除以50的万博1manbetx结果。因此,求解器在每个仿真时间采取一个步骤,在这个步骤中,Simulink必须以其指定的采样速率更新模型的离散状态。万博1manbetx然而,它不能保证默认解算器准确地计算模型的连续状态。因此,您可能需要选择另一个求解器,不同的固定步长,或两者兼有,以达到可接受的精度和可接受的模拟时间。

固定步连续隐式求解器

隐式求解器将下一个时间步的状态作为当前时间步的状态和下一个时间步的状态导数的隐式函数来计算,如下面的表达式所示。

x n + 1 x n h D x n + 1 0

万博1manbetxSimulink提供了一个固定步骤的隐式求解器:ode14x.该求解器结合了牛顿方法和从当前值推断的方法来计算下一个时间步的状态值。您可以指定Newton方法迭代的次数和解算器用于计算模型状态的下一个值的外推顺序。看到固定步长(基本采样时间).迭代次数越多,选择的外推顺序越高,获得的精度就越高。但是,同时,每步长的计算负担会更大。

另请参阅

相关的话题