MATLAB: Reading the answer properly for roots

homeworkpolynomialroots

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.

Best Answer

  • 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.