Algrebraic loop error in MATLAB/Simulink
Show older comments
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 ?
Answers (1)
Sam Chak
on 6 Feb 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 Comment
Giorgos Mylonas
on 6 Feb 2022
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!