본문/내용
Bairstow method
수치해석
1.Bairstow method 란
P(x)의 실근과 허근을 포함하는 모든근을 구하는 방법
고차의 방정식을 2차식과의 곱으로
나타내어 계산한다.
참고(몫과 나머지 정리, 조립제법)
p(x) = a0xn + a1xn-1++ an-xx +an (1)
,(단,a0≠ 0)이라 하고,
p(x)를 2차식 x2-rx-s 으로 나눌때
p(x)=(x2-rx-s)Q(x)+u(x-r)+v (2)
여기서 Q(x)는 n-2차의 다항식이고,
u(x-r)+v 는 p(x)를 x2-rx-s 로 나눈 나머지이다.
이때,
Q(x)=bnxn-2+bn-xxn-3+.+b4x2+b3x+b2 이라 하고,
방정식(2)에서 식을 전개하여 일반화한식을 (3)이라 하고, 이때 Q(x)의 계수bk는 역시 다항식(1)과 (2)에서 xk의 계수를 비교하여 얻는다.
이러한 방법의 점화식을 이용하여 해를 구하는 방법을 bairstow method라 한다.
.
따라서 결국 다음의 방법을 말한다.
To find the couple roots of a poly
① find the guadratic factor’s.
② find the zero of the guadratic factor
by why guadratic factor formal.
2. Matlab의 이용
예제3.8 방정식 f(x)=x3+3x2+5x-1의 실근의 근사랎은 0.1795090246이…
C(n-1,3) C(n-2,3); C(n,3) C(n-1,3)]
[C(n,2) ;C(n+1,2)];
%Newton Method식이다
u=B(1), v=B(2)
%B=[u v]에서 u=B(1), v=B(2)이다
fprintf(‘press any key continue \n’);
% press any key continue 나오게 출력해라
pause
%잠시 멈춤 기호이다
end
root=roots([1 u v])
% 근은 [1 u v] 이런 형식으로 출력해라.
결과
k a_k b_k c_k
0 1.00000 1.00000000000000 1.00000000000000
1 3.00000 -0.17950902460294 -3.359xxxxxxxxxxx
2 5.00000 0.00000000000015 5.10927763753183
3 -1.00000 -0.00000000000035 0.00000000000000
u =
-3.17950902460292
v =
-5.57075056372264
press any key to contionue
root =
-1.58975451230146 + 1.74454325092266i
-1.58975451230146 - 1.74454325092266i
참고문헌
수치해석원론 (교우사-김영익, 유동선)
수치해석과 matlab (교우사-양원영)