Clear Filters
Clear Filters

solve, command reveals solution for each part of my polynomial

1 view (last 30 days)
however the solution presented is for each part of the polynomial:
>> solve((1211*x^6)/2500 + (9953*x^5)/10000 + (193*x^4)/125 - (681*x^3)/200 - (9549*x^2)/10000 + (3117*x)/1000 + 304/25 == 0,x)
ans =
root(z^6 + (9953*z^5)/4844 + (3860*z^4)/1211 - (17025*z^3)/2422 - (9549*z^2)/4844 + (15585*z)/2422 + 30400/1211, z, 1)
root(z^6 + (9953*z^5)/4844 + (3860*z^4)/1211 - (17025*z^3)/2422 - (9549*z^2)/4844 + (15585*z)/2422 + 30400/1211, z, 2)
root(z^6 + (9953*z^5)/4844 + (3860*z^4)/1211 - (17025*z^3)/2422 - (9549*z^2)/4844 + (15585*z)/2422 + 30400/1211, z, 3)
root(z^6 + (9953*z^5)/4844 + (3860*z^4)/1211 - (17025*z^3)/2422 - (9549*z^2)/4844 + (15585*z)/2422 + 30400/1211, z, 4)
root(z^6 + (9953*z^5)/4844 + (3860*z^4)/1211 - (17025*z^3)/2422 - (9549*z^2)/4844 + (15585*z)/2422 + 30400/1211, z, 5)
root(z^6 + (9953*z^5)/4844 + (3860*z^4)/1211 - (17025*z^3)/2422 - (9549*z^2)/4844 + (15585*z)/2422 + 30400/1211, z, 6)
whereas I want a single X value for y = 0
Will someone tell me the correct command?
g.

Accepted Answer

John D'Errico
John D'Errico on 8 Jun 2016
Edited: John D'Errico on 8 Jun 2016
There are no real roots.
You can ask for a "single" X value that works, but no matter what you do, you cannot make magic, unless of course, your name is Harry Potter. It might be, I guess. He did leave Hogwarts.
I suppose that possibly your question is really how to turn that mess into actual umbers. If so, just use vpa.
syms x
r = solve((1211*x^6)/2500 + (9953*x^5)/10000 + (193*x^4)/125 - (681*x^3)/200 - (9549*x^2)/10000 + (3117*x)/1000 + 304/25 == 0,x);
vpa(r)
ans =
- 1.3989312138161239546724799986628 + 1.9811978680634290116114610605855i
- 1.3989312138161239546724799986628 - 1.9811978680634290116114610605855i
- 0.92035026602535783679025120533384 - 1.0426356256188857001302004733061i
- 0.92035026602535783679025120533384 + 1.0426356256188857001302004733061i
1.2919280529215808831225165054004 - 0.73309990384079756483990991478414i
1.2919280529215808831225165054004 + 0.73309990384079756483990991478414i
Feel free to pick any of those complex roots.
Mathematics can be cruel. It refuses to do what you want, instead, doing what it wishes, blithely ignoring the needs of others. :)
  1 Comment
Gavin Seddon
Gavin Seddon on 10 Jun 2016
Finding a root X value seems far too complicated and there in the realms of Magic. I will manually choose the equilibrium X value. I fear a single value will be of no help.
Thanks for these explanations. g.

Sign in to comment.

More Answers (2)

Torsten
Torsten on 8 Jun 2016
Use "roots" instead of "solve".
Best wishes
Torsten.

Gavin Seddon
Gavin Seddon on 9 Jun 2016
Thank you both. Reading further I think vpasolve may condense these roots to a single value. Are you able to assist in using this. Further I am aware of what the value should be from the initial distance time plot. Would it be advisable to use this Value? g.
  1 Comment
Walter Roberson
Walter Roberson on 9 Jun 2016
In all newer releases, when vpasolve() sees that you have a polynomial to solve, it is going to return all of the roots. In order releases, it was potentially random as to which of the roots it returned.
If you know the approximate root, you could determine which of the 6 roots is closest to the one you are looking for. However, it seems improbable to me that you would be seeing an imaginary root on a distance/time plot, which suggests that you have given the wrong equations.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!