我一直在想这个问题,并且对模拟基于框图的时域模型的最合乎逻辑的实现感到好奇。
我不知道这个术语是否正确,但如果你了解 Simulink,你就会明白我的意思。
我想知道的原因是我现在自己制作了一些模拟模型,但是在创建反馈循环时总是卡住。大多数情况下,当我使用可以转换为状态空间域的块时,这不是问题,但是当我得到更复杂的元素时,这就会成为问题。
实际上,我似乎无法理解 Simulink 如何解决这个问题。
我曾认为实际上对于每个时间样本,每个块都会计算它的当前状态并将其传递给连接的块以进行下一个时间样本,但是当你有:
->A->B->C->D
^-----|
4 个块,一个反馈给 A,一个输入给 A,需要 3 个时间样本到达 C,之后 C 将再次开始向 A 发射。在此之前 C 会发出它的初始值。达到 D 需要 4 个时间样本。
当 A、B、C、D 是简单的类拉普拉斯元素时,这很容易组合在状态空间或从 A 到 D 的传递函数中,但是结果将截然不同。因为从 A 到 D 和从 C 到 A 需要 1 个时间样本。我知道,当传递函数通常需要您指定初始条件时,但这些条件不可转换(或者我看不到)框图解决方案。你如何以通用的方式解决这个问题?