Reading the answer properly for roots

5 views (last 30 days)
I have a polynomial
p(x) = (x^5 + 1.3301x^4 - 9.1234x^3 + 1)(x^2 - 9976/1000)
I need to find the roots preferably to the nearest 100,000th.
Here is what I do:
p = [1 1.3301 -9.1234 0 0 1]; roots(p);
my result is:
-3.760932681080143 + 0.000000000000000i
2.416314783767116 + 0.000000000000000i
0.495523859135796 + 0.000000000000000i
-0.240502980911384 + 0.405248700488689i
-0.240502980911384 - 0.405248700488689i
then I do:
p = [1 0 9976/1000]; roots(p);
my result is:
-0.000000000000000 + 3.158480647399949i
0.000000000000000 - 3.158480647399949i
I'm not really understanding my answers or if they are even correct. If someone could explain them I would appreciate it.

Accepted Answer

Walter Roberson
Walter Roberson on 6 Nov 2012
Those look correct. The "i" (lower-case I) at the end of numbers indicates the imaginary component. So one of the solutions is
-3.760932681080143 + 0.000000000000000i
which has an imaginary component of 0 and so could be written more typically as
-3.760932681080143
but
-0.240502980911384 + 0.405248700488689i
has both real and imaginary components.
  2 Comments
ImNew Matlab
ImNew Matlab on 6 Nov 2012
Edited: ImNew Matlab on 6 Nov 2012
Thank you, what exactly is an imaginary component? and in this case would "-0.240502980911384" be a real root? If so why are they listed together in one row instead of separated?
Walter Roberson
Walter Roberson on 6 Nov 2012
"i" at the end should be read as "* sqrt(-1)", so one of the roots is
-0.240502980911384 + (0.405248700488689 * sqrt(-1))
In that expression, -0.240502980911384 is only the real component of the number, and is not a root in itself.

Sign in to comment.

More Answers (0)

Categories

Find more on Polynomials in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!