MATLAB Answers

how to find the solution of third order polynomial symbolically?

105 views (last 30 days)
this is my equation, where R is the only unknown
I want to solve this equation symbolically.my simplified polynomial equation becomes a*X^3+b*X+c=0, solve for X. a,b and c are functions of other variables. you can see from above image.
I tried below code
syms R a c d
solve (a*R^3+c*R+d==0,R)
the solution came like below
ans=
root(a*z^3 + c*z + d, z, 1)
root(a*z^3 + c*z + d, z, 2)
root(a*z^3 + c*z + d, z, 3)
Please anyone help me. I don't understand these results.

Accepted Answer

Walter Roberson
Walter Roberson on 24 May 2017
solve (a*R^3+c*R+d==0,R,'MaxDegree',3)
  2 Comments
Walter Roberson
Walter Roberson on 25 May 2017
"When you solve a higher order polynomial equation, the solver might use root to return the results. [...]
Try to get an explicit solution for such equations by calling the solver with MaxDegree. The option specifies the maximum degree of polynomials for which the solver tries to return explicit solutions. The default value is 2. Increasing this value, you can get explicit solutions for higher order polynomials."
In other words, the complete expression for a cubic root is long enough to be awkward, and is not usually explicitly needed, so it gets abbreviated. The complete expression for a quartic (degree 4) is very long and pretty much impossible to understand, so an abbreviation is used.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!