Reading the answer properly for roots

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.

 채택된 답변

Walter Roberson
Walter Roberson 2012년 11월 6일

1 개 추천

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

ImNew Matlab
ImNew Matlab 2012년 11월 6일
편집: ImNew Matlab 2012년 11월 6일
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?
"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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Polynomials에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by