Simulink algebraic loop warning?
5 ビュー (過去 30 日間)
古いコメントを表示
Can someone please explain what this warning means?
0 件のコメント
採用された回答
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.)
1 件のコメント
Walter Roberson
2021 年 10 月 2 日
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で General Applications についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!