Algebraic loop in Simulink

Hi,
I have a problem in my simulink model, simulation fail because of an algebraic loop according to the simulation diagnostic. I tried a lot of things but it didn't worked.
I think simulink try to solve the "chicken an egg" problem, i tried to set an initial value but nothing worked.
Thanks for your help

 Accepted Answer

Sebastian Castro
Sebastian Castro on 23 Apr 2015
Instead of using Algebraic Constraint blocks to try guide the initial condition of the algebraic loop solver, you could try break the loop with a low-pass filter (Transfer Fcn block in the Continuous library).
Just make sure that the cut-off frequency of this filter is large enough that it doesn't affect the dynamics of your actual system.
For example, if you know your system has frequencies up to 1000 Hz, try put the filter frequency at like... 5000 Hz or so.
- Sebastian

2 Comments

jonas house
jonas house on 23 Apr 2015
Moved: Walter Roberson on 20 Jan 2025
It could work, I will try that. Anyway by reducing the step size of the simulation it works great, but the simulation time becomes very high.
Thanks
Pallavi
Pallavi on 20 Jan 2025
Moved: Walter Roberson on 20 Jan 2025
I have trying to simulate my model for 1ms but the algebraic loop doesnot allow it, I tried using unit delay it makes the system totally unstable. I tried adding low pass filter with cutoff frequency 300Hz. The low pass filter alone didnot eliminate the algebraic loop so I added unit delay followed by algebraic loop in the feedback; however my system is as unstable as before. Is there any solution?

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!