Simulink模型中信号的初始值

时间:2012-10-15 12:37:08

标签: matlab simulink

我对simulink模型有一些疑问,如下所示。

enter image description here

  1. 根据In1中的输入, 1 的初始输入标记为红色?

  2. 标有 2 的红色块1/s的含义是什么?

1 个答案:

答案 0 :(得分:7)

反过来回答这些问题可能更容易:

2)标有 2 的红色块1/s的含义是什么?

答案:这是Integrator块。它在当前时间步输出其输入的积分。请注意,在第一次执行时,它将输出您指定的任何内容作为其初始条件。默认情况下,我认为初始条件为0.(有关为此块设置各种参数的更多信息,请参阅上面的链接文档。)

1)鉴于In1中的输入,标记为红色的 1 的初始输入是什么?

答案: 1 的初始输入实际上完全独立于In1。它将仅取决于在给定时间步长进给它的块的初始条件。

您必须考虑块的执行顺序。在此模型中,要执行的第一个块可能是您使用 2 标记的积分器块。接下来是下一个积分器块和它们提供的增益块。最后执行的块之一实际上是In1提供的Subtract块。这是因为这个Subtract块在对它们进行任何类型的计算之前需要知道它的输入是什么,因此,其他块需要先执行。

考虑到这里存在循环,因此这可能有点令人困惑,因此Subtract块最终会输入Integrator块。这最终不会成为问题,因为Integrator块没有 direct-feedthrough 。这意味着积分器的电流输出不是当前输入的直接函数。而是基于积分器块的当前状态来计算(其主要由先前时间步的输入确定)。这意味着Integrator块不需要知道其当前输入以计算其当前输出。

因此,在第一个时间步,积分器块的输出只是您设置的初始条件(或默认初始条件0)。所以很可能, 1 的初始值为0。

This link有关于代数循环和直接馈通的更多信息。)

有关Simulink中执行顺序的更多信息,请参阅here。此链接还显示了如何在模型中显示执行顺序,这有时非常有用。