Sei sulla pagina 1di 5

Mtodo de Muller

El metodo de Muller es una generalizacion del metodo de la secante. El m


etodo de la secante modificado empieza con dos aproximaciones iniciales x0 y x1
y determina la siguiente aproximacion x2 como la interseccion del eje x con la
recta que pasa por (x0 , f (x0 )) y (x1 , f (x1 )). El metodo de Muller usa tres
aproximaciones iniciales x0 , x1 y x2 y determina la siguiente aproximacion x3
considerando la interseccion del eje x con la parabola que pasa por (x0 , f (x0 )),
(x1 , f (x1 )) y (x2 , f (x2 )).
La derivacion del procedimiento de Muller comienza considerando el polinomio
cuadratico
P (x) = a (x x2 )2 + b (x x2 ) + c
Recuerde que el mtodo de la secante obtiene una aproximacin de la raz dirigiendo
una lnea recta hasta el eje x con dos valores de la funcin (figura 7.3a). El mtodo de
Mller es similar; pero se construye una parbola con tres puntos (figura 7.3b).
El mtodo consiste en obtener los coeficientes de la parbola que pasa por los tres
puntos. Dichos coeficientes se sustituyen en la frmula cuadrtica para obtener el valor
donde la parbola interseca al eje x; es decir, la raz estimada. La aproximacin se facilita
al escribir la ecuacin de la parbola en una forma conveniente.

f2(x) = a(x x2)2 + b(x x2) + c

(7.17)

Queremos que esta parbola pase por tres puntos [x0, f(x0)], [x1, f(x1)] y [x2, f(x2)]. Los
coeficientes de la ecuacin (7.17) se evalan sustituyendo cada uno de esos tres puntos
para dar
f(x0) = a(x0 x2)2 + b(x0 x2) + c
f(x1) = a(x1 x2)2 + b(x1 x2) + c
f(x2) = a(x2 x2)2 + b(x2 x2) + c

(7.18)
(7.19)
(7.20)

Observe que se ha eliminado el subndice 2 de la funcin por brevedad. Debido a que se


tienen tres ecuaciones, es posible encontrar los tres coeficientes desconocidos a, b y c.
Debido a que dos trminos de la ecuacin (7.20) son cero, se encuentra inmediatamente
que c = f(x2). As, el coeficiente c es igual al valor de la funcin evaluada en el tercer valor
inicial, x2. Este resultado se sustituye en las ecuaciones (7.18) y (7.19) para tener dos
ecuaciones con dos incgnitas:
f(x0) f(x2) = a(x0 x2)2 + b(x0 x2)
f(x1) f(x2) = a(x1 x2)2 + b(x1 x2)

(7.21)
(7.22)

Una manipulacin algebraica permite encontrar los coeficientes restantes a y b. La


manera de hacer esto consiste en definir las diferencias:
h0 = x1 x0
h1 = x2 x1

f ( x1 ) f ( x 2 )
x1 x 0

f ( x 2 ) f ( x1 )
x 2 x1

Sustituyendo en el sistema:
( h0 h1 )b (h0 h1 ) 2 a h0 0 h1 1
h1b h1 a h1 1
2

Teniendo como resultado los coeficientes:


a

1 0
h1 h0

b ah1 1

c f ( x2 )

Hallando la raiz, se implementar la solucin convencional, pero debido al error de


redondeo potencial, se usar una formulacin alternativa:

x3 x 2

2c
b b 2 4ac

x3 x 2

despejando

2c
b b 2 4ac

La gran ventaja de este mtodo es que se pueden localizar tanto las races reales
como las imaginarias.
Hallando el error este ser:
Ea

x3 x 2
100%
x3

Al ser un mtodo de aproximacin, este se realiza de forma secuencial e


iterativamente, donde x1, x2, x3 reemplazan los puntos x0, x1, x2 llevando el error a
un valor cercano a cero

Programa
Por ser un mtodo que trabaja de forma lineal, es posible una aplicacin computacional en
forma sencilla, la cual sera:
SubMuller (xr, h, eps, maxit)
x2 = xr
x1 = xr + h*xr
x0 = xr h*xr
Do
iter = iter + 1
h0 = x1 + x0
h1 = x2 x1
d0 = (f(x1)-f(x0))/h0
d1 = (f(x2)-f(x1))/h1
a = (d1 d0)/(h1 + h0)
b = a*h1 +d1
c = f(x2)
rad = sqrt (b*b 4*a*c)
if I b+ rad I > l b - rad l then
den = b + rad

Else
den = b rad
End if
dxr = -2*c/den
xr = x2 + dxr
Print iter, xr
IF (Idxrl<eps*xr or iter>maxit) exit
x0 = x1
x1 = x2
x2 = xr
End do
End Muller

Ejemplo
f ( x) x 3 13 x 12

h = 0,1

x2 = 5 x1 = 5,5 x0 =4,5
Con un anlisis previo, las races son 3, -1 y 4

Solucin

f ( 4,5) 20,625

f (5,5) 82,875

f (5) 48

Calculando
h0 5,5 4,5 1

h1 5 5,5 0,5

82,875 20,625
62,25
5,5 4,5

48 82,875
69,75
5 5,5

Hallando los coeficientes


a

69,75 62,25
15
0,5 1

b 15(0,5) 69,75 62,25

c 48

La raz cuadrada del discriminante es:


62,25 2 4 15 48 31,544

As
x3 5

2 48
3,9765
62,25 31,544

Y el error estimado
Ea

1,0235
100% 25,74%
x3

Ahora
x2 = 3,9765 x1 = 5 x0 =5,5

Haciendo uso de un programa y realizando diferentes iteraciones:


i

xr

Ea %

--

3,9465

25,740

4,0011

0,614

4,0000

0,026

4,0000

0,000

Potrebbero piacerti anche