More about the Simulink algebraic loop solvers?

4 次查看(过去 30 天)
Dear all
The solvers that Simulink uses to break algebraic loops seem to be really efficient.
But I need to disable the automatic algebraic loop solver and to do it by myself (by adding a memory or a low pass filter etc.) because I want to keep track of what's happening inside my implementation. The problem is that without the Simulink solver my results are really noisy (numerical damped noise oscillating at the simulation frequency, like a ringing artifact) and I cannot tolerate the error induced by this noise.
So I want to know more about the solvers that Matlab uses (the idea behind them if Mathworks cannot reveal the code), I didn't find that much about them on the net...
Any other suggestions about how to solve algebraic loops would also be really helpful, thank you very much!
Jawhar

采纳的回答

Jeevan Joishi
Jeevan Joishi 2016-4-7
More information could be found on this link. What it says that it tries to run for some/few iterations to see if the loop can converge. If it does then good enough, but if it does not then it throws an error. It is then left to the user to add some delay/memory blocks to kind of break the loop.
Alternatively, you could set the diagnostics to error out when an algebraic loop is detected instead of giving a warning and attempting to continue forward. This will point you to the location where the loop is detected and you may then introduce some blocks manually.
Although, this link does mentions about LineSearch and TrustRegion as types of AlgebraicLoopSolver, I believe you will have to raise a query with the Technical Support to understand it better.
  1 个评论
Jawhar Chebbi
Jawhar Chebbi 2016-4-7
Thank you Jeevan for your answer.
You are right I asked the technical support yesterday and they gave some hints. I will try to understand what is done inside the solvers so that I can maybe build something similar...

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Configure Simulation Conditions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by