Algebraic loop error, how to solve?

조회 수: 24 (최근 30일)
Ale_798
Ale_798 2023년 9월 18일
댓글: Ale_798 2023년 9월 18일
The Simulink simulation I am running produces an algebraic loop error because of this part of the scheme:
A delay block just after the port DELTA_U(k) actually solves the problem, however I cannot use this solution because such a block introduces some strange dynamics in the system and it does not work as it should.
How can I solve this problem in an alternative way?
Note: I don't know if this information is relevant, but such an error appears only in one particular condition. I am given 10 different set of parameters for the system: by running the simulation with each of them, only a warning about the algebraic loop is produced, and in 9 cases the system works perfectly fine anyway. The simulation stops with an error only when using one of these sets.
  댓글 수: 2
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023년 9월 18일
Please share the prompted error message here
Ale_798
Ale_798 2023년 9월 18일
Simulink cannot solve the algebraic loop containing '...' at time 5.0 using the TrustRegion-based algorithm due to one of the following reasons: the model is ill-defined i.e., the system equations do not have a solution; or the nonlinear equation solver failed to converge due to numerical issues. To rule out solver convergence as the cause of this error, follow either of the suggested actions. If the error persists in spite of the following changes, then the model is likely ill-defined and requires modification.
Suggested Actions:
• Switch to auto algebraic loop solver algorithm using set_param('...','AlgebraicLoopSolver','Auto') - Fix
• Reduce the Fixed-step size of the solver. - Open

댓글을 달려면 로그인하십시오.

채택된 답변

Fangjun Jiang
Fangjun Jiang 2023년 9월 18일
There is no algebraic loop here. Giving what ever value to DELTA_U(k), "f" can be calculated without problem.
If you feed the output of the "Interpreted MATLAB Fcn" to DELTA_U(k), then it is an algebraic loop.
  댓글 수: 3
Fangjun Jiang
Fangjun Jiang 2023년 9월 18일
It depends on the content of the "Interpreted MATLAB Fcn", or the problem (equation) that you intend to solve. Most likely, the Simulink model is incorrectly constructed for that equation.
Ale_798
Ale_798 2023년 9월 18일
Sorry, I misunderstood your previous answer.
"If you feed the output of the "Interpreted MATLAB Fcn" to DELTA_U(k), then it is an algebraic loop."
This is the problem! It took me a while to spot it among all my subsystems, but at some point DELTA_U(k) becomes function of the output of the "Interpreted MATLAB Fcn".
Now at least I know where I have to investigate to solve the problem.
Thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 General Applications에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by