ERROR: trouble solving algebraic loop - cant solve it

7 次查看(过去 30 天)
I would be very grateful if you could help me with an issue, which after performing several tests, still don't know how to solve. :-(
I am developing a Simulink model; but, while running it, an error window pops up -always at the same simulation step- with the following text: "trouble solving algebraic loop containing my_subsystem_name. There may be a singularity in the solution. If the model is correct, try reducing the step size".
The block where the error comes about is an enabled subsystem. This subsystem consists, among others, of a max running reseteable block and, the reset input for this one, enables also the following piece of calculations at the same level (inside the same subsystem, my_subsystem_name).
Apparently the program is unable to calculate the maximum at some extent of decimals; but when isolating the subsystem and setting the input values with the same values as the ones taken at the simulation step where the issue occurs, the model works.
I have also isolated the subsystem from the smallest piece to the largest and tested, concluding that it just fails when sticked to the rest of the model.
Have also thought of the multiple enable ports inside the subsystem; nevertheless the model seems to work for the first simulations steps...
Any clue to solve this? It will be pretty much appreciated.
Many thanks

采纳的回答

Fangjun Jiang
Fangjun Jiang 2011-8-23
There is no definite way to resolve an algebraic loop problem. If you are sure your model is right, you can click menu Simulation->Configuration Parameters->Diagnostics, and change the setting for Algebraic loop from "error" to "warning" or "none".
But usually, it indicates that your model has problem. You can try to add a Unit Delay block at the place where the error occurred. Searching for "Algebraic loop" in document will lead you to the explanation of it.
  4 个评论
Susmita
Susmita 2011-12-14
Thanks Jiang....Your answer solved my problem also...
Heema
Heema 2014-4-23
I am unable to solve the same error Jiang.After adding a unit delay,another error popped up i.e. in another Multiport switch same error persisted. Is there any solution to it?

请先登录,再进行评论。

更多回答(1 个)

mado
mado 2012-10-3
编辑:mado 2012-10-3
I put unit delay of order zero but the output was square wave at constant level and it shouldn't be

类别

Help CenterFile Exchange 中查找有关 Subsystems 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by