How to solve an implicit handle function with two variables?

3 visualizaciones (últimos 30 días)
Dor Gotleyb
Dor Gotleyb el 14 de Mzo. de 2022
Comentada: Dor Gotleyb el 14 de Mzo. de 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

Respuestas (1)

Torsten
Torsten el 14 de Mzo. de 2022
I = @(V) -I0 + lambertw(I0*R*exp(I0*R+V))/R;
  3 comentarios
Torsten
Torsten el 14 de Mzo. de 2022
Editada: Torsten el 14 de Mzo. de 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 el 14 de Mzo. de 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

Iniciar sesión para comentar.

Categorías

Más información sobre Optimization Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by