Main Content

roots

설명

예제

r = roots(p)p의 계수로 표시되는 다항식의 근을 열 벡터 r로 반환합니다. p는 xn의 계수로 시작하여 n+1개의 다항식 계수를 포함하는 벡터입니다. 예를 들어, p = [3 2 -2]는 다항식 3x2+2x2를 나타냅니다. 방정식에 존재하지 않는 중간 차수의 항은 계수를 0으로 표시합니다.

roots 함수는 p1xn+...+pnx+pn+1=0 형식의 다항 방정식을 풉니다. 다항 방정식은 음이 아닌 지수를 갖는 단일 변수를 갖습니다.

예제

모두 축소

방정식 3x2-2x-4=0을 풉니다.

다항식을 나타내는 벡터를 만든 다음, 근을 구합니다.

p = [3 -2 -4];
r = roots(p)
r = 2×1

    1.5352
   -0.8685

방정식 x4-1=0을 풉니다.

다항식을 나타내는 벡터를 만든 다음, 근을 구합니다.

p = [1 0 0 0 -1];
r = roots(p)
r = 4×1 complex

  -1.0000 + 0.0000i
   0.0000 + 1.0000i
   0.0000 - 1.0000i
   1.0000 + 0.0000i

입력 인수

모두 축소

다항식 계수로, 벡터로 지정됩니다. 예를 들어, 벡터 [1 0 1]은 다항식 x2+1을 나타내고 벡터 [3.13 -2.21 5.99]는 다항식 3.13x22.21x+5.99를 나타냅니다.

자세한 내용은 다항식을 만들고 계산하기 항목을 참조하십시오.

데이터형: single | double
복소수 지원 여부:

  • poly 함수를 사용하여 이 함수의 근에서 다항식을 얻을 수 있습니다(p = poly(r)). poly 함수는 roots 함수의 역입니다.

  • 비선형 방정식의 근을 구하려면 fzero 함수를 사용하십시오. roots 함수는 다항식에서만 사용할 수 있지만 fzero 함수는 여러 유형의 방정식에 더욱 광범위하게 적용 가능합니다.

알고리즘

roots 함수는 pn×n 행렬 An차 특성 다항식을 나타내는, n+1개의 요소를 가진 벡터로 간주합니다. 다항식의 근은 동반 행렬(Companion Matrix) A의 고유값을 계산하여 구해집니다.

A = diag(ones(n-1,1),-1);
A(1,:) = -p(2:n+1)./p(1);
r = eig(A)

생성된 결과는 동반 행렬 A의 반올림 오차 내에 있는, 행렬의 정확한 고유값입니다. 그러나 이는 이러한 고유값이, p의 계수의 반올림 오차 내에 있는 계수를 갖는 다항식의 정확한 근이라는 의미는 아닙니다.

확장 기능

버전 내역

R2006a 이전에 개발됨