Reading the answer properly for roots

조회 수: 2 (최근 30일)
ImNew Matlab
ImNew Matlab 2012년 11월 6일
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일
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?
Walter Roberson
Walter Roberson 2012년 11월 6일
"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개)

카테고리

Help CenterFile Exchange에서 Polynomials에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by