Simulink模型中信号的初始值

0 matlab simulink

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

在此输入图像描述

  1. 给定In1中的输入,标记为红色的1的初始输入是什么?

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

小智 7

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

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

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

1)给定输入In1,1标记为红色的初始输入是什么?

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

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

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

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

(此链接有关于代数循环和直接馈通的更多信息).

有关Simulink中执行顺序的更多信息,请参见此处.此链接还显示如何在模型中显示执行顺序,有时这对于了解非常有用.