solve() returns the symbol not the solution

6 views (last 30 days)
Ryan Good
Ryan Good on 15 Mar 2015
Commented: Star Strider on 16 Mar 2015
I am trying to use solve() and it does not seem to be working. It keeps returning the symbol I am solving for, not a solution. I tried using sample code from the documentation and it still gives the same answer.
syms a b c x
eqn = a*x^2 + b*x + c == 0;
solx = solve(eqn, x)
solx =
x

Answers (1)

Star Strider
Star Strider on 15 Mar 2015
It returns exactly what it should:
solx =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
If you want a numeric answer, you have to supply numeric values for ‘a’, ‘b’, and ‘c’. (You might also want to use the vpasolve function if you want a strictly numeric result.)
  3 Comments
Ryan Good
Ryan Good on 16 Mar 2015
What I posted was copy and pasted from the documentation, there is no mistake in Eqn. The answer is the last line , solx = x. I did not get the -(b + (b^2 - 4*a*c)^(1/2))/(2*a) answer as Star returned.
It seems I must have a problem with the symbolic package. MuPad is missing as well.
Star Strider
Star Strider on 16 Mar 2015
To find out if you have the Symbolic Math Toolbox, type:
ver
in the Command Window. If you have the Toolbox, it should be listed.
If it is listed, and you still cannot access its functions, type in the Command Window:
restoredefaultpath
rehash toolboxcache
then see if your code works.
If you’re still having problems after that, contact MathWorks Technical Support.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!