MATLAB Answers

How to solve algebraic loop error??

587 views (last 30 days)
Vidya
Vidya on 23 Nov 2012
Commented: Malaiyappan M on 17 Aug 2020
Hii....I came across this error while making a model..
Simulink cannot solve the algebraic loop containing 'trial_3/PV panel/PV module' at time 0.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, either a) switch to LineSearch-based algorithm using set_param('trial_3','AlgebraicLoopSolver','LineSearch') b) reducing the VariableStepDiscrete solver RelTol parameter so that the solver takes smaller time steps. If the error persists in spite of the above changes, then the model is likely ill-defined and requires modification.
I am using coding to make photovoltaic panel and MPPT P&O algorithm.
Please help me to solve this error.

  4 Comments

Show 1 older comment
Rajesh Laguri
Rajesh Laguri on 2 Apr 2018
Have you done this, can you please suggest how you solved this issue.I am also coding for same.
Jim Riggs
Jim Riggs on 2 Dec 2019
It's true that you can break algebraic loops using a unit delay as Azzi Abdelmalek says, but judging by the comments, people are not reviewing the link provided by Walter Roberson, below. This article contains some important information and considerations on the effect of using a unit delay and provides an alternative solution.
Malaiyappan M
Malaiyappan M on 17 Aug 2020
in MPPT Buck/Boost Converer try adjust the Inductor Value to resolve this error

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 23 Nov 2012
Edited: Azzi Abdelmalek on 23 Nov 2012
Algebraic loop occurs often, when you have a feedback through a constant block or equivalent, which means your signal y(t0)=constant * y(t0) , you should have y(t0+1)=constant*y(t0) which you can get with a unit delay block

  15 Comments

Lukas Kretzschmar Waeny
Lukas Kretzschmar Waeny on 12 Mar 2019
Same issue, thanks for helping ...
NING XUE
NING XUE on 10 Mar 2020
Simulink cannot solve the algebraic loop containing 'partial_shading_conditions2/PV_SERIES2/Subsystem/Divide2' at time 0.039814999999999996 using the LineSearch-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, either a) switch to TrustRegion-based algorithm using set_param('partial_shading_conditions2','AlgebraicLoopSolver','TrustRegion') b) reducing the VariableStepDiscrete solver RelTol parameter so that the solver takes smaller time steps. If the error persists in spite of the above changes, then the model is likely ill-defined and requires modification.
The same issue,but I have place the unit delay before the feedback,can't solve this problem
can you help me?

Sign in to comment.

More Answers (4)


Kalyani Dhawad
Kalyani Dhawad on 6 Sep 2018
I have same problem in pv system

  0 Comments

Sign in to comment.


Ahmed
Ahmed on 19 Jun 2019
I've faced the same problem before, it can be solved by adding a unit delay block and type "set_param('trial_3','AlgebraicLoopSolver','LineSearch') " in the command prombit window of MATLAB.

  2 Comments

matham kiran kumar
matham kiran kumar on 3 Aug 2019
Thank you. Its working for me too.
Akash maheshwari
Akash maheshwari on 3 Oct 2019
can you pleasse explain set_param('trial_3','AlgebraicLoopSolver','LineSearch'). i did that in my matlab command window but window show me that algebraic loop parameter did not found.

Sign in to comment.


Gert Kruger
Gert Kruger on 27 Jun 2019

  2 Comments

PIRC
PIRC on 2 Dec 2019
same problem. you model not helpful.
Malaiyappan M
Malaiyappan M on 17 Aug 2020
Inductor is not designed properly

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!

Translated by