How to solve an implicit handle function with two variables?

3 Ansichten (letzte 30 Tage)
Dor Gotleyb
Dor Gotleyb am 14 Mär. 2022
Kommentiert: Dor Gotleyb am 14 Mär. 2022
Hi,
I have the following handle function:
Vd = @(V,I) V-I*R;
I = @(V,I) I0*(exp(Vd(V,I))-1);
How can I find I(V)=?
I0,R are constants.
Thanks

Antworten (1)

Torsten
Torsten am 14 Mär. 2022
I = @(V) -I0 + lambertw(I0*R*exp(I0*R+V))/R;
  3 Kommentare
Torsten
Torsten am 14 Mär. 2022
Bearbeitet: Torsten am 14 Mär. 2022
I don't know what you mean by "In reality my functin (I) is more complex then the the Lambert W function".
I = -I0 + lambertw(I0*R*exp(I0*R+V))/R
solves the equation
I = I0*(exp(V-I*R)-1)
for I.
If your equation is more complex, use "fzero" or "fsolve".
Dor Gotleyb
Dor Gotleyb am 14 Mär. 2022
I meant that my function is more complax then just I0*(exp(V-I*R)-1).
its a sum of several functions, but I didn't wont the quastion to be very long, just to understand the consept.
I = @(V,I) I0*(exp(Vd(V,I))-1) + a2*(exp(a3 * Vd(V,I))-1) + a1*sqrt(Vd(V,I)) + ...;
Ok, So I used 'fzero' as you suggested to solve for V=0:
F = @(0,I) -I + I0*(exp(Vd(0,I))-1);
Sol = fzero(F, 0);
And for other voltages I used the previous solution as a guess.
Thank you very mach

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Optimization Toolbox 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!

Translated by