Can I analytically solve a logarithmic equation using the symbolic toolbox?
1 view (last 30 days)
Show older comments
Anik Faisal
on 19 Mar 2019
Answered: John D'Errico
on 20 Mar 2019
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)
0 Comments
Accepted Answer
John D'Errico
on 20 Mar 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.
0 Comments
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!