Azzera filtri
Azzera filtri

how to find the solution of third order polynomial symbolically?

21 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Walter Roberson
Walter Roberson il 24 Mag 2017
solve (a*R^3+c*R+d==0,R,'MaxDegree',3)
  2 Commenti
saravanakumar D
saravanakumar D il 25 Mag 2017
can you explains why "'MaxDegree',3" necessary here?
Walter Roberson
Walter Roberson il 25 Mag 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by