Algrebraic loop error in MATLAB/Simulink

I am trying to model a solar cell in MATLAB/Simulink based on the equation :
V = Rsh*(Iph - Is*exp((V+I*Rs)/(A*Vt) - 1)) - I*(Rs+Rsh)
The issue that constantly occurs is due to the existance of an algebraic loop (as V is the output and it also appears inside the exponential term). I have already used Initial Condition and Algebraic Constraint block but it didn't have any result. Also, I tried to add a Unit Delay converting the simulation running time to discrete format but the error insists. Is anything else I could try ?

Réponses (1)

Sam Chak
Sam Chak le 6 Fév 2022

0 votes

If the problem involves the exponential function and you cannot solve it using any known elementary function, then you probably need to manually express the solution using a special function called, "Lambert W / Product Log function".
https://www.mathworks.com/help/symbolic/lambertw.html
If Rsh, Iph, Is, I, Rs, A, Vt are non-zero real numbers, then a real solution exists for V:
.
Please double-check to make sure that it is completely correct.

1 commentaire

Giorgos Mylonas
Giorgos Mylonas le 6 Fév 2022
Good evening, thanks for the respone! It was really helpful!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by