Simulink algebraic loop warning?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Randy Chen
el 2 de Oct. de 2021
Comentada: Walter Roberson
el 2 de Oct. de 2021
Can someone please explain what this warning means?
0 comentarios
Respuesta aceptada
Walter Roberson
el 2 de Oct. de 2021
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 comentario
Walter Roberson
el 2 de Oct. de 2021
Más respuestas (0)
Ver también
Categorías
Más información sobre General Applications en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!