Está en la página 1de 3

Método de Muller f(x) Parábola

0
Este es un método para encontrar las raíces de
ecuaciones polinomiales de la forma general: 0
f n ( x)  a0  a1 x  a 2 x 2  .......  a n x n
Donde n es el orden del polinomio y las a
son Raíz 0
coeficientes constantes. Continuando con los
polinomios, estos cumplen con las siguientes reglas:
 Para la ecuación de orden n, hay n raíces reales o x x
complejas. Se debe notar que esas raíces no son X2 X1 X0 X
necesariamente distintas. Raíz
 Si n es impar, hay al menos una raíz real. estimada
 Si las raíces complejas existen, existe un par
conjugado. Figura 2
Así, se busca esta parábola para intersectar los tres
Antecedentes puntos [x0, f(x0)], [x1, f(x1)] y [x2, f(x2)]. Los coeficientes
Los polinomios tienen muchas aplicaciones en ciencia de la ecuación anterior se evalúan al sustituir uno de
e ingeniería, como es el caso de su utilización en esos tres puntos para dar:
ajuste de curvas. Sin embargo, se considera que una
de las aplicaciones mas interesantes y potentes es en
f ( x 0 )  a ( x 0  x 2 ) 2  b( x0  x 2 )  c
los sistemas dinámicos, particularmente en los
lineales.
f ( x1 )  a ( x1  x 2 ) 2  b( x1  x 2 )  c
El polinomio mas conocido en el mundo científico, es f ( x 2 )  a ( x 2  x 2 ) 2  b( x 2  x 2 )  c
el denominado, ecuación característica, que es de la
forma: La última ecuación genera que, f ( x 2 )  c , de esta
forma, se puede tener un sistema de dos ecuaciones
a 2 x 2  a1 x  a0  0 con dos incógnitas:
Donde las raíces de este polinomio satisfacen:
f ( x 0 )  f ( x 2 )  a ( x 0  x 2 ) 2  b( x 0  x 2 )
 a1  a  4a 2 a 0
2

x1, 2  1
f ( x1 )  f ( x 2 )  a ( x1  x 2 ) 2  b( x1  x 2 )
2a 0 Definiendo de esta forma:
También denominados eigenvalores del sistema. Los h0  x1  x 0 h1  x 2  x1
eigenvalores pueden utilizarse para analizar un
sistema, para nuestro caso es muy útil en lo f ( x1 )  f ( x 2 )
concerniente a la estabilidad. Con base en lo anterior, 0 
encontrar las raíces en sistemas de segundo orden es x1  x0
prácticamente sencillo, pero para sistemas de orden
superior, puede resultar en un arduo trabajo. f ( x 2 )  f ( x1 )
1 
El método x 2  x1
Un predecesor del método de Muller, es el método de Sustituyendo en el sistema:
la secante, el cual obtiene raíces, estimando una
proyección de una línea recta en el eje x, a través de
(h0  h1 )b  (h0  h1 ) 2 a  h0 0  h1 1
dos valores de la función (Figura 1). El método de
h1b  h1 a  h1 1
2
Muller toma un punto de vista similar, pero proyecta
una parábola a través de tres puntos (Figura 2).
El método consiste en obtener los coeficientes de los Teniendo como resultado los coeficientes:
tres puntos, sustituirlos en la fórmula cuadrática y 1   0
obtener el punto donde la parábola intercepta el eje x. a b  ah1   1 c  f ( x2 )
La aproximación es fácil de escribir, en forma h1  h0
conveniente esta sería:
Hallando la raiz, se implementar la solución
f 2 ( x )  a ( x  x 2 ) 2  b( x  x 2 )  c convencional, pero debido al error de redondeo
potencial, se usará una formulación alternativa:
f(x) Línea recta  2c
x x3  x 2  despejando
b  b 2  4ac
Raíz
estimada  2c
x3  x 2 
x b  b 2  4ac
La gran ventaja de este método es que se pueden
localizar tanto las raíces reales como las imaginarias.
Hallando el error este será:
x
x3  x 2
X1 X0 X Ea   100%
x3
Raíz
Al ser un método de aproximación, este se realiza de
Figura 1 forma secuencial e iterativamente, donde x1, x2, x3
reemplazan los puntos x0, x1, x2 llevando el error a un
valor cercano a cero
x2 = 3,9765 x1 = 5 x0 =5,5
Programa

Por ser un método que trabaja de forma lineal, es


Haciendo uso de un programa y
posible una aplicación computacional en forma realizando diferentes iteraciones:
sencilla, la cual sería: i xr Ea %
0 5
SubMuller (xr, h, eps, maxit)
x2 = xr 1 3,9465 25,740
x1 = xr + h*xr 2 4,0011 0,614
x0 = xr – h*xr
Do 3 4,0000 0,026
iter = iter + 1 4 4,0000 0,000
h0 = x1 + x0
h1 = x2 – x1
Método de Newton
d0 = (f(x1)-f(x0))/h0
d1 = (f(x2)-f(x1))/h1 Es una técnica para encontrar el valor óptimo (máximo
a = (d1 – d0)/(h1 + h0) o mínimo), de una función de una variable, f(x). Para
b = a*h1 +d1 esta clase de análisis se debe tener cuidado con los
c = f(x2) sistemas multimodal, en los cuales existen valores
rad = sqrt (b*b – 4*a*c) óptimos globales y locales. Para la gran mayoría de
if I b+ rad I > l b - rad l then los casos, los estudios se centran en los globales.
den = b + rad
El método
Else
Como antecedente para la explicación del método, se
den = b – rad
tiene el método de Newton-Raphson, el cual es un
End if
método abierto que encuentra la raíz de x, tal que f(x)
dxr = -2*c/den
= 0, el método se resume así:
xr = x2 + dxr
Print iter, xr f ( xi )
IF (Idxrl<eps*xr or iter>maxit) exit xi 1  xi 
x0 = x1 f ´(xi )
x1 = x2 Haciendo uso de este planteamiento para hallar un
x2 = xr óptimo de f(x), al definir una nueva función g(x) = f´(x),
End do así, como el mismo valor óptimo x*, satisface:
End Muller
f ´(x*)  g ( x*)  0
Ejemplo Se utilizará la siguiente formulación, para hallar
f ( x)  x 3  13 x  12 h = 0,1 máximos o mínimos:
x2 = 5 x1 = 5,5 x0 =4,5 f ´(xi )
Con un análisis previo, las raíces son –3, -1 y 4 xi 1  xi 
f ´´(xi )
Solución Este es un método abierto y similar al Newton-
Raphson, ya que no requiere valores iniciales que
f (4,5)  20,625 f (5,5)  82,875 contengan el óptimo. Además, comparte la desventaja
de poder ser divergente.
f (5)  48
Calculando Como anotación, es conveniente verificar que la
segunda derivada tenga el signo correcto, para
h0  5,5  4,5  1 h1  5  5,5  0,5 confirmar que la técnica converge sobre el valor
82,875  20,625 deseado.
0   62,25 Programa
5,5  4,5
48  82,875 El mayor problema a afrontar es la no-linealidad que
1   69,75 involucra la derivada, la ventaja es que algunas
5  5,5 herramientas computacionales tienen directamente la
Hallando los coeficientes función de la derivada, por lo cual el seudocódigo es
69,75  62,25 de muy fácil implementación
a  15
 0,5  1 SubNewton (xi, xr, eps, maxit)
b  15( 0,5)  69,75  62,25 xr = xi
Do
c  48 iter = iter + 1
gx = f’x
La raíz cuadrada del discriminante es: hx = g’x
62,25 2  4  15  48  31,544 div = gx / hx
xi = xr - div
Así dxi = (xi – xr) / xi
 2  48 Print (iter, xr)
x3  5   3,9765 IF (Idxil<eps*xr or iter>maxit) exit
62,25  31,544
Xr = xi
Y el error estimado End do
 1,0235 End Newton
Ea   100%  25,74%
x3
Ahora
Ejemplo
Hallar el máximo de:
x2
f ( x)  2 sen( x)  con un valor inicial de x0
10
= 2,5
Solución
x
f ´(x )  2 cos( x) 
5
1
f ´´(x)  2 sen( x) 
5
Sustituyendo en la formulación de Newton:
2 cos( xi )  xi / 5
xi 1  xi 
 2 sen( xi )  1 / 5
2 cos(2,5)  2,5 / 5
x1  2,5   0,995
 2 sen(2,5)  1 / 5
Reemplazando en la ecuación, f(0,995)=1,579; la
segunda iteración será:
2 cos(0,995)  0,995 / 5
x1  0,995   1,469
 2 sen(0,995)  1 / 5
Realizando diferentes iteraciones:
i x f(x) f´(x) f´´(x)
0 2,5 0,572 -2,102 -1,379
1 0,995 1,579 0,890 -1,878
2 1,469 1,774 -0,091 -2,190
3 1,427 1,776 -0,000 -2,180

También podría gustarte