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 ?

답변 (1개)

Sam Chak
Sam Chak 2022년 2월 6일

0 개 추천

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

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

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

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

질문:

2022년 2월 6일

댓글:

2022년 2월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by