How to solve the implicit equation
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello, my problem is solving the equation:
((alfa*Vt*Vmpp*(2*Impp-Isc))/((Vmpp*Isc+Voc*(Impp-Isc))*(Vmpp-Impp*R)-alfa*Vt(Vmpp*Isc-Voc*Impp)))-exp((Vmpp+Impp*R-Voc)/(alfa*Vt)) =0
I tried a lot of things, but I am still not able to get the solution. I don't know how to use fsolve function, so i used fzero:
R = fzero(@(R) ((alfa*Vt*Vmpp*(2*Impp-Isc))/((Vmpp*Isc+Voc*(Impp-Isc))*(Vmpp-Impp*R)-alfa*Vt(Vmpp*Isc-Voc*Impp)))-exp((Vmpp+Impp*R-Voc)/(alfa*Vt)), Rguess)
It gives me Undefined function or variable 'Rguess'.
Thank you.
0 Kommentare
Antworten (1)
Star Strider
am 25 Nov. 2021
First, a multiplication operator (my best guess, anyway) is missing:
((alfa*Vt*Vmpp*(2*Impp-Isc))/((Vmpp*Isc+Voc*(Impp-Isc))*(Vmpp-Impp*R)-alfa*Vt(Vmpp*Isc-Voc*Impp)))-exp((Vmpp+Impp*R-Voc)/(alfa*Vt)) = 0
↑ ← HERE
That threw an error when I initially ran it.
None of the variable values are supplied.
syms alfa Vt Vmpp Impp Isc Voc R
Eqn = ((alfa*Vt*Vmpp*(2*Impp-Isc))/((Vmpp*Isc+Voc*(Impp-Isc))*(Vmpp-Impp*R)-alfa*Vt*(Vmpp*Isc-Voc*Impp))) - exp((Vmpp+Impp*R-Voc)/(alfa*Vt))
The expression will not simplify further, and an analytic (symbolic) solution in terms of R is not possible.
If the objective is to find the root or roots of the equation, as fzero and fsolve are designed to provide, it is possible that with the (unknown) supplied values (assumed to be scalar), no roots exist. One option is to supply ‘Rguess’ as a complex random variable, since this will cause fsolve to consider complex roots. However without knowing more, it is not possible to address this.
If the range of ‘R’ is known, even approximately, plotting the equation as a function of ‘R’ would immediately reveal any real roots that might exist. Plotting ‘R’ as a complex matrix (using surf) would be a bit more of a challenge, however likely possible.
.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Calculus finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!