Simulink algebraic loop warning?

4 ビュー (過去 30 日間)
Randy Chen
Randy Chen 2021 年 10 月 2 日
コメント済み: Walter Roberson 2021 年 10 月 2 日
Can someone please explain what this warning means?

採用された回答

Walter Roberson
Walter Roberson 2021 年 10 月 2 日
Generally speaking, algebraic loops occur when you have a feedback cycle that is missing any delay.
For example, you might have coded an addition of 1 to a value, and then routed the output back to the input, with the intention of saying that you are adding 1 each round. But most blocks in Simulink happen "instantly", so what you might have accidentally coded is that the value of the signal is a value such that the value of the signal and the value of the signal plus 1 are the same thing. The only values such that the value and the value plus 1 are the same, are -infinity, +infinity, and nan.
The challenge here is that (most) blocks are timeless so Simulink has to figure out how to make all the update combination consistent. That often involves solving algebraic or differential equations.
Typically when you encounter such an algebraic loop, you need to figure out a point in the system that logically should be "after" the other parts, and insert some kind of delay blocks between. Those can include Zero Order Hold systems, or can include Memory blocks, or can include using transfer functions (because transfer functions imply delays.)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGeneral Applications についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by