Вы находитесь на странице: 1из 5

Mtodo de Bairstow

En anlisis numrico, Mtodo de Bairstow es un eficiente algoritmo para


encontrar races de un verdadero polinmico del grado arbitrario. El algoritmo
primero apareci en el apndice de los 1920 que el libro aplic la
aerodinmica! cerca "eonard #airsto$. El algoritmo encuentra las races
adentro con%ugacin del comple%o pares usando solamente aritmtica
verdadera.
&ea algoritmo de la b'squeda del radical para otros algoritmos.
Descripcin del mtodo
El acercamiento de #airsto$ es utili(ar )todo del neutonio para a%ustar los
coeficientes u * v en cuadrtico x
2
+ ux + v ,asta que sus races son tambin
races del polinmico que son solucionadas. "as races de la ecuacin
cuadrtica pueden entonces ser determinadas, * el polinomio se puede dividir
por la ecuacin cuadrtica para eliminar esas races. Este proceso entonces se
itera ,asta que el polinomio llega a ser cuadrtico o linear, * se ,an
determinado todas las races.
-ivisin larga de un polinomio
por x
2
+ ux + v rinde un cociente
* un resto cx + d tales que
"as variables c, d, * .b
i
/ son las funciones de u * v. 0ueden ser encontrados
recurrentemente como sigue.
"a ecuacin cuadrtica divide uniformemente el polinomio cuando
&alores de u * v para cul ocurre el puede ser descubierto escogiendo valores
que comien(an e iterando el mtodo del neutonio en dos dimensiones ,asta
convergencia ocurre.
Funcionamiento
El algoritmo de #airsto$ ,ereda la convergencia cuadrtica del mtodo del
neutonio, e1cepto en el caso de factores cuadrticos de la multiplicidad ms
arriba de 1, cuando la convergencia puede ser algo lenta.
E%emplo en )23"2#
% METODO DE BAIRSTOW
% JUAN CARLOS ALDAZ ROSAS (CREDITOS)
% UNIVERSIDAD DE GUADALAJARA
clear
clc
z=i!"# ($TECLEE LOS COE%ICIENTES DEL &OLINOMIO ENTRE CORC'ETES()$)*
%z=+, -./0 1/20 1/,10 -./320 ,/104*
=le5#6(z)*%7e 8e9ie la l:5i#"8 8e la ec"aci;
i#=<*%7e iicia el c:#a8:r 8e i#eraci:e7
li=i#>i#=,<<<*%7e 8e9ie el li=i#e e el "=er: 8e i#eraci:e7
#:l=/<<<,*%7e 8e9ie la #:leracia 8e la e7#i=aci;
raiz(,(-,)=<*
ri=<*
r=1*%7e 7"!:e el ?al:r 8e r @"e e7 el c:e9icie#e 8e !ri=er 5ra8:
7=1*%7e 7"!:e el ?al:r 8e 7 @"e e7 el #er=i: i8e!e8ie#e
err=,*%7e iicializa el ?al:r 8el err:r e r i5"al a ,
er7=,*%7e iicializa el ?al:r 8el err:r e 7 i5"al a ,
i9 z(,)==<
9!ri#9($EL &RIMER COE%ICIENTE NO DEBE SER CERO())$)
AreaB
e8
C6ile ,%cicl: @"e :7 !er=i#ira ir e?al"a8: la7 raDce7 8el !:li:=i:
i9 (-,E=.)*el7e AreaBFe8%c:8ici: 7i el 5ra8: 8e la raiz e7 =aG:r a .
#=+, r 74*%e7#a e7 el !:li:=i: c"a8ra#ic: 8e iici:
i#=i#H,*%7e icre=e#a e , la i#eraci:
+IFG4=8ec:?(zF#)*%7e 8i?i8e la ec"aci: e#re el !:li:=i: 8e iici:
le5#6(I)*%7e 8e9ie la l:5i#"8 8el !:li:=i: re7"l#a#e
le5#6(G)*%7e 8e9ie la l:5i#"8 8el re7i8": re7"l#a#e
I=+IF<F<4*%7e aJ"7#a la ?ariaAle I !ara !:8er 7"=arla al re7i8":
I=+IHG4*%7"=a 8el c:cie#e =a7 re7i8":
c(,)=z(,)*%?al:r 8e l:7 c:e9icie#e7 8e la 9"ci: a
c(1)=z(1)H(-rKc(,))*%e?al"arF e ?ir#"8 8e @"e el c:e9icie#e 8e =aG:r
9:r i=.(%5ra8: 7era e@"i?ale#e al c:e9icie#e 8e =e:r 5ra8:
==-i*%G e e7#e cicl: 7e realiza la i?er7i: 8e ell:7
c(-=)=z(i)H(-rKI(-=-,))H(-7KI(-=-1))*%al5:ri#=: 8e i?er7i:
e8
8(,)=c(,)*%?al:r 8e l:7 c:e9icie#e7 8e la7 8eri?a8a7 !arciale7
8(1)=c(1)H(-rK8(,))*%?al:r 8e l:7 c:e9icie#e7 8e la7 8eri?a8a7 !arciale7
9:r i=.((-,)*%7e realiza l:7 calc"l:7 8e l:7 c:e9icie#e7
==-i*%6a7#a el 5ra8: =aIi=: 8el !:li:=i:
8(-=)=c(i)H(-rK8(-=-,))H(-7K8(-=-1))*%al5:ri#=: 8e calc"l:
e8
e=+8(-1)F8(-.)*8(-,)F8(-1)4)+-c(-,)*-c()4*%calc"l: 8el
8>r=e(,)*%"e?: ?al:r 8el c:e9icie#e7 8e !ri=er 5ra8:
8>7=e(1)*%"e?: ?al:r 8el #er=i: i8e!e8ie#e
i9 r==<
el7e
err=8>rLr*%calc"l: 8el err:r !ara c:e9icie#e 8e !ri=er 5ra8:
e8
i9 7==<
el7e
er7=8>7L7*%calc"l: 8el err:r !ara #er=i: i8e!e8ie#e
e8
r=r-8>r*%?al:r 8el c:e9icie#e 8e !ri=er 5ra8:
7=7-8>7*%?al:r 8el #er=i: i8e!e8ie#e
i9 ((aA7 (err))M(aA7(er7))N=#:l)%7i 7e c"=!le la c:8ici: 8e
ri=riH,*
I,=(-rH7@r#(rO1-PK7))L1*%#:leracia e#:ce7 7e calc"la el ?al:r 8el
raiz(ri)=I,*
ri=riH,*
I1=(-r-7@r#(rO1-PK7))L1*%!:li:=i: c"a8ra#ic:/
raiz(ri)=I1*
II=+I,FI14$*%?al:r 8el !:li:=i: @"e 8i?i8e eIac#a=e#e a la ec"aci:
##=!:lG(II)*%ca=Ai: 8e ?ariaAle !ara e9ec#"ar "e?a=e#e la 8i?i7i:
+I.FG4=8ec:?(zF##)*%7e e9ec#"a la 8i?i7i:
z=I.*%7e 6ace ca=Ai: 8e ?ariaAle
=le5#6(I.-,)*%7e 8e#er=ia el 5ra8: 8el !:li:=i:
r=##(,)*
7=##(1)*
e8
i9 (i#Eli=i#>i#)%c:8ici: 8e i#eraci:e7
9!ri#9 ($EIce7: e el li=i#e 8e i#eraci:e7/ )$)*AreaB
e8%7i 6aG eIce7: e el "=er: 8e i#eraci:e7 7e #er=ia el !r:5ra=a
e8
i9 (-,)==1%7i la ec"aci: @"e 7e i#r:8"ce e7 8e 7e5"8: 5ra8:
ri=riH,*
I,=(-z(1)H7@r#(z(1)/O1-PKz(,)Kz(.)))L(1Kz(,))*%7e calc"la :r=al=e#e !:r
raiz(ri)=I,*
I1=(-z(1)-7@r#(z(1)/O1-PKz(,)Kz(.)))L(1Kz(,))*%=e8i: 8e la 9:r="la #ra8ici:al
ri=riH,*
raiz(ri)=I1*
e8
i9 (-,)==,%7i el ?al:r 8e la ec"aci: @"e 7e i#r:8"ce e7 8e !ri=er
i9 (aA7(z(1))E=#:l)
ri=riH,*
I,=-z(1)Lz(,)*%5ra8: 7:la=e#e 7e 6ace la 7"7#i#"ci:/
el7e
I,=<*
e8
raiz(ri)=I,*
I,*
e8
i9 (-,)==<%7i el ?al:r 8e la ec"aci: @"e 7e i#r:8"ce e7 "a c:7#a#e
9!ri#9($El ?al:r @"e i#r:8"ci7#e e7 "a c:7#a#e i5"al a())$)
c:7#a#e=z
e8
raice7=raiz$*
7:r# raice7*
raice7

Вам также может понравиться