Borrar filtros
Borrar filtros

Can I analytically solve a logarithmic equation using the symbolic toolbox?

2 visualizaciones (últimos 30 días)
I have an equation : where A is a constant. I have tried to solve this equation for 'u' with the symbolic toolbox. I am getting the following error:
Warning: Unable to find explicit solution. For options, see help.
In solve (line 317) . Any suggestions how the equation can be solved?
syms u A
eqn=u/(log(u)+1)-A==0;
solve(eqn,u)

Respuesta aceptada

John D'Errico
John D'Errico el 20 de Mzo. de 2019
Sigh. Sorry. I typed too fast there, and I answered incorrectly. Not sure why solve does not get this.
Multiply by log(u) + 1. Valid as long as u is not 1/e.
u = A*(log(u) + 1)
Transform this using x = log(u) + 1. Then u = exp(x - 1) = exp(x)/exp(1). Our problem is now:
exp(x)/exp(1) = A*x
or
exp(x) = exp(1)*A*x
Solve seems to see how to do that.
syms x A
xsol = solve(exp(x) == exp(1)*A*x,x)
xsol =
-lambertw(0, -1125899906842624/(3060513257434037*A))
usol = exp(xsol - 1)
usol =
exp(- lambertw(0, -1125899906842624/(3060513257434037*A)) - 1)
Verify this satisfies the original problem.
vpa(simplify(subs(u/(log(u)+1)-A,u,usol)))
ans =
0.00000000000000011018891328384950189261640307115*A
It looks like solve used a floating point approximation for exp(1) in there, so we still got zero, plus some floating point trash.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by