Reading the answer properly for roots

5 Ansichten (letzte 30 Tage)
ImNew Matlab
ImNew Matlab am 6 Nov. 2012
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.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentare
ImNew Matlab
ImNew Matlab am 6 Nov. 2012
Bearbeitet: ImNew Matlab am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Polynomials finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by