You are on page 1of 25

NIEVES

Problema es encontrar un buen valor inicial para los mtodos de intervalos y para los mtodos
abiertos, estos ltimos son susceptibles a la divergencia.
Cuando hay raices complejas los mtodos de intervalo no se pueden usar por el criterio de
cambio de signo, porque no se aplica a valores complejos.
Se han desarrollados mtodos como Mller y el de Bairstow para encotrar raices reales y
complejas.
Mtodo de Mller
consiste en obtenerlos coeficientes de 3 puntos de la parbola. Los coeficientes pueden ser
sustituidos en la frmula de la cuadrtica para obtener el punto de interseccin con el eje x=
raz encontrada. La aproximacin se escribe como la ecuacin de una parbola:

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 incgnitas

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 manipulacin 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 speudocdigo para el


caso de raices complejas
Si el discriminante d=b2-4ac<0

Aplicando la frmula cuadrtica a la ec inicial


x1,2=(-b+-raiz(b2-4ac))/2a b2>>4ac la diferencia en el numerador puede ser muy pequea.
una formulaciones alternativa puede minimizar la cancelacin por resta.
x1,2=-2c/(-b+-raiz(b 2 -4ac))
usando la formulacin 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 evalan la funcin 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) condicin al final: si Ea% > 0.01% entonces los nuevos valores son
x0=
5.5
x1=
5
x2=
3.97648704
se repiten los clculos = ir a 1)
si_no
x3=
3.976487042

CASO DE RAICES NEGATIVAS

no considerar esta parte

Tarea: hacer un pseudocdigo/procedimiento donde


indique si la raiz es imaginaria o que realice
algn clculo indicando valor+i

reordene la secuencia de clculo en columnas (ver ejemplo del Nieves)

Ejercicio: evaluar la funcin ejemplo de la hoja "Nieves"


Comparar resultados

Mtodo de Mller
Se toman tres valores iniciales x0, x1, x2 y se halla el polinomio p(x) de segundo grado que pasa
por los puntos (x0, f(x0)), (x1, f(x1)), (x2,f(x2)) y se toma una de las raices de p(x), la ms cercana
a x2 com la siguiente aproximacin de x3. Se repite los valores iniciales con x1, x2, x3 y se
termina el proceso hasta que satisfaga algn criterio de convergencia.
Algoritmo

fi=f(xi)

Sean xi, xi-1, xi-2, aproximaciones a una raz de f(x)=0

fi-1=f(xi-1)
fi-2=f(xi-2)

Se calcula:

f i f i 1
xi xi1

f [ x i , x i 1 ]

f [ x i 1 , x i 2 ]

f i 1 f i 2
x i 1 x i 2

f [ x i , x i 1 , x i 2 ]

f [ x i , x i 1 ] f [ x i 1 , x i 2 ]
xi xi2

p( x) fi f [ xi , xi 1 ]( x xi ) f [ xi , xi 1 , xi 2 ]( x xi )( x xi 1 )
La funcin
parbola que pasa por los puntos (xi, f(xi)), (xi-1, f(xi-1)), (xi-2,f(xi-2))
La ecuacin del polinomio de segundo grado o parbola es
p ( x) a0 a1 x a2 x 2

p( x) fi f [ xi , xi 1 ]( x xi ) f [ xi , xi 1 , xi 2 ]( x xi )( x xi 1 )
entonces:

a2 f xi , xi 1 , xi 2
a1 f xi , xi 1 ( xi xi 1 )a2
a0 fi xi f xi , xi 1 xi 1a2

Una vez calculados los valores de a0, a1, a2, las raices de p(x) de determina a partir de la
frmula cuadrtica (racionalizada del numerador)

a1 a12 4a0 a2
2a0
multiplicando numerador y denominador por a1 a12 4a0 a2 , 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

se evala el denominador, si es >0 entonces se escoge el que tenga el mayor valor en trminos
de valor absoluto, para evaluar xi+1
luego se calcula el criterio de convergencia: |xi+1-xi| 0.001, si se cumple xi+1 es raz, si no
se contina con la segunda iteracin, en este caso xi+1 es xi-3, 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, 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

-7

2
0.0001

16

x1=
x2=
tolerancia=

se calculan los coeficientes del polinomio:

p ( x) a0 a1 x a2 x 2

p( x) fi f [ xi , xi 1 ]( x xi ) f [ xi , xi 1 , xi 2 ]( x xi )( x xi 1 )
f[x1,x0]=

13 por lo tanto

a2=

f[x2,x1]=

23

a1=

f[x2,x1,x0]=

a0=

-20

se calculan los denominadores de la ecuacin

r a12 4a0 a2

r=

1 a1 a12 4a0 a2
2 a1 a12 4a0 a2

xi 1 x2

2a2
a1 a12 4a0 a2

464
21.54065923
|denominador|
13.54065923 es menor
29.54065923 es mayor

13.54065923
-29.54065923

calcular xi+1:

1.66148352
Criterio de convergencia |xi+1-xi| 0.001,

0.338516481 0.3385, continuar con otra iteracion

Segunda iteracin, reordenando la secuencia de clculo en columnas


iteracin

1
2
3
4
5
6

xi
0
1
2
1.66148352
1.11344676
0.54359084
0.16113269
-0.10395211

f(x)
-20
-7
16
6.722461083
-5.00559413
-13.81248337
-18.33256196
-21.01903229

f[x1,x0]

f[x2,x1]

c
f[x2,x1,x0]=a2

13
23
27.40646156
21.40012518
15.45458936
11.81849208

23
27.40646156
21.40012518
15.45458936
11.81849208
10.13438088

5
6.66148352
6.77493028
5.31852112
3.8181703
2.60077143

b
a1

8
3.01554944
2.60016599
6.64159987
9.1277376
9.98566724

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

-0.29288002
-0.43080873
-0.53025532
-0.59890449
-0.64257823
-0.66674539
-0.67694896
-0.67852372
-0.67593552
-0.67226198
-0.66914306
-0.66712731
-0.66613922
-0.66586091
-0.66596155
-0.66619653
-0.66642491
-0.66658832
-0.66667947
-0.66671491

-22.78236567
-24.01685143
-24.88930407
-25.48649074
-25.8652936
-26.07475632
-26.16318837
-26.17683685
-26.15440489
-26.12256695
-26.09553619
-26.07806634
-26.0695029
-26.06709084
-26.06796307
-26.06999959
-26.07197889
-26.07339505
-26.07418502
-26.07449217

10.13438088
9.333365988
8.950172636
8.773077386
8.699109964
8.673470917
8.66724503
8.666773208
8.6670349
8.667003069
8.666835748
8.666717963
8.666674152
8.666666914
8.666668019
8.666668381
8.666667716
8.66666706
8.66666675
8.666666672

9.333365988
8.950172636
8.773077386
8.699109964
8.673470917
8.66724503
8.666773208
8.6670349
8.667003069
8.666835748
8.666717963
8.666674152
8.666666914
8.666668019
8.666668381
8.666667716
8.66666706
8.66666675
8.666666672
8.66666667

1.76430057
1.17235914
0.74605593
0.44003146
0.22826196
0.0917719
0.01372743
-0.02221806
-0.0314082
-0.02672121
-0.01734056
-0.00853235
-0.0024096
0.00087255
0.00203828
0.00198096
0.00141702
0.00079023
0.00030719
1.759E-05

10.0334971
9.79859576
9.49008492
9.1959758
8.9568542
8.78740414
8.68521867
8.63691892
8.62446195
8.63081028
8.64345725
8.65527262
8.66345428
8.66783026
8.66938301
8.66930667
8.66855541
8.66772014
8.66707623
8.66669012

c
b
a

a2 f xi , xi 1 , 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

-20
-16.677033
-16.3000531
-18.9943714
-19.9024729
-20.0091052

464
453.468659
448.487757
448.19871
387.279717
307.869987

para raices reales


1
2

13.5406592
18.2792541
18.5773635
14.5291042
10.5516861
7.56055705

-29.5406592
-24.310353
-23.7776955
-27.8123039
-28.8071613
-27.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.66148352
1.11344676
0.54359084
0.16113269
-0.10395211
-0.29288002

-19.9950942
-20.0131162
-20.0669051
-20.1368129
-20.204065
-20.2565923
-20.2900294
-20.3062534
-20.3104747
-20.3083251
-20.3040625
-20.3001002
-20.297367
-20.2959084
-20.2953913
-20.2954167
-20.2956669
-20.2959452
-20.2961598
-20.2962885

241.780489
189.862718
149.945846
120.009295
98.6725152
84.6544151
76.5471431
72.7917058
71.8296825
72.3202339
73.3010183
74.2209136
74.8598059
75.2021182
75.3236725
75.3176958
75.2588902
75.1935263
75.1431493
75.1129458

5.5157951
3.98047234
2.75515276
1.75889962
0.97654981
0.41337926
0.06390374
-0.10511338
-0.14922257
-0.12667988
-0.08185587
-0.04011658
-0.01129813
0.00408523
0.00953815
0.00927016
0.00663278
0.00369995
0.00143859
8.2387E-05

-25.5827894
-23.5776639
-21.7353226
-20.1508512
-18.8902582
-17.9881875
-17.4343411
-17.1687245
-17.0997013
-17.1349407
-17.2050586
-17.2704287
-17.3156104
-17.3397457
-17.3483042
-17.3478835
-17.3437436
-17.3391402
-17.3355911
-17.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.43080873
-0.53025532
-0.59890449
-0.64257823
-0.66674539
-0.67694896
-0.67852372
-0.67593552
-0.67226198
-0.66914306
-0.66712731
-0.66613922
-0.66586091
-0.66596155
-0.66619653
-0.66642491
-0.66658832
-0.66667947
-0.66671491
-0.66671694

x2

2a2
a1 a12 4a0 a2
Tarea:
para raices complejas, pendiente
|xi+1xi|tol

2.00001, continuar con otra iteracion


1.66151, continuar con otra iteracion
1.11341, continuar con otra iteracion
0.54361, continuar con otra iteracion
0.16111, continuar con otra iteracion
-0.10401, continuar con otra iteracion

-0.29291, continuar con otra iteracion


-0.43081, continuar con otra iteracion
-0.53031, continuar con otra iteracion
-0.59891, continuar con otra iteracion
-0.64261, continuar con otra iteracion
-0.66671, continuar con otra iteracion
-0.67691, continuar con otra iteracion
-0.67851, continuar con otra iteracion
-0.67591, continuar con otra iteracion
-0.67231, continuar con otra iteracion
-0.66911, continuar con otra iteracion
-0.66711, continuar con otra iteracion
-0.66611, continuar con otra iteracion
-0.66591, continuar con otra iteracion
-0.66601, continuar con otra iteracion
-0.66621, continuar con otra iteracion
-0.66641, continuar con otra iteracion
-0.66661, continuar con otra iteracion
-0.66671, es raz
-0.66671, es raz

Mtodo de Mller
Un problema que se presenta al aplicar el mtodo de Newton a los polinomios, es la posibilidad
de que tengan raices complejas, cuando todos los coeficicientes son nmeros reales. Una de
las soluciones a esto es usar el mtodo de Mller para la bsqueda de raices.
De hecho este mtodo es una extensin del mtodo de la secante, que comienza con dos
aproximaciones iniciales x0 y x1, determina la siguiente aproximacin x2, con la interseccin en
el eje x con la lnea que cruza (x0,f(x0)) y (x1,f(x1)).
El mtodo de Mller usa 3 aproximaciones x0, x1, x2 determina la siguiente aproximacin x3 al
al considerar la interseccin del eje x con la parbola que atraviesa (x0,f(x0)), (x1,f(x1)) y (x2,
f(x2))
La deduccin del mtodo de Mller comienza considerando el polinomio cuadrtico

P( x) a( x x2 )2 b( x x2 ) c

que pasa por los puntos (x0,f(x0)), (x1,f(x1)) y (x2,f(x2))


Determinamos sus constantes a, b, c, 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 - 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

para obtener una aproximacin ms precisa con redondeo de 4 cifras para x1,2, se cambia la
frmula cuadrtica mediante la"racionalizacin 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 frmula cuadrtica alternativa para x1,2

x1

2 c
b b 2 4ac

usando la frmula racionalizada:

x3 x2

2c
b b 2 4ac

esto ofrece dos posibilidades para x3.


En el mtodo de Mller 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
raz de polinomio que est ms cercana a x2, por lo tanto
Se contina con el criterio de terminacin |xi+1-xi| tolerancia

x3 x2

2c

b signo(b) b 2 4ac

Luego se sigue con la segunda iteracin x1, x2, x3 para obtener x4, ver figura abajo
Para cada paso el mtodo contiene el radical
puede aproximar las raices
b2 -4ac
complejas cuando el radical<0
Diagrama de flujo del mtodo de Mller
Como programa principal

Como subrutina en excel


Como funcin
sin parmetros
funcion muller(x0,x1,x2,tol,noi)
muller

inicio

x0,x1,x2,tol,noi

x0=celda(r1,c2)
x1=celda(r2,c2)
x2=celda(r3,c2)
tol=celda(r4,c2)
noi=celda(r5,c2)

Entrada de datos:
donde x0,x1,x2 son valores iniciales
ejemplo (r,c)= r1, rengln1
tol es la tolerancia, 0.0001
c2, columna2
noi es el nmero mximo 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...
(inoi ) o
(band=0)
band=0

V
S
a=f(x2)
b=d2+h2d
r=b2-4ac
N

fin/retornar
S

r<0
Rcompleja

D=r

el mtodo no

continuacin del diagrama de flujo


B
S

|b-D|<|b+D|

E=b+D

E=b-D

h=(-2a)/E

p=x2+h
S

|h|<tol
p es raz

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 mtodo de la Secante y del mtodo de Mller


y

x
x0

x1

x2

x0

x2

x1
x0

x3

x3 x3
x1 x2
x0
x1 x2

Usando el clculo de los coeficientes del mtodo de Lagrange


Tarea: calcule la raz 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 , x1 , x 2


a) x0 0.5, x1 1, x2 1.5
b) x0 2.5, x1 2, x2 2.25
c) x0 0.5, x1 0.5, x2 0
1 a1 a12 4a0 a2
2 a1 a12 4a0 a2
tol=

2a2
a1 a12 4a0 a2

0.0001

iteracion
1
x0
0.5
x1
1
x2
1.5
f(x0)=
13.25
f(x1)=
7
f(x2)=
-6.75
a0 = a =
26.5
a1 = b =
-28
a2 = c=
-13.5
a12 - 4a0a2=d=
2215
si d0, raiz(d) 47.0637865
denom1 =
2243
denom2 =
-2187
x3 =
1.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
1.48796255
7
-6.75
-6.51544489
28.6907264
-1121.5
1109.23379
1130463.36
1063.2325
1131584.86
-1129341.86
1.48992305
falso

3
1.5
1.48796255
1.48992305
-6.75
-6.51544489
-6.55443167
-55646.7767
-276085.516
331772.06
1.5007E+11
387390.495
1.5007E+11
-1.5007E+11
1.48992747
raiz=x3

4
1.48796255
1.48992305
1.48992747
-6.51544489
-6.55443167
-6.55451926
-1691351.18
756132653
-754441262
5.6663E+17
752749951
5.6663E+17
-5.6663E+17
1.48992747
raiz=x3

5
1.48992305
1.48992747
1.48992747
-6.55443167
-6.55451926
-6.55451931
-3.3507E+11
5.5669E+14
-5.5636E+14
3.0916E+29
5.5602E+14
3.0916E+29
-3.0916E+29
1.48992747
raiz=x3

6
1.48992747
1.48992747
1.48992747
-6.55451926
-6.55451931
-6.55451931
-9.2434E+17
6.9283E+23
-6.9283E+23
4.8001E+47
6.9283E+23
4.8001E+47
-4.8001E+47
1.48992747
raiz=x3

F
F
F
F

F
F
F
F

F
F
F
F

F
F
F
F

F
F
F
F

cientes del mtodo de Lagrange

1.8E+14

x
-1000
-600
-200
200
600
1000
1400
1800

1.6E+14

f(x)
1.604E+13
2.0822E+12
2.592E+10
2.528E+10
2.065E+12
1.596E+13
6.1356E+13
1.6773E+14

1.4E+14
1.2E+14

-1500

-1000

-500 -2E+13

f(x)

f(x)
1.8E+14
1.6E+14

f(x)

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