solve function does not give me value of root

my code is simple:
syms x y a b c
a=0.5;
b=0.0092;
c=0.04;
y=x^2+1/x^3;
solve(a*x^2+b*y+c)
matlab gives:
ans =
RootOf(z^5 + (100*z^3)/1273 + 23/1273, z)[1]
RootOf(z^5 + (100*z^3)/1273 + 23/1273, z)[2]
RootOf(z^5 + (100*z^3)/1273 + 23/1273, z)[3]
RootOf(z^5 + (100*z^3)/1273 + 23/1273, z)[4]
RootOf(z^5 + (100*z^3)/1273 + 23/1273, z)[5]
BUT, when I change y to y=x^2+1
matlab gives:
ans =
-(156579^(1/2)*1i)/1273
(156579^(1/2)*1i)/1273
WHY is that? I dont see there is so much difference. hope someone could help me, THanks!!

2 commentaires

Roger Stafford
Roger Stafford le 4 Avr 2016
Modifié(e) : Walter Roberson le 4 Avr 2016
The difference between "y=x^2+1/x^3" and "y=x^2+1" is that the first leads to a fifth degree polynomial equation and the second to a quadratic equation. We all learned how to solve quadratic equations in high school, but mathematicians have shown that "In algebra, the Abel–Ruffini theorem (also known as Abel's impossibility theorem) states that there is no general algebraic solution—that is, solution in radicals—to polynomial equations of degree five or higher with arbitrary coefficients". See
ZA niceguy
ZA niceguy le 5 Avr 2016
wow thank you! That really cleared up my confusion!

Connectez-vous pour commenter.

 Réponse acceptée

Use the vpasolve function instead:
syms x y a b c
a=0.5;
b=0.0092;
c=0.04;
y=x^2+1/x^3;
x_sol = vpasolve(a*x^2+b*y+c)
x_sol =
-0.4157571755823635878339736950704
- 0.12544667013145313389016347683479 - 0.46115251800229378352756949075526i
- 0.12544667013145313389016347683479 + 0.46115251800229378352756949075526i
0.33332525792263492780715032437 - 0.28135841861289745219925388215346i
0.33332525792263492780715032437 + 0.28135841861289745219925388215346i

3 commentaires

ZA niceguy
ZA niceguy le 4 Avr 2016
thanks! this one helps. Still curious about why sometimes solve function does not give root? is it because the equation too complex that a theoretical correct root is not available?
My pleasure.
It’s not that it’s too complex, it’s that analytic solutions to quintic and higher polynomials simply don’t exist. See Roger Stafford’s Comment to your original Question, with respect to the Abel–Ruffini theorem, for a comprehensive discussion.
general analytic solutions do not exist. Some quintics and higher can be factored to lower order polynomials.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by