NIEVES

Problema es encontrar un buen valor inicial para los métodos de intervalos y para los métodos
abiertos, estos últimos son susceptibles a la divergencia.
Cuando hay raices complejas los métodos de intervalo no se pueden usar por el criterio de
cambio de signo, porque no se aplica a valores complejos.
Se han desarrollados métodos como Müller y el de Bairstow para encotrar raices reales y
complejas.
Método de Müller
consiste en obtenerlos coeficientes de 3 puntos de la parábola. Los coeficientes pueden ser
sustituidos en la fórmula de la cuadrática para obtener el punto de intersección con el eje x=
raíz encontrada. La aproximación se escribe como la ecuación de una parábola:

f 2 ( x)  a( x  x2 ) 2  b( x  x2 )  c

como necesitamos 3 puntos tendremos 3 ec.

f ( x 0 )  a ( x 0  x 2 )  b( x 0  x 2 )  c
2

f ( x1 )  a ( x1  x 2 ) 2  b ( x1  x 2 )  c
f ( x 2 )  a ( x 2  x 2 ) 2  b( x 2  x 2 )  c

aquí la ec queda c=f(x 2 )

al sustuirse en las ec. anteriores quedan 2 ec. con 2 incógnitas

f (x0 )  f (x2 )  a(x0  x2 )2 b(x0  x2 )
f (x1)  f (x2 )  a(x1  x2 )2 b(x1  x2 )
h0=x1-x0
d0= (f(x1)-f(x0))/(x1-x0)

x manipulación algebraica para encontrar a y b

h1=x2-x1
d1= (f(x2)-f(x1))/(x2-x1)

(h0+h1)b - (h0+h1)2 a = h0d0 + h1d1
h1 b - h12 a = h1d1
despejamos a y b
a=(d1-d0)/(h1+h0)
b= a h1 + d1
c= f(x2)

sust en las 2 ec anteriores

Tarea: escribir un speudocódigo para el
caso de raices complejas
Si el discriminante d=b2-4ac<0

Aplicando la fórmula cuadrática a la ec inicial
x1,2=(-b+-raiz(b2-4ac))/2a b2>>4ac la diferencia en el numerador puede ser muy pequeña.
una formulaciones alternativa puede minimizar la cancelación por resta.
x1,2=-2c/(-b+-raiz(b 2 -4ac))
usando la formulación alternativa tenemos: x3-x2= -2c/(-b+-raiz(b2-4ac))
despejando la x3 queda x3= x2 + ( -2c/(-b +- raiz(b 2 -4ac)) )
Ejemplo:
f(x) = x3 - 13x - 12
x0=
x1=
x2=

4.5
5.5
5

1) se evalúan la función con los valores iniciales
f(x0)
f(x1)
f(x2)
20.625
82.875
48
2) se calculan h0, d0, h1, d1
h0=
1
h1=
d0=
62.25
d1=

-0.5
69.75

3) se calculan a, b, c y d=raiz(b2 - 4ac) para d>=0
a=
15
b=
62.25
c=
48
disc=
995.0625
si disc>=0
d=
31.54461127 no tiene raices imaginarias
3.1.1) evaluamos |b+d| > |b-d|, el signo positivo es empleado en el denominador para calc x3
|b+d|=
93.7946113
|b-d|=
30.7053887
V
x3= x2 + ( -2c/(b+d) )
x3=
3.97648704
3.1.2) calculamos el Ea% =|(x3-x2)/x3|*100 = 25.7391247
3.1.3) condición al final: si Ea% > 0.01% entonces los nuevos valores son
x0=
5.5
x1=
5
x2=
3.97648704
se repiten los cálculos = ir a 1)
si_no
x3=
3.976487042

CASO DE RAICES NEGATIVAS

no considerar esta parte

Tarea: hacer un pseudocódigo/procedimiento donde
indique si la raiz es imaginaria o que realice
algún cálculo indicando valor+i

reordene la secuencia de cálculo en columnas (ver ejemplo del Nieves)

Ejercicio: evaluar la función ejemplo de la hoja "Nieves"
Comparar resultados

Método de Müller Se toman tres valores iniciales x0. xi 2 ]( x  xi )( x  xi 1 ) entonces: a2  f  xi . x1.f(x2)) y se toma una de las raices de p(x). Se repite los valores iniciales con x1. x i 1 ]  f [ x i 1 . xi 1 . xi 1 . xi-1. (x1. xi 1   xi 1a2  Una vez calculados los valores de a0. aproximaciones a una raíz de f(x)=0 fi-1=f(xi-1) fi-2=f(xi-2) Se calcula: f i  f i 1 xi  xi1 f [ x i . f(x1)). xi  2  a1  f  xi . x i  2 ]  f i 1  f i  2 x i 1  x i  2 f [ x i . las raices de p(x) de determina a partir de la fórmula cuadrática (racionalizada del numerador)  a1  a12  4a0 a2 2a0 multiplicando numerador y denominador por  a1  a12  4a0 a2 . xi 1 ]( x  xi )  f [ xi . xi 1   ( xi  xi 1 )a2 a0  fi  xi  f  xi . la más cercana a x2 com la siguiente aproximación de x3. x2. f(xi)).f(xi-2)) La ecuación del polinomio de segundo grado o parábola es p ( x)  a0  a1 x  a2 x 2 p( x)  fi  f [ xi . Algoritmo fi=f(xi) Sean xi. f(xi-1)). a1. xi-2. x i  2 ]  f [ x i . xi 1 . (x2. queda  a  1 a12  4a0 a2   a  1 a12  4a0 a2 2a0  a1  a12  4a0 a2  4a0 a2 2a0  a1  a12  4a0 a2   esto hace que disminuya el error   (a1 ) 2  ( a12  4a0 a2 )  2a0  a1  a12  4a0 a2 2a2  a1  a12  4a0 a2 xi 1  2a2  a1  a12  4a0 a2  es la . x3 y se termina el proceso hasta que satisfaga algún criterio de convergencia. (xi-1. x2 y se halla el polinomio p(x) de segundo grado que pasa por los puntos (x0. x i  2 ] xi  xi2 p( x)  fi  f [ xi . xi 2 ]( x  xi )( x  xi 1 ) La función parábola que pasa por los puntos (xi. x i 1 . x i 1 ]  f [ x i 1 . xi 1 ]( x  xi )  f [ xi . a2. (xi-2. f(x0)).

0. continuar con otra iteracion Segunda iteración.x1]= 23 a1= 8 f[x2. xi 1 ]( x  xi )  f [ xi . por lo que se resuelve evaluando las dichas raices Ejemplo f ( x)  x3  2 x 2  10 x  20  0 valores iniciales x0= f(x) 0 -20 1 -7 2 0.1277376 9.001.x0]=a2 13 23 27.13438088 5 6.64159987 9.54359084 0. los nuevos valores de xi son: xi xi-1 xi-1 xi-2 xi-2 xi-3 se repite los calculos desde el comienzo del algoritmo En caso de raices complejas. para evaluar xi+1 luego se calcula el criterio de convergencia: |xi+1-xi|  0.8181703 2. xi 2 ]( x  xi )( x  xi 1 ) f[x1.81849208 23 27. si es >0 entonces se escoge el que tenga el mayor valor en términos de valor absoluto.81849208 10. en este caso xi+1 es xi-3.40646156 21.98566724 .54065923 es mayor 13.81248337 -18.16113269 -0.40012518 15.54065923 |denominador| 13.x0]= 13 por lo tanto a2= f[x2.x0] f[x2.x0]= 5 a0= -20 se calculan los denominadores de la ecuación r  a12  4a0 a2 r= 1   a1  a12  4a0 a2   2   a1  a12  4a0 a2  5 xi 1  x2  2a2  a1  a12  4a0 a2 464 21.60016599 6.66148352 6. si se cumple xi+1 es raíz. reordenando la secuencia de cálculo en columnas iteración 1 2 3 4 5 6 xi 0 1 2 1.001.45458936 11.01903229 f[x1.40646156 21. si no… se continúa con la segunda iteración.77493028 5.54065923 calcular xi+1: 1.60077143 b a1 8 3.0001 16 x1= x2= tolerancia= se calculan los coeficientes del polinomio: p ( x)  a0  a1 x  a2 x 2 p( x)  fi  f [ xi .40012518 15.x1] c f[x2.3385.00559413 -13.722461083 -5.66148352 1.66148352 Criterio de convergencia |xi+1-xi|  0.54065923 es menor 29. xi 1 .x1.31852112 3.10395211 f(x) -20 -7 16 6.33256196 -21.338516481 0.54065923 -29.01554944 2.11344676 0.x1.se evalúa el denominador.45458936 11.

6670349 8.667003069 8.773077386 8.49008492 9.07806634 -26.673470917 8.16318837 -26.00141702 0.02221806 -0.0917719 0.00087255 0.62446195 8.66667947 -0.63691892 8.9568542 8.09553619 -26.78740414 8.66666706 8.01734056 -0.43080873 -0.66345428 8.79859576 9.0334971 9.666773208 8.66642491 -0.333365988 8.66586091 -0.666668019 8.66671491 -22.66613922 -0.66938301 8.15440489 -26.666668381 8.0695029 -26.13438088 9.66783026 8.0314082 -0.48649074 -25.673470917 8.666666672 9.68521867 8.64257823 -0.66669012 .00853235 -0.06709084 -26.00079023 0.17235914 0.59890449 -0.74605593 0.699109964 8.666674152 8.666666672 8.666835748 8.666667716 8.67852372 -0.66712731 -0.773077386 8.29288002 -0.1959758 8.64345725 8.666835748 8.76430057 1.07197889 -26.07339505 -26.44003146 0.67226198 -0.666667716 8.07475632 -26.66658832 -0.0024096 0.699109964 8.66666706 8.06999959 -26.17683685 -26.22826196 0.66674539 -0.66914306 -0.66707623 8.66772014 8.66855541 8.65527262 8.66724503 8.8652936 -26.07418502 -26.333365988 8.666674152 8.666666914 8.66724503 8.666717963 8.950172636 8.759E-05 10.02672121 -0.66619653 -0.66666675 8.53025532 -0.67694896 -0.7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 -0.63081028 8.666666914 8.06796307 -26.00198096 0.67593552 -0.666717963 8.66930667 8.950172636 8.667003069 8.6670349 8.666668381 8.66666675 8.00203828 0.78236567 -24.666773208 8.66666667 1.12256695 -26.666668019 8.07449217 10.88930407 -25.01685143 -24.01372743 -0.66596155 -0.00030719 1.

.

2792541 18.8071613 -27.66148352 1.19871 387.9943714 -19.5291042 10.310353 -23.468659 448.c b a a2  f  xi .5773635 14.29288002 .677033 -16.5406592 18.7776955 -27.279717 307.54359084 0.5406592 -24.5516861 7.0091052 464 453.3000531 -18. xi 1 .9024729 -20. xi  2  a1  f  xi . xi 1   ( xi  xi 1 )a2 xi 1  x2  a0  fi  xi  f  xi . xi 1   xi 1a2  a a0 r -20 -16.487757 448.869987 para raices reales 1 2 13.16113269 -0.56055705 -29.10395211 -0.11344676 0.8123039 -28.5318915 2a2  a1  a12  4a0 a2 x3 |mayor| d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor xi+1 1.

3104747 -20.3010183 74.3176958 75.1687245 -17.4343411 -17.2962885 241.08185587 -0.67226198 -0.3236725 75.009295 98.64257823 -0.3062534 -20.8902582 -17.8296825 72.66712731 -0.2387E-05 -25.3478835 -17.66671694 .3334626 d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor d2 es mayor -0.8598059 75.04011658 -0.00408523 0.66658832 -0.97654981 0.5471431 72.2565923 -20.7353226 -20.75889962 0.5157951 3.67593552 -0.00143859 8.6725152 84.2953913 -20.3483042 -17.59890449 -0.2588902 75.3202339 73.3156104 -17.2961598 -20.00369995 0.2959084 -20.00927016 0.1349407 -17.3355911 -17.2209136 74.67852372 -0.53025532 -0.66914306 -0.06390374 -0.780489 189.3083251 -20.862718 149.41337926 0.297367 -20.75515276 1.3391402 -17.3397457 -17.5827894 -23.66619653 -0.9881875 -17.2050586 -17.00663278 0.1431493 75.0131162 -20.6544151 76.01129813 0.9950942 -20.66613922 -0.66642491 -0.2021182 75.66674539 -0.-19.1368129 -20.12667988 -0.3040625 -20.14922257 -0.1129458 5.5776639 -21.2956669 -20.945846 120.2704287 -17.2959452 -20.00953815 0.2954167 -20.43080873 -0.204065 -20.7917058 71.3437436 -17.0669051 -20.1935263 75.0997013 -17.66667947 -0.10511338 -0.1508512 -18.66586091 -0.66671491 -0.98047234 2.3001002 -20.67694896 -0.2900294 -20.66596155 -0.

.

continuar con otra iteracion 0. pendiente… |xi+1xi|tol 2.16111.54361. continuar con otra iteracion . continuar con otra iteracion -0.11341.1  x2  2a2  a1  a12  4a0 a2 Tarea: para raices complejas.66151.10401. continuar con otra iteracion 0. continuar con otra iteracion 1. continuar con otra iteracion 1.00001.

continuar con otra iteracion -0. es raíz -0.67691.66711. continuar con otra iteracion -0. continuar con otra iteracion -0. continuar con otra iteracion -0. continuar con otra iteracion -0. continuar con otra iteracion -0. continuar con otra iteracion -0.59891. continuar con otra iteracion -0. continuar con otra iteracion -0.64261.66671.67231. continuar con otra iteracion -0.66641.66671.66911.-0.29291.67851. continuar con otra iteracion -0. continuar con otra iteracion -0.67591.66671. continuar con otra iteracion -0.53031.66621. continuar con otra iteracion -0. continuar con otra iteracion -0. continuar con otra iteracion -0. es raíz .66661.66601. continuar con otra iteracion -0. continuar con otra iteracion -0.43081.66611.66591.

con la intersección en el eje x con la línea que cruza (x0. a partir de las condiciones f ( x0 )  a ( x0  x2 ) 2  b( x0  x2 )  c f ( x1 )  a ( x1  x2 ) 2  b( x1  x2 )  c f ( x2 )  a  x2 .2 x1  2 c b  b 2  4ac usando la fórmula racionalizada: x3  x2  2c b  b 2  4ac esto ofrece dos posibilidades para x3. (x1. se cambia la fórmula cuadrática mediante la"racionalización del numerador: b2   b2  4ac  b  b2  4ac  b  b 2  4ac  x    b  b 2  4ac  2a b  b 2  4ac 2a     lo que se simplifica como una fórmula cuadrática alternativa para x1. Una de las soluciones a esto es usar el método de Müller para la búsqueda de raices. es la posibilidad de que tengan raices complejas.f(x2)) Determinamos sus constantes a. En el método de Müller el signo se elige de modo que corresponda al signo de b. De esa forma el denominador será de mayor magnitud y hará que x3 sea seleccionada como raíz de polinomio que está más cercana a x2.f(x1)). x2 determina la siguiente aproximación x3 al al considerar la intersección del eje x con la parábola que atraviesa (x0.f(x1)) y (x2.f(x0)) y (x1. El método de Müller usa 3 aproximaciones x0. cuando todos los coeficicientes son números reales. b. De hecho este método es una extensión del método de la secante.f(x1)) y (x2. que comienza con dos aproximaciones iniciales x0 y x1.x2   b( x2  x2 )  c 2 c  f ( x2 )  x  x2   f ( x1 )  f ( x2 )   x1  x2   f ( x0 )  f ( x1 )  b o  x0  x2  x1  x2  x0  x1   x  x2   f ( x0 )  f ( x2 )   x0  x2   f ( x1 )  f ( x2 )  a 1  x0  x2  x1  x2  x0  x1  2 2 para obtener una aproximación más precisa con redondeo de 4 cifras para x1. x1. c.Método de Müller Un problema que se presenta al aplicar el método de Newton a los polinomios. por lo tanto Se continúa con el criterio de terminación |xi+1-xi| ≤ tolerancia x3  x2  2c b  signo(b) b 2  4ac .2. (x1.f(x0)).f(x0)). f(x2)) La deducción del método de Müller comienza considerando el polinomio cuadrático P( x)  a( x  x2 )2  b( x  x2 )  c que pasa por los puntos (x0. determina la siguiente aproximación x2.

c2) x2=celda(r3..Luego se sigue con la segunda iteración x1. x3 para obtener x4.x2 son valores iniciales ejemplo (r.c2) x1=celda(r2.x2. (i≤noi ) o (band=0) band=0 N V S a=f(x2) b=d2+h2d r=b2-4ac N fin/retornar S r<0 Rcompleja B D=Ör A el método no .x2.noi) muller inicio x0.x1.x1.c2) Entrada de datos: donde x0. 0.0001 c2.c2) noi=celda(r5. renglón1 tol es la tolerancia.x1.c2) tol=celda(r4. columna2 noi es el número máximo de iteraciones 50 h1=x1-x0 h2=x2-x1 d1=(f(x1)-f(x0))/h1 d2=(f(x2)-f(x1))/h2 d=(d2-d1)/(h2+h1) i=3 band=0 mientras.noi x0=celda(r1..c)= r1. x2.tol. ver figura abajo Para cada paso el método contiene el radical puede aproximar las raices b2 -4ac complejas cuando el radical<0 Diagrama de flujo del método de Müller Como programa principal Como subrutina en excel Como función sin parámetros funcion muller(x0.tol.

A continuación del diagrama de flujo B S N |b-D|<|b+D| E=b+D E=b-D h=(-2a)/E p=x2+h S N |h|<tol p es raíz x0=x1 x1=x2 x2=p h1=x1-x0 h2=x2-x1 d1=(f(x1)-f(x0))/h1 d2=(f(x2)-f(x1))/h2 d=(d2-d1)/(h2+h1) i=i+1 band=1 Figura comparativa del método de la Secante y del método de Müller y y x x0 x1 x2 x0 x2 x1 x0 x3 x3 x3 x1 x2 x0 x1 x2 x .

48992305 1.51544489 28.8001E+47 6.48992305 1.8001E+47 1.5.6663E+17 752749951 5.55451926 -6.9283E+23 4.5 x1 1 x2 1.55443167 -6.55443167 -55646.23379 1130463.5636E+14 3.48992747 1.48796255 1.Usando el cálculo de los coeficientes del método de Lagrange Tarea: calcule la raíz del siguiente polinomio f ( x)  16 x 4  40 x 3  5 x 2  20 x  6 a0  f ( x0 )  x0  x1  x0  x2  a1  f ( x1 )  x1  x0  x1  x2  a2  f ( x2 )  x2  x0  x2  x1  con diversos valores de x 0 .86 -1129341.5007E+11 387390.0637865 denom1 = 2243 denom2 = -2187 x3 = 1. x2  2.516 331772. x2  0 1   a1  a12  4a0 a2   2   a1  a12  4a0 a2  tol= 2a2  a1  a12  4a0 a2 0.3507E+11 5.48992747 raiz=x3 6 1.75 -6.75 a0 = a = 26. x1  1.4a0a2=d= 2215 si d≥0.0916E+29 -3.5.7767 -276085.48992747 raiz=x3 F F F F F F F F F F F F F F F F F F F F .0001 iteracion 1 x0 0.51544489 -6.6907264 -1121.48992747 -6.5 a1 = b = -28 a2 = c= -13.5007E+11 1.6663E+17 1. x1  0.06 1.5007E+11 -1.5.0916E+29 5.48992747 raiz=x3 5 1.36 1063.75 -6.48992305 falso 3 1.55443167 -6. raiz(d) 47.48992747 1.5 a12 .5 1109. x1  2.5 f(x0)= 13.5669E+14 -5.5602E+14 3.48796255 7 -6.25 f(x1)= 7 f(x2)= -6. x2  1.48992747 1.55451931 -6.8001E+47 -4.48992747 -6.495 1.6663E+17 -5.51544489 -6.0916E+29 1.18 756132653 -754441262 5.55451931 -9.5 1.2325 1131584.2434E+17 6.48992305 -6.9283E+23 4.55451926 -1691351.48796255 E=|x2-x3|≤tol falso omitir esta parte √|d| = F parte real= F parte imag= F x3 compleja= F Chapra xi 1  x2  2 1 1.5.86 1. x1 . x 2 a) x0  0.5 b) x0  2.55451926 -6.25 c) x0  0.5 1.48992747 -6.55451931 -3.48992747 raiz=x3 4 1.9283E+23 -6.48796255 1.

.

.

.

.

1356E+13 1.065E+12 1.2E+14 -1500 -1000 -500 -2E+13 .cientes del método de Lagrange 1.604E+13 2.528E+10 2.6E+14 f(x) 1.8E+14 x -1000 -600 -200 200 600 1000 1400 1800 1.596E+13 6.4E+14 1.0822E+12 2.592E+10 2.6773E+14 1.

.

.

.

f(x) .

6E+14 f(x) 1.f(x) 1.8E+14 1.4E+14 1.2E+14 1E+14 8E+13 6E+13 4E+13 2E+13 0 -500 -2E+13 0 500 1000 1500 2000 .