Está en la página 1de 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 x2 + 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 x2 + ux + v rinde un cociente * un resto cx + d tales que "as variables c, d, * .bi/ 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* =le 5#6(z)*%7e 8e9i e la l: 5i#"8 8e la ec"aci; i#=<*%7e i icia el c: #a8:r 8e i#eraci: e7 li=i#>i#=,<<<*%7e 8e9i e el li=i#e e el "=er: 8e i#eraci: e7 #:l=/<<<,*%7e 8e9i e la #:lera cia 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 : i 8e!e 8ie #e err=,*%7e i icializa el ?al:r 8el err:r e r i5"al a , er7=,*%7e i icializa 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 e 8 C6ile ,%cicl: @"e :7 !er=i#ira ir e?al"a 8: la7 raDce7 8el !:li :=i: i9 ( -,E=.)*el7e AreaBFe 8%c: 8ici: 7i el 5ra8: 8e la raiz e7 =aG:r a . #=+, r 74*%e7#a e7 el !:li :=i: c"a8ra#ic: 8e i ici: i#=i#H,*%7e i cre=e #a e , la i#eraci: +IFG4=8ec: ?(zF#)*%7e 8i?i8e la ec"aci: e #re el !:li :=i: 8e i ici: le 5#6(I)*%7e 8e9i e la l: 5i#"8 8el !:li :=i: re7"l#a #e le 5#6(G)*%7e 8e9i e 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: e 8 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: e 8 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 : i 8e!e 8ie #e i9 r==< el7e err=8>rLr*%calc"l: 8el err:r !ara c:e9icie #e 8e !ri=er 5ra8: e 8 i9 7==< el7e er7=8>7L7*%calc"l: 8el err:r !ara #er=i : i 8e!e 8ie #e e 8 r=r-8>r*%?al:r 8el c:e9icie #e 8e !ri=er 5ra8: 7=7-8>7*%?al:r 8el #er=i : i 8e!e 8ie #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*%#:lera cia 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 =le 5#6(I.-,)*%7e 8e#er=i a el 5ra8: 8el !:li :=i: r=##(,)* 7=##(1)* e 8 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 e 8%7i 6aG eIce7: e el "=er: 8e i#eraci: e7 7e #er=i a el !r:5ra=a e 8 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* e 8 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,=<* e 8 raiz(ri)=I,*

I,* e 8 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 e 8 raice7=raiz$* 7:r# raice7* raice7

También podría gustarte