More about the Simulink algebraic loop solvers?

조회 수: 2 (최근 30일)
Jawhar Chebbi
Jawhar Chebbi 2016년 4월 4일
댓글: Jawhar Chebbi 2016년 4월 7일
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에서 Sources에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by