Simulink algebraic loop warning?

조회 수: 5 (최근 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 CenterFile Exchange에서 Discontinuities에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by