MATLAB: Algebraic loop and Simscape

algebraic loopinverted pendulum

Hi,
I am having a bad time dealing with algebraic loops in my inverted pendulum model. Leaving it to simulink to solve using its internal solvers takes a lot of time while adding an integer delay modifies my results in an undesirable way. On the following link of Mathworks,
on the work-flow chart they say in the last box that converting the model "Simscape" is also a solution. I am wondering HOW ? it looks to me all the same thing ?
anybody has an idea ?
thanx in advance
khawaja

Best Answer

2D and 3D physical systems like a pendulum on cart are most easily represented by a Differential Algebraic Equations (DAE), and not only a set of Ordinary Differential Equations (ODE). In Simulink, a DAE causes an algebraic loop.
The Simscape (and SimMechanics) solver is designed to solve DAE better than the Simulink algebraic loop solver. In your case, for 2D or 3D, the solution would be SimMechanics:
To understand the differences between Simulink and SimMechanics, I recommend starting with this post Seth and I made some time ago:
Notice the sentence "if implemented as written above, you get algebraic loops". This means that many DAEs can be rewritten into a set of ODEs, but this can be a pretty complex math challenge and I am not going into details here.