Page 205 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 205
7.5 MÉTODO DE BAIRSTOW 181
El seudocódigo del método de Müller para raíces reales se presenta en la figura 7.4.
Observe que esta rutina toma un valor inicial único diferente de cero, que después se
altera por el factor h para generar los otros dos valores iniciales. Por supuesto, el algo-
ritmo puede programarse para considerarse tres valores iniciales. Con lenguajes pareci-
dos a Fortran, el programa encontrará raíces complejas si las variables adecuadas se
declaran como complejas.
7.5 MÉTODO DE BAIRSTOW
El método de Bairstow es un método iterativo relacionado de alguna manera con los
métodos de Müller y de Newton-Raphson. Antes de hacer la descripción matemática de
éste, recuerde la forma factorizada de un polinomio, por ejemplo
(x) = (x + l)(x – 4)(x – 5)(x + 3)(x – 2) (7.28)
ƒ 5
FIGURA 7.4
Seudocódigo para el método de Müller.
SUB Muller(xr, h, eps, maxit)
x 2 = x r
x 1 = x r + h*x r
x 0 = x r – h*x r
DO
iter = iter + 1
h 0 = x 1 – x 0
h 1 = x 2 – x 1
d 0 = (f(x 1 ) – f(x 0 )) / h 0
d 1 = (f(x 2 ) – f(x 1 )) / h 1
a = (d 1 – d 0 ) /(h 1 + h 0 )
b = a*h 1 + d 1
c = f(x 2 )
rad = SQRT(b*b – 4*a*c)
If |b+rad| > |b–rad| THEN
den = b + rad
ELSE
den = b – rad
END IF
dx r = –2*c /den
x r = x 2 + dx r
PRINT iter, x r
IF (|dx r | < eps*x r OR iter > maxit) EXIT
x 0 = x 1
x 1 = x 2
x 2 = x r
END DO
END Muller
6/12/06 13:51:25
Chapra-07.indd 181 6/12/06 13:51:25
Chapra-07.indd 181

