MATLAB Answers

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

12 ビュー (過去 30 日間)
Anik Faisal
Anik Faisal 2019 年 3 月 19 日
回答済み: John D'Errico 2019 年 3 月 20 日
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

  0 件のコメント



John D'Errico
John D'Errico 2019 年 3 月 20 日
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
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.
ans =
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 件のコメント


その他の回答 (0 件)


Community Treasure Hunt

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

Start Hunting!

Translated by