私はこれについてしばらく疑問に思っており、ブロック線図ベースの時間領域モデルをシミュレートするための最も論理的な実装に興味がありました。
その用語が正しいかどうかはわかりませんが、Simulink を知っている人なら、私の言いたいことがわかるでしょう。
私が疑問に思っている理由は、私が自分でいくつかのシミュレーション モデルを作成したためですが、フィードバック ループを作成するときにいつも行き詰まります。状態空間ドメインに変換できるブロックで作業している場合、ほとんどの場合、これは問題になりませんが、より複雑な要素を取得すると、これが問題になります。
実際には、Simulink がこれをどのように解決するかについて頭を悩ませているようには見えません。
実際にはすべてのタイムサンプルに対して、すべてのブロックが現在の状態を計算し、それを次のタイムサンプルのために接続されたブロックに渡すと考えていましたが、次の場合:
->A->B->C->D
^-----|
A へのフィードバックと A への入力を持つ 4 つのブロックの場合、C に到達するまでに 3 つのタイムサンプルが必要です。その後、C は A への放出を再開します。その前に、C はその初期値を発行していたでしょう。D に到達するには、4 つのタイムサンプルが必要です。
A、B、C、D が単純なラプラスのような要素の場合、これは状態空間または A から D への伝達関数で簡単に結合できますが、結果は大きく異なります。A から D へ、および C から A へ 1 タイムサンプルかかるためです。一般に、伝達関数で初期条件を指定する必要がある場合は知っていますが、これらの条件は変換できません (または表示できません)。ブロック図のソリューション。一般的な方法でこの問題にどのように取り組みますか?