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 ?

Antworten (1)

Sam Chak
Sam Chak am 6 Feb. 2022

0 Stimmen

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 Kommentar

Good evening, thanks for the respone! It was really helpful!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 6 Feb. 2022

Kommentiert:

am 6 Feb. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by