How to solve an implicit handle function with two variables?

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

Thanks,
But is there a more general solution? In reality my functin (I) is more complex then the the Lambert W function, its a sum of various functions, among them is the exprasion I gave above.
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".
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 Hilfe-Center und File Exchange

Gefragt:

am 14 Mär. 2022

Kommentiert:

am 14 Mär. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by