You are on page 1of 173

Resolucin De Ecuaciones

Mtodos Iterativos

Cristbal Lpez Silla - Licenciado en Matemticas.

ndice general
Listado de Teoremas, Proposiciones, Corolarios Y Definiciones . . . . . . . . . . . . . . .
Listado Ejercicios y Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
8

1. PREFACIO
1.1. Software A Utilizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Software Utilizado Para Escribir ste Documento . . . . . . . . . . . . . . . . . . .
1.3. Reflexiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11
12
13
14

2. MTODOS ITERATIVOS PARA RACES REALES


2.1. Mtodo De la Biseccin . . . . . . . . . . . . . . .
2.1.1. Introduccin . . . . . . . . . . . . . . . . .
2.1.2. Algoritmo Biseccin . . . . . . . . . . . .
2.2. Mtodo Regula Falsi . . . . . . . . . . . . . . . .
2.2.1. Introduccin . . . . . . . . . . . . . . . . .
2.2.2. Algoritmo Regula-Falsi . . . . . . . . . .
2.3. Mtodo De Punto Fijo . . . . . . . . . . . . . . .
2.3.1. Introduccin . . . . . . . . . . . . . . . . .
2.3.2. Convergencia Del Mtodo De Punto Fijo
2.3.3. Algoritmo Del Punto Fijo . . . . . . . . .
2.4. El Mtodo De Wegstein . . . . . . . . . . . . . . .
2.4.1. Introduccin . . . . . . . . . . . . . . . . .
2.4.2. Algoritmo De Wegstein . . . . . . . . . .
2.5. Mtodo De Newton . . . . . . . . . . . . . . . . .
2.5.1. Introduccin . . . . . . . . . . . . . . . . .
2.5.2. Ejemplo Grfico Del Mtodo De Newton
2.5.3. Algoritmo De Newton . . . . . . . . . . .
2.6. Mtodo De La Secante . . . . . . . . . . . . . . .
2.6.1. Introduccin . . . . . . . . . . . . . . . . .
2.6.2. Ejemplo Grfico Mtodo Secante . . . . .
2.6.3. Algoritmo Secante. . . . . . . . . . . . . .
2.7. Mtodos Illinois Y Pegasus . . . . . . . . . . . . .
2.7.1. Algoritmo De Illinois . . . . . . . . . . . .
2.7.2. Algoritmo De Pegasus . . . . . . . . . . .
2.8. Mtodo De Steffensen . . . . . . . . . . . . . . .
2.8.1. Introduccin . . . . . . . . . . . . . . . . .

15
15
15
15
18
18
19
22
22
22
23
26
26
26
27
27
28
28
31
32
32
34
36
36
38
39
39

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CAPTULO 0

2.8.2. Combinando el mtodo de 42 Aitken y Punto Fijo Para Steffensen . . . .


2.8.3. Algoritmo De Steffensen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. EJERCICIOS RESUELTOS MTODOS ITERATIVOS
4. MTODOS PARA POLINOMIOS
4.1. Propiedades De Los Polinomios . . . . . . .
4.2. Mtodo McLaurin De Acotacin De Races
4.3. Separacin De Races Reales . . . . . . . . .
4.3.1. Regla De Los Signos De Descartes .
4.3.2. Mtodo De Sturm . . . . . . . . . . .
4.3.3. Mtodo de Sturm . . . . . . . . . . .
4.4. Polinomios Con Coeficientes Racionales . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

40
41
45

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

123
123
125
127
127
129
131
132

5. EJERCICIOS RESUELTOS POLINOMIOS

143

6. CLCULO DE RACES COMPLEJAS


6.1. Mtodo De Mller . . . . . . . . . . . . . . . .
6.1.1. Introduccin . . . . . . . . . . . . . . . .
6.1.2. Ejemplo Grfico Del Mtodo De Mller
6.1.3. Algoritmo De Mller . . . . . . . . . . .

167
167
167
169
171

Bibliografa

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

173

RESOLUCIN ECUACIONES

ndice de figuras
1.
2.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.

Mtodo Newton f ( x ) = x2 2 para aproximar 2 . . . . . . . . . . . . . . . . . . .

Mtodo Secante f ( x ) = x2 2 para aproximar 2 . . . . . . . . . . . . . . . . . . .


Grfica polinomio p( x ) = 2x3 3x 1 . . . . . . . . . . . . . . . .
Mtodo Biseccin p( x ) = 2x3 3x 1 en [1,1.5] . . . . . . . . . .
Mtodo Biseccin p( x ) = 2x3 3x 1 en [0.75, 0.25] . . . . .
2
Funcin f ( x ) = e x . . . . . . . . . . . . . . . . . . . . . . . . . .
Funcin f ( x ) = 2 cos( x ) recta y = x . . . . . . . . . . . . . . . . .
Funcin f ( x ) = x 2 cos( x ) . . . . . . . . . . . . . . . . . . . . . .
Tasas De Convergencia . . . . . . . . . . . . . . . . . . . . . . . . .
Billar Circular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funcin Billar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tasas Convergencia Billar Newton . . . . . . . . . . . . . . . . . .
Catenaria x cosh( 1x ) 0.1 . . . . . . . . . . . . . . . . . . . . . . .
1
Catenaria
. . . . . . . . . . . . . . . . . . . . . . . . .
acosh( x+x0.1 )
TCL Catenaria x cosh( 1x ) 0.1 . . . . . . . . . . . . . . . . . . . . .
1
TCL Catenaria
. . . . . . . . . . . . . . . . . . . . . .
acosh( x+x0.1 )
Regula Falsi p( x ) = x10 1 en [0.5,1.5] . . . . . . . . . . . . . . . .
TC Newton p( x ) = x10 1 en [0.5,1.5] . . . . . . . . . . . . . . . .
Funcin Logstica f ( x ) = ax (1 x ) a [1,4] anatural . . . . . . .
TCL Funcin Logstica f ( x ) = 0.5x (1 x ) . . . . . . . . . . . . . .
TCL Funcin Logstica f ( x ) = 32 x (1 x ) Estimacin inicial 0.1 . .
TCL Funcin Logstica f ( x ) = 32 x (1 x ) Estimacin inicial 0.375
Pto. Fijo Funcin Logstica f ( x ) = 72 x (1 x ) . . . . . . . . . . . .
Errores Pto. Fijo Funcin Logstica f ( x ) = 15
4 x (1 x ) . . . . . . .
Fractal De Feigenbaum . . . . . . . . . . . . . . . . . . . . . . . . .
f ( x ) = 8x cos x 2x2 . . . . . . . . . . . . . . . . . . . . . . . .
Derivada de g1 ( x ) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Derivada de g3 ( x ) . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Funcin De Raabe f ( a) = a ln a 2a + ln( 2 ) . . . . . . . . . .


Problema de la caja . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funcin f ( x ) = x3 13x2 + 40x 25 . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

46
49
50
51
54
56
58
59
60
63
65

. . . . . . . . . .

66

. . . . . . . . . .

67

. . . . . . . . . .

67

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

69
70
73
74
75
75
76
77
78
86
90
91
93
94
95

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

29
33

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

CAPTULO 0

30.
31.
32.

FReynolds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
FReynolds2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Savitsky1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

1.
2.

Corona Circular Acotacin McLaurin . . . . . . . . . . . . . . . . . . . . . . . . . . . 127


Polinomio f ( x ) = x4 4x3 x2 + 12x 6 . . . . . . . . . . . . . . . . . . . . . . . . 139

1.

Races Unidad De x11 + 1 = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

1.

Mller para f ( x ) = 16x4 40x3 + 5x2 + 20x + 6 . . . . . . . . . . . . . . . . . . . . 170

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 0

Listado de Teoremas, Proposiciones, Corolarios Y Definiciones


2.1.1. Bolzano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.3.1. Punto Fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.5.1. Convergencia De Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

2.8.1. Convergencia Cuadrtica Steffensen . . . . . . . . . . . . . . . . . . . . . . . . . .

40

2.8.1. Diferencia Progresiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

3.0.1. Nmero Iteraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109


4.1.1. Ecuacin Algebraica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.1.1. Teorema Fundamental Del lgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.1.1. Galois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.1.2. Divisin De Polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.1.2. Polinomio Divisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.1.1. El Resto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.1.3. Multiplicidad De Una Raz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.1.4. MCD Polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.2.1. Teorema Acotacin McLaurin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.2.1. Corolario Acotacin McLaurin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.2.1. Corona Circular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.3.1. Separacin Races En Intervalos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3.1. Cambios De Signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3.1. Regla de los signos de Descartes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3.2. Secuencia De Sturm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.3.1. Multiplicidad Polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.3.2. Teorema De Sturm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.3.1. Nmero Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.4.1. Divisores Trmino Independiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.4.2. Estudio Races Racionales En Polinomios . . . . . . . . . . . . . . . . . . . . . . . 133

RESOLUCIN ECUACIONES

CAPTULO 0

Listado Ejercicios y Ejemplos


3.0.1. Polinomio Biseccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

3.0.2. Coseno Regula-Falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

3.0.3. Coseno Punto Fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

3.0.4. Races Quintas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.0.5. Funcin Billar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

3.0.6. Problema Catenaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

3.0.7. Races Dcimas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

3.0.8. Ecuacin Logstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

3.0.9. Diodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

3.0.10. Economa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

3.0.11. Coseno Diferentes Mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

3.0.12. Identidad De Raabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

3.0.13. Problema De La Caja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94

3.0.14. Mtodo De Halley . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

3.0.15. Polinomio Grado Dos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

3.0.16. Sistema No Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100


3.0.17. Esfera Sumergida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.0.18. Problema Partcula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.0.19. Problema Reynolds-Colebrook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.0.20. Mtodo Savitsky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.2.1. Acotacin De Races De Un Polinomio . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.3.1. Determinamos Cambios De Signo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3.2. Hallamos Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3.3. Determinamos Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.3.4. Separamos En Intervalos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.4.1. Resolvemos Polinomio De Grado Cuatro . . . . . . . . . . . . . . . . . . . . . . . 133
4.4.2. Otro Ms De Hallar Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.4.3. Ejemplo Deflacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 0

5.0.1. Polinomio Grado Tres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143


5.0.2. Polinomio Grado Trece . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.0.3. Secuencia Sturm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.0.4. Polinomio Grado Nueve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.0.5. Polinomio Coeficientes PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.0.6. Polinomio Grado Cinco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.0.7. Races Complejas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.0.8. Acotar Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.0.9. Separacin De Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.0.10. Aproximamos Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
5.0.11. Estudiamos Races . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

RESOLUCIN ECUACIONES

PREFACIO

Aqu empieza un proyecto personal de hacer llegar al estudiante universitario la capacidad de


aprender Mtodos Numricos utilizando software libre, en nuestro caso he optado por el uso del
software Octave. Octave es una alternativa libre y bastante compatible con el software que la inmensa mayora conocemos, y que me abstengo a mentar.
No slo contamos con Octave, si quieres puedes utilizar como alternativa el software Scilab, de
hecho; no creo que los cdigos que presento en este trabajo sea muy difcil de poder portarlos a
Scilab.
El presente texto no es una gua o tutorial de Octave, pienso que los tutoriales llegan a ser demasiado pesados, particularmente aprendo ms realizando directamente mis tareas matemticas.
Hoy en da el San Google y algn foro que vaya sobre tus dudas te pueden solucionar la vida,
evitando tener que leer eternos manuales con infinidad de comandos. Por descontado, lo principal es tener inters en lo que estes haciendo, con esa premisa se derriban multitud de barreras.
Este libro en formato PDF trata sobre diferentes formas y algoritmos para poder calcular las races
(o ceros) de cualquier ecuacin no lineal de una variable. Se divide principalmente en dos partes. Una primera parte contiene los principales mtodos iterativos: biseccin, regula, punto fijo,
Newton-Raphson, etc. Una segunda parte esta dedicada a cmo calcular las races de las ecuaciones polinmicas: desde Ruffini hasta el mtodo de Sturm. Terminamos con una dedicacin
especial a cmo hallar races complejas aproximadas con el mtodo de Mller. He incluido una
gran cantidad de problemas resueltos que he sacado de diferentes libros que tengo en mi posesin
y que estn debidamente nombrados al final del documento en el apartado de bibliografa.
ste documento ha sido realizado en su integridad bajo software libre, utilizando LATEXcomo cdigo para generar el documento, y distribuciones Gnu/Linux. Todos los cdigos realizados aqu
los puedes descargar de forma gratuita en el siguiente enlace de GitHub.

ENLACE PARA DESCARGAR CDIGOS OCTAVE


Los cdigos son principalmente de gua, un modelo a seguir, el cual t puedes cambiar a tu gusto
o conveniencia. Lo que s te recomiendo es que no te dediques a copiar y pegar los cdigos, porque lo ms seguro es que no obtengas experiencia ni con Octave ni realizando el estudio de las

11

CAPTULO 1

12

races.
Otra cosa que te recomiendo es que seas crtico con las soluciones aqu expuestas y las que t
mismo/a obtengas, en la justa medida. Realiza las tareas que te dejo pendientes, si un ejercicio
est realizado con determinados mtodos, puedes probar con otros mtodos.

1.1

Software A Utilizar

Definitivamente hay multitud de software que puedes utilizar para calcular las races de una
ecuacin con los mtodos propuestos en ste documento. Los que te aconsejo:
1. GNU Octave-> Alternativa libre a Matlab, es el programa principal que se utiliza en este
documento. Esta disponible para Mc-OS, Windows, Linux y Android.
2. Octave Source Packages-> Conjunto de paquetes que extienden las capacidades de Octave,
altamente recomendable.
3. EPSTK-> Conjunto de comandos extra Octave para una mejor resolucin en los grficos.
Viene muy bien para dibujar en coordenadas polares.
4. QtOctave-> Es un GUI basado en QT4 que te permite un uso ms amigable de Octave. En
Linux lo puedes encontrar en los repositorios de las principales distribuciones. Fue creado
hace unos aos por un espaol, que abandon el proyecto, pero la comunidad Linux sigue
dndole soporte porque es muy til.
5. WxMaxima-> Es un GUI basado en wxWidgets el cual facilita el clculo simblico y no simblico bajo el programa Maxima. Disponible en las 3 principales plataformas. Viene muy
bien como apoyo para clculos simblicos de races y dems en ste documento. Muy recomendable su uso.
6. Sublime Text + SublimeREPL-> Aunque no es cdigo libre s es muy seguido este editor
de textos no enriquecido. Viene muy bien para editar nuestros propios cdigos de Octave.
El plugin SublimeREPL es un muy buen plugin de Sublime Text que nos permite ejecutar nuestros cdigos Octave desde el mismo editor. Viene a ser un muy buen sustituto de
QtOctave.
7. Cantor-> Si eres linuxero y usas KDE te puede venir muy bien para trabajar con Maxima el
programa Cantor.

RESOLUCIN ECUACIONES

ECUACIONES

1.2

CAPTULO 1

13

Software Utilizado Para Escribir ste Documento

ste manual ha sido escrito en su totalidad con el lenguaje LATEXutilizando los siguientes editores:
LyX
TeXMaker
TeXStudio
Gummi
Como documentos de apoyo he utilizado intensamente Edicin De Textos Cientficos Con Latex,
y me ha servido de apoyo el foro TEX de Stackexchange. Para dibujar muchas de las grficas de
Octave en ste documento he utilizado Matlab2TikZ.

RESOLUCIN ECUACIONES

CAPTULO 1

1.3

14

Reflexiones

Antes de terminar el prefacio me gustara que te quedase muy claro lo siguiente, es cierto que con
cualquier programa matemtico puedes calcular las races con tan slo un comando, sin tener que
escribir los algoritmos, pero el objetivo de esta materia en las universidades y en ste documento
es que t conozcas cmo funcionan los diferentes mtodos y seas capaz de elegir cul es el mejor
para determinadas ecuaciones no lineales. Adems, este tipo de estudio viene muy bien para
afianzar conceptos matemticos, como tambin a conocer nuevos conceptos. Otra cosa a tener
muy en cuenta es que te ayudan a aprender a ser crtico con los resultados que puedas obtener
con una calculadora o con un determinado software cientfico.
Sin ms, te dejo con el contenido de esta especie de manualillo que espero sinceramente que te
sea de verdadera ayuda para aprender este campo especfico de las matemticas aplicadas.

RESOLUCIN ECUACIONES

2
2.1

MTODOS ITERATIVOS
PARA RACES REALES

Mtodo De la Biseccin

2.1.1. Introduccin
El mtodo de la biseccin consiste bsicamente en encontrar la raz de una funcin en un determinado intervalo. Dicho intervalo lo vamos dividiendo cada paso por la mitad, quedndonos con
la mitad que tenga la raz. Al hacer cada vez ms pequeos los intervalos lo que conseguimos es
una mejor aproximacin a la raz buscada. El proceso de ir partiendo los intervalos se apoya en el
mtodo de la sucesin de intervalos encajados de Cantor.
Para cerciorarnos que la raz se encuentra en un determinado intervalo lo que hacemos en realidad es aplicar el Teorema de Bolzano.

Teorema 2.1.1 I Bolzano


Sea una funcin cualquiera f : [ a, b] R, tal que f C ([ a, b]). Entonces:
Si f ( a) f (b) < 0 c ] a, b[ / f (c) = 0
El Teorema de Bolzano lo que nos dice es que si en un intervalo dado una funcin continua posee
un cambio de signo entonces, podemos asegurar que la funcin posee al menos una raz en dicho
intervalo, independientemente de la multiplicidad.

2.1.2. Algoritmo Biseccin


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1

% Metodo Biseccion

15

CAPTULO 2

2
3
4
5

16

function [] = biseccion(f,a,b,tol,maxiter)
filename = 'biseccion.txt';
fid = fopen(filename,'w');
fprintf(fid,'k\t\tx (k)\t\t\t\t\t\t\tError\n');

6
7

t = a:0.01:b;

8
9
10

fx = inline(f);
func = fx(t);

11
12
13

fa = feval (fx,a);
fb = feval (fx,b);

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

if fa*fb > 0
disp ('La funcion debe tener signo distinto en los extremos del intervalo')
return
end
iter = 0;
x = [ ];
errores = [ ];
imagenes = [ ];
incr = b-a;
% warning('off', 'Octave:possible-matlab-short-circuit-operator');
while (incr > tol) && ( iter < maxiter)
c = (a+b)/2;
x = [x,c];
fc = feval (fx,c);
if fc == 0
a = c;
b = c;
elseif fa*fc < 0
b = c;
fb = fc;
else
a = c;
fa = fc;
end
errores =[errores,incr];
imagenes = [imagenes,fc];
incr = b-a;
iter++;
end
iter2 = 1:iter;
sol = c;
if incr > tol

RESOLUCIN ECUACIONES

ECUACIONES

47
48
49
50
51
52

53
54
55

56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89

CAPTULO 2

17

disp('Insuficientes iteraciones.')
else
for k=1:iter
fprintf(fid,' %.0f\t\t %.15f\t\t %.15f\n',iter2(k),x(k),errores(k));
end
fprintf (fid,'\nLa solucin es %.15f.\nSe ha alcanzado en %d iteraciones.\nCon un
error de %e',
sol,iter,errores(end));
fclose(fid);
printf ('La solucion es %.15f.\nSe ha alcanzado en %d iteraciones.\nCon un error de %
e\n',
sol,iter,errores(end));
end
clf();
subplot(1,3,1);
fplot(fx,[a-5,a+5])
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('La Funcion');
legend({f},'location','southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,2);
plot(t,func,x,imagenes,'*r')
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('Metodo Biseccion');
legend({f,'Aproximaciones'},'location','southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,3);
plot(iter2,errores,iter2,errores,'*r')
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tendencia de errores en Biseccion');

RESOLUCIN ECUACIONES

CAPTULO 2

90
91
92
93
94
95

18

legend({'Errores','Puntos Errores'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('Errores');
set (get (gca, 'ylabel'), 'rotation', 360);
end
biseccion.m

En los ejercicios se ve con todo detalle los pasos que se realizan en el mtodo de la biseccin, al
igual que en los dems mtodos.

2.2

Mtodo Regula Falsi

2.2.1. Introduccin
ste mtodo trata de mejorar el de la biseccin en su velocidad de convergencia, para mejorarlo
no tomamos cada vez el punto medio del intervalo [ a,b] sino que se calcula en cada iteracin la
interseccin con el eje de abscisas la recta que pasa por los puntos ( a, f ( a)) y (b, f (b)), siendo f la
curva de partida del problema.
Consideremos el punto P(c,0) y calculemos la expresin para la recta. Tenemos que el vector
director de la recta es:

~v (b a, f (b) f ( a))
De esta forma podemos expresar la ecuacin de la recta en su forma continua como:
xa
y f ( a)
=
ba
f (b) f ( a)
Sustituimos el punto P y despejamos c:
ca
f ( a)
f ( a) (b a)
f ( a) (b a)
=
ca =
c=
+a
ba
f (b) f ( a)
f (b) f ( a)
f (b) f ( a)

c=

b f ( a) + a f ( a) + a f (b) a f ( a)
f (b) f ( a)
c=

a f (b) b f ( a)
f (b) f ( a)

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 2

19

ste c es el que se ir iterando cada vez en el mtodo de la Regula Falsi, es decir, son nuestras
aproximaciones para obtener la raz que se busca de una funcin o curva f en un intervalo [ a,b].
Para poder iterarlo hemos de darnos cuenta que el valor c es el que hace el papel del punto medio
de la biseccin, por lo que obtenemos a partir de [ a,b] 2 nuevos subintervalos: [ a,c] y [c,b]. A cada
subintervalo le aplicamos el Teorema de Bolzano, y en el subintervalo que se cumpla el teorema
le volvemos a aplicar el mtodo de la Regula Falsi, es decir; volvemos a iterar. De esa forma lo
que obtenemos es una sucesin finita de aproximaciones a la raz que buscamos en un intervalo
[ a,b] y que podemos definirla como {ci }in=0 . Esto es en esencia los pasos que realizamos en ste
mtodo, al que hay que aadir los diferentes criterios de parada.

2.2.2. Algoritmo Regula-Falsi


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4

function [] = regulafalsi (f,a,b,tol,maxiter)


filename = 'regulafalsi.txt';
fid = fopen(filename,'w');
fprintf(fid,'k\t\tx (k)\t\t\t\t\t\t\tError\n');

5
6

t = a:0.01:b;

7
8
9

fx = inline(f);
func = fx(t);

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

fa = feval(fx,a);
fb = feval(fx,b);
if fa*fb > 0
disp('La funcion debe tener signo distinto en los extremos del intervalo.')
return
end
iter = 0;
x = a;
errores = [ ];
imagenes = [ ];
incr = b-a;
while incr > tol && iter < maxiter
c = (a*fb-b*fa)/(fb-fa);
x = [x,c];
fc = feval(fx,c);
if fc == 0
a = c; b = c;
elseif fa*fc < 0
b = c; fb = fc;
else

RESOLUCIN ECUACIONES

CAPTULO 2

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

48
49

50
51

20

a=c; fa=fc;
end
incr = abs(x(end)-x(end-1));
errores =[errores,incr];
iter++;
end
iter2 = 1:1:iter;
fc1 = feval(fx,x);
imagenes = [imagenes,fc1];
sol = c;
if incr > tol
disp('Insuficientes iteraciones.')
else
for k=1:iter
fprintf(fid,' %.0f\t\t %.15f\t\t %.15f\n',iter2(k),x(k),errores(k));
end
fprintf (fid,'\nLa solucin es %.15f.\nSe ha alcanzado en %d iteraciones.\nCon un
error de %e',sol,iter,errores(end));
fclose(fid);
printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\nCon un error de
%e\n',
sol, iter,errores(end));
end

52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

clf();
subplot(1,3,1);
fplot(fx,[a-5,b+5])
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('La Funcion');
legend({f},'location', 'southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,2);
plot(t,func,x,imagenes,'*r')
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('Metodo Regula Falsi');
legend({f,'Aproximaciones'},'location','southoutside');

RESOLUCIN ECUACIONES

ECUACIONES

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

CAPTULO 2

legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,3);
plot(iter2,errores,iter2,errores,'*r')
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tendencia de errores en Regula Falsi');
legend({'Errores','Puntos Errores'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('Errores');
set (get (gca, 'ylabel'), 'rotation', 360);
end
regulafalsi.m

RESOLUCIN ECUACIONES

21

CAPTULO 2

2.3

22

Mtodo De Punto Fijo

Definicion 2.3.1 I Punto Fijo


Dada una funcin f : D R R y un punto x D, decimos que x es un punto fijo si
f ( x ) = x , es decir; x es solucin de la ecuacin f ( x ) = x ; x D.

2.3.1. Introduccin
En ste mtodo consideramos una funcin f : D R R cualquiera a la que queremos
calcular las soluciones de la ecuacin f ( x ) = 0. El mtodo consiste en transformar dicha ecuacin
en una de punto fijo g( x ) = x, de la cual al ir iterndola obtenemos la sucesin de iterados:
xk+1 = g( xk ) k N.
En el mtodo ya no partimos de un intervalo inicial [ a,b] para encontrar aproximaciones a la raz,
lo que hacemos es partir de un valor inicial x0 que est lo ms prximo posible a la raz a calcular.
Para determinar ste valor inicial la forma ms sencilla es dibujar con Octave la grfica de la
funcin, aunque tambin podemos utilizar el Teorema de Bolzano para comprobar su existencia,
esto lo mejor es hacerlo a mano; o utilizando previamente el mtodo de la Biseccin.
Una cosa muy importante a tener en cuenta en el mtodo de punto fijo es que la funcin g no tiene
porqu ser necesariamente nica, basta tomar como ejemplo la sencilla funcin f ( x ) = x2 2x.
Si en f 0 despejamos x lo podemos hacer de 3 formas diferentes:
x2
x2
g1 ( x ) =
2
2

2
2
Forma 2 x 2x = 0 x = 2x g2 ( x ) = 2x

Forma 3 x2 2x = 0 x2 = 2x g3 ( x ) = 2x
Forma 1 x2 2x = 0 x =

A partir de las diferentes funciones de punto fijo nos queda determinar cul es la mejor para la
raz que deseamos aproximar, tanto en velocidad de converegencia como en cul es la que est
ms cerca a la raz a aproximar.

2.3.2. Convergencia Del Mtodo De Punto Fijo


Consideremos la funcin g : [ a,b] R de clase C 1 ([ a,b]), tal que g( x ) [ a,b] x [ a,b]. Sea la
sucesin de punto fijo xk+1 = g( xk ) k N.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 2

23

Supongamos tambin que k R/| g0 ( x )| < K < 1


Se cumple que xk+1 x para cualquier x0 [ a,b]. Adems, el error de la iteracin n-sima por:
k

| xn x |

Kn
| x0 x1 | n 1
1K

Tambin se tiene que si g0 es continua entonces:


Si | g0 ( x )| > 1 Los iterados NO convergen a x
Si | g0 ( x )| > 1 Los iterados Convergen Linealmente a x con tasa de convergencia c L =
| g0 ( x )|
Si g0 ( x ) = 0 Los iterados convergen cuadrticamente a x

2.3.3. Algoritmo Del Punto Fijo


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4

function [] = pfijo(g,f,a,b,x1,tol,maxiter)
filename = 'puntofijo.txt';
fid = fopen(filename,'w');
fprintf(fid,'k\t\tx (k)\t\t\t\t\t\t\tError\n');

5
6

t = a:0.01:b;

7
8
9
10

fx = inline(f);
gx = inline(g);
func = fx(t);

11
12
13
14
15
16
17
18
19
20
21
22

iter = 1;
x = x1;
incr = tol+1;
errores = incr;
imagenes = [ ];
while incr > tol && iter <= maxiter
x(iter+1) = feval(gx,x(iter));
incr = abs(x(iter+1)-x(iter));
errores =[errores,incr];
iter++;
end

23
24
25
26

iter2 = 1:iter;
fc1 = feval(fx,x);
imagenes = [imagenes,fc1];

RESOLUCIN ECUACIONES

CAPTULO 2

24

27
28
29
30
31

e = abs(diff(x));
tcl = e(2:end) ./ e(1:end-1); %Tasa de convergencia lineal
tcc = e(2:end) ./ e(1:end-1).^2; %Tasa de convergencia cuadratica
%tccubica = e(3:end)./e(1:end-1).^3; %Tasa de convergencia cubica

32
33
34
35
36

XR = x(2:end);
XL = x(1:end-1);
format free;
dg = diff(XR)./diff(XL);

37
38
39
40
41
42
43
44
45
46

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

if incr > tol


sol = [ ];
disp('Insuficientes iteraciones');
else
sol = x(end);
for k=1:iter
fprintf(fid,' %.0f\t\t %.15f\t\t %.15f\n',iter2(k),x(k),errores(k));
end
fprintf (fid,'\nLa solucin es %.15f.\nSe ha alcanzado en %d iteraciones.\nCon un
error de %e',sol,iter,errores(end));
%fprintf(fid,'\n\nTasa De Convergencia Cubica\n %.15f',tccubica');
fclose(fid);
printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',
sol, iter);
end
clf();
figure(1),
subplot(1,3,1);
fplot(fx,[a-5,b+5])
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('La Funcion');
legend({f},'location', 'southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,2);
plot(t,func,x,imagenes,'*r')
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');

RESOLUCIN ECUACIONES

ECUACIONES

71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89

CAPTULO 2

grid;
title('Metodo Punto Fijo');
legend({f,'Aproximaciones'},'location','southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,3);
plot(iter2,errores,iter2,errores,'*r')
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tendencia de errores en el Punto Fijo');
legend({'Errores','Puntos Errores'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('Errores');
set (get (gca, 'ylabel'), 'rotation', 360);

90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

figure(2);
subplot(1,2,1);
plot(iter2(1:length(tcl)),tcl)
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tasa Convergencia Lineal Punto Fijo');
legend({'T.C.L.'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('tcl');
subplot(1,2,2);
plot(iter2(1:length(tcc)),tcc)
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tasa Convergencia Cuadratica Newton');
legend({'T.C.C.'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('tcc');
end

RESOLUCIN ECUACIONES

25

CAPTULO 2

26

pfijo.m

2.4

El Mtodo De Wegstein

2.4.1. Introduccin
Tambin conocido como el mtodo del promotor de convergencia de Wegstein. ste mtodo es
una mejora sustancial del mtodo del punto fijo. Consideremos la ecuacin a resolver f ( x ) = 0, y
su respectiva funcin de punto fijo g( x ); siendo x0 el valor o estimador inicial. Los pasos a seguir
en el mtodo son los siguientes:
1. Al comienzo del paso k-1-simo se conoce xk1
2. Se actualiza xk1 con el punto fijo: xk = g ( xk1 )
3. Se calculan:
A=

g ( xk ) xk
x k x k 1

1
1A

4. Se corrige xk con la sucesin de iterados:


x k +1 = x k + ( g ( x k ) x k ) ; k N

2.4.2. Algoritmo De Wegstein


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4
5
6
7
8
9

function[]=wegstein(f,x0,epsilon,max1)
fx = inline(f);
for k=1:max1
x1=feval(fx,x0);
y1=feval(fx,x1);
delta=(y1-x1)/(x1-x0);
alpha=1/(1-delta);
x0=x1+alpha*(y1-x1);
if abs(x1-x0)<epsilon

RESOLUCIN ECUACIONES

ECUACIONES

10
11
12
13
14
15
16
17

CAPTULO 2

27

break;
endif
endfor
err=abs(x1-x0)/2;
printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',
x0, k);
printf('Con un error de %.15e\n',err);
end
wegstein.m

2.5

Mtodo De Newton

2.5.1. Introduccin
El mtodo de Newton consiste en aproximar las soluciones de la ecuacin f ( x ) = 0 mediante la
recta tangente, por lo que como primera premisa se debe cumplir que la funcin f sea derivable
de orden 1 en un entorno, lo suficientemente grande, de la raz a aproximar. Partimos siempre de
una aproximacin inicial de la raz, x0 , la cual podemos estimar fcilmente dibujando la grfica
de la funcin f .
Una vez determinado x0 , en la primera iteracin debemos calcular la recta tangente al punto
( x0 , f ( x0 )). Dicha recta tangente se puede calcular a partir de la ecuacin de una recta en la forma
punto-pendiente:

y y0 = m ( x x0 )
Siendo y0 = f ( x0 ). Como se sabe de Bachiller, la pendiente es m = f 0 ( x0 ). Tomamos un punto
x1 que es la interseccin de la recta tangente con el eje OX, luego y = 0, sustituimos y despejamos
x1 :
y = f ( x0 ) + f 0 ( x0 ) ( x x0 ) 0 = f ( x0 ) + f 0 ( x0 ) ( x1 x0 ) f ( x0 ) = f 0 ( x0 ) ( x1 x0 )
f ( x0 )
f (x )
x1 x0 = 0
x1 = x0 0 0
f ( x0 )
f ( x0 )
Si iteramos ste procedimiento obtenemos la sucesin de iterados del mtodo de Newton:

x k +1 = x k

RESOLUCIN ECUACIONES

f ( xk )
; k N
f 0 ( xk )

CAPTULO 2

28

Al ver la expresin de la sucesin del mtodo observamos que tambin se debe cumplir en cada
iteracin que f 0 ( xk ) 6= 0 k N o prximo a cero en un entorno pequeo, ya que en caso
contrario dividiramos por 0, provocando error.
Podemos garantizar la convergencia cuadrtica del mtodo mediante el uso del siguiente teorema:

Teorema 2.5.1 I Convergencia De Newton


Sea f C 2 ([ a, b]), consideremos x [ a, b] una raz de la ecuacin f ( x ) = 0, tal que
f 0 ( x ) 6= 0 (i.e. ; es una raz simple)
xk x para cualquier aproximacin inicial x0 , con velocidad de convergencia cuak

drtica, O(n2 ).
Si f 0 ( x ) = 0 El mtodo de Newton converge linealmente, O(n).

2.5.2. Ejemplo Grfico Del Mtodo De Newton

Consideremos la funcin f ( x ) = x2 2 con ecuacin x2 2 = 0, sus soluciones son 2. Apro


ximemos de las dos races x = 2 con el mtodo de Newton. Obviamente f C 2 ([1,1.5]), con

f 0 ( 2) = 2 2 6= 0, luego se cumplen las condiciones del teorema anterior, as que la convergencia es cuadrtica. Tomemos como valor inicial x0 = 1.25.
En la figura adjunta puedes ver las primeras 2 iteraciones para ste ejemplo, cabe destacar la
rpidez del mtodo, con tan slo 2 iteraciones obtenemos una buena aproximacin de la raz, ya
que las 4 primeras cifras decimales son exactas.

2.5.3. Algoritmo De Newton


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1

function [] = newton(f,df,x1,a,b,tol,maxiter)

2
3
4
5

filename = 'newtonraphson.txt';
fid = fopen(filename,'w');
fprintf(fid,'k\t\tx (k)\t\t\t\t\t\t\tError\n');

6
7
8
9
10

tic;
fx = inline(f);
dfx = inline(df);
t = x1-5:0.01:x1+5;

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 2

Mtodo Newton f ( x ) = x2 2

29

y = x2 2

y = 2.5x 3.5625
y = 2.85x 4.030625

f ( x ) = x2 2 f 0 ( x ) = 2x
y = yk + f 0 ( xk )( x xk )
Iteracin 1
x0 = 1.25 y0 = f (1.25) =
0.4375 f 0 (1.25) = 2.5
y = 2.5x 3.5625
Si y = 0 x1 = 1.425
Iteracin 2
x1 = 1.425 y1 = f (1.425) =
0.030625 f 0 (1.425) = 2.85
y = 2.85x 4.030625
Si y = 0 x2 =
1.414254386
Con slo 2 iteraciones obtenemos
una aprox. de 4 cifras decimales exactas.

Figura 1: Mtodo Newton f ( x ) = x2 2 para aproximar

11
12

func = fx(t);

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

k = 1;
x = x1;
incr = tol+1;
sol = [ ];
errores = incr;
imagenes = [ ];
while incr > tol && k <= maxiter
delta = -feval(fx,x(k))/feval(dfx,x(k));
x(k+1) = x(k) + delta;
incr = abs(delta);
errores =[errores,incr];
sol = [sol,x];
k = k+1;
end

28
29
30
31
32
33

display('El algoritmo tiene un coste en tiempo de: ')


toc;
iter2 = 1:k;
fc1 = feval(fx,sol);
imagenes = [imagenes,fc1];

34
35

e = abs(diff(x));

RESOLUCIN ECUACIONES

CAPTULO 2

36
37

30

tcl = e(2:end) ./ e(1:end-1); %Tasa de convergencia lineal


tcc = e(2:end) ./ e(1:end-1).^2; %Tasa de convergencia cuadratica

38
39
40
41
42
43
44
45
46
47

48
49
50
51
52
53

if incr > tol


sol = [ ];
disp('Diverge o insuficientes iteraciones');
else
sol = x(end);
for m=1:k
fprintf(fid,' %.0f\t\t %.15f\t\t %.15f\n',iter2(m),x(m),errores(m));
end
fprintf (fid,'\nLa solucin es %.15f.\nSe ha alcanzado en %d iteraciones.\nCon un
error de %e\n\n',sol(end),k,errores(end));
printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',
sol,k);
end
fprintf(fid,'Tasa de convergencia lineal = %f \n',tcl);
fprintf(fid,'Tasa de convergencia cuadratica = %f \n',tcc);
fclose(fid);

54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

clf();
figure(1);
subplot(1,3,1);
fplot(fx,[a,b]);
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('La Funcion');
legend({f},'location', 'southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,2);
plot(t,func,sol,imagenes,'*r')
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('Metodo Newton Raphson');
legend({f,'Aproximaciones'},'location','southoutside');
legend boxon;
xlabel('y');
ylabel('x');

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 2

set (get (gca, 'ylabel'), 'rotation', 360);


subplot(1,3,3);
plot(iter2,errores,iter2,errores,'*r')
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tendencia de errores en Newton');
legend({'Errores', 'Puntos Errores'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('Errores');

80
81
82
83
84
85
86
87
88
89
90
91
92

figure(2);
subplot(1,2,1);
plot(iter2(1:length(tcl)),tcl)
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tasa Convergencia Lineal Newton');
legend({'T.C.L.'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('tcl');
subplot(1,2,2);
plot(iter2(1:length(tcc)),tcc)
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tasa Convergencia Cuadratica Newton');
legend({'T.C.C.'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('tcc');

93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

end
newton.m

2.6

Mtodo De La Secante

RESOLUCIN ECUACIONES

31

CAPTULO 2

32

2.6.1. Introduccin
El mtodo de la secante tiene una velocidad de convergencia mayor que el de la biseccin o de
la regula, pero menor que el de Newton. Es un buen mtodo para cuando el de Newton o el
del punto fijo fallan, o cuando el clculo de la primera derivada es muy costoso. Para aplicarlo se
toman dos estimaciones iniciales x1 y x2 de la raz o solucin de la ecuacin f ( x ) = 0, siendo f una
curva cualquiera, a poder ser continua en un entorno de la solucin o soluciones de la ecuacin.
En el mtodo lo primero es calcular una recta secante a la curva/funcin f , es decir; una recta que
pase por los puntos ( x1 , f ( x1 )) y ( x2 , f ( x2 )), luego se toma como siguiente estimacin un x3 que
es la interseccin de la secante con el eje OX. Si iteramos el proceso obtenemos como sucesin de
iterados del mtodo la expresin:

x k +1 = x k

f ( xk )
k N
f ( x k ) f ( x k 1 )
x k x k 1

Tambin puedes encontrar la sucesin expresada de forma equivalente como:


x k +1 = x k

x k x k 1
f ( xk ) k N
f ( x k ) f ( x k 1 )

1+ 5
La velocidad de convergencia del mtodo es =
, es decir; su velocidad de convergencia
2
es el nmero ureo, es una convergencia superlineal.

2.6.2. Ejemplo Grfico Mtodo Secante

Consideremos la funcin f ( x ) = x2 2 con ecuacin x2 2 = 0, sus soluciones son 2. Aproxi


memos de las dos races x = 2 con el mtodo de la Secante. Tomamos como puntos de partida
x1 = 1 y x2 = 2. Para calcular las expresiones de las rectas secantes en cada iteracin vamos a
utilizar la expresin:
y = f ( x1 ) +

x x1
[ f ( x2 ) f ( x1 )]
x2 x1

Las sucesivas aproximaciones a la raz las obtendremos sustituyendo en la expresin anterior


y = 0 y despejando x.
x1
3 y = 3x 4 = x3 = 43 = 1.333333333 . . .
1
4
2 x 3 20
10
14
x2 = 2 = y = +
y = x
= x4 = 75 = 1.4
2
9
9
3
3
3

x1 = 1 x2 = 2 = y = 1 +

x1 =

4
3

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 2

33

7
x 51
1
17
24
5
x2 = 2 = y = +
y = x
= x5 =
3 25
25
5
5
5

x1 =

7
5

x1 =

24
17

24
x
2
17 580 y = 58 x 82 = x =
x2 = 2 = y =
+
6
10 2899
289
17
17
17

41
29

41
x
1
29 1683 y = 99 x 140 = x =
x2 = 2 = y =
+
7
17 841
841
29
29
29

x1 =

24
17

= 1.411764706

41
29

= 1.413793103

140
99

= 1.41414141 . . .

Luego despus de 5 iteraciones obtenemos la aproximacin x = 1.4141414141 . . . , es decir, obtenemos 3 cifras decimales exactas.
En la figura adjunta puedes ver las primeras 5 iteraciones para ste ejemplo.

y = x2 2

Mtodo Secante f ( x ) =

x2

y = 3x 4
14
y = 10
3 x 3
24
y = 17
5 x 5
y = 58 x 82
17
17
140
y = 99
x

29
29

0.5

1.5

Figura 2: Mtodo Secante f ( x ) = x2 2 para aproximar

RESOLUCIN ECUACIONES

CAPTULO 2

34

2.6.3. Algoritmo Secante.


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4

function [] = secante(f,x1,x2,tol,maxiter)
filename = 'secante.txt';
fid = fopen(filename,'w');
fprintf(fid,'k\t\tx (k)\t\t\t\t\t\t\tError\n');

5
6
7
8
9
10

t = x1:0.01:x2;
fx = inline(f);
x = [x1,x2];
y = feval(fx,x);
func = fx(t);

11
12

k = 2;

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

sol = [ ];
errores = [ ];
incr = tol + 1;
delta = x2 - x1;
while incr > tol && k < maxiter
m = (y(k) - y(k-1))/delta;
delta = -y(k)/m;
x(k+1) = x(k) + delta;
y(k+1) = feval(fx,x(k+1));
sol = [sol,x];
incr = abs(delta);
errores =[errores,incr];
k++;
end

28
29

iter = 1:k-2;

30
31
32
33
34
35
36
37
38
39

40

if incr > tol


sol = [ ];
disp('Diverge o insuficientes iteraciones.')
else
sol = x(end);
for m=1:k-2
fprintf(fid,' %.0f\t\t %.15f\t\t %.15f\n',iter(m),x(m),errores(m));
end
fprintf (fid,'\nLa solucin es %.15f.\nSe ha alcanzado en %d iteraciones.\nCon un
error de %e',sol(end),k-2,errores(end));
fclose(fid);

RESOLUCIN ECUACIONES

ECUACIONES

41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

CAPTULO 2

printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',


sol,k-2);
end
clf();
subplot(1,3,1);
fplot(fx,[x1-5,x1+5])
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('La Funcion');
legend({f},'location', 'southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,2);
plot(t,func,x,y,'*r')
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('Metodo Secante');
legend({f,'Aproximaciones'},'location','southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,3);
plot(iter,errores,iter,errores,'*r')
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tendencia de errores en Secante');
legend('Errores','location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('Errores');
set (get (gca, 'ylabel'), 'rotation', 360);
end
secante.m

RESOLUCIN ECUACIONES

35

CAPTULO 2

2.7

36

Mtodos Illinois Y Pegasus

Ambos mtodos son generalizaciones del mtodo de la Regula Falsi. Utilizan un paso de secante
modificado para acelerar la convergencia lineal de dicho mtodo.
Su algoritmo asociado comparte los dos primeros pasos con el de la Regula Falsi.
1) Se parte de un intervalo ] a, b[ que contiene a la raz x .
2) Se calculan yb = f (b) y yi = f ( xi ), tal que yb yi < 0
xi y b b yi
abscisa del punto de interseccin con el eje OX de la recta secante
y b yi
que pasa por los puntos ( xi , yi ) y (b, yb ).
3) Se define xk =

4) Se evala P := yb yk

b = x ,
k
Si P > 0 =
y = y ,
b

x = x ,
i
k
Si P < 0 =
y = y ,
i

xi = x i
yi = yi
b=b
yb = yb

En donde se tiene:
1
Mtodo Illinois = =
2

yb

,
=
yb + yk
Mtodo Pegasus=
yi

=
,
yi + y k

P>0
P<0

Ambos mtodos tienen convergencia superlineal 1.642.

2.7.1. Algoritmo De Illinois


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4
5
6

function []=illinois(f,a,b,delta,epsilon,max1)
%a,b extremos del intervalo que enmarca la raiz
%a=
%b=
%delta es la tolerancia para la raiz y epsilon para el valor de la funcion
%delta=

RESOLUCIN ECUACIONES

ECUACIONES

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

CAPTULO 2

%epsilon=
%max1=
% max1 es el numero maximo de tolerancias
fx = inline(f);
ya=feval(fx,a);
yb=feval(fx,b);
%Evalua la funcion en los extremos del intervalo donde presuntamente se
%encuentra la raiz.
if ya*yb>0
disp('Ojo!: f(a)*f(b)>0')
break,
end
%Aqui no hay raiz en el intervalo en estudio.
for k=1:max1
dx=yb*(b-a)/(yb-ya);
c=b-dx;
%Se define la abcisa del punto c interseccion de la secante por
%(a,ya),(b,yb) con el eje x
ac=c-a;
yc=feval(fx,c);
%y se evalua su ordenada sobre la curva.
if yc==0
break;
%ya tenemos la solucion
elseif yb*yc>0
%una vez que sabemos que no es la raiz debemos saber en que intervalo (a,c)
%o (c,b) esta la raiz buscada, luego estudiamos los signos de yb*yc y de
%ya*yc
b=c;
ya=(0.5)*ya;
yb=yc;
%en este caso el nuevo intervalo (a,c) y multiplicamos la ya por 0.5
else
a=c;
ya=yc;
yb=(0.5)*yb;
end
%aqui el nuevo intervalo es (c,b)
dx=min(abs(dx),ac);
if abs(dx)<delta
break;
end
if abs(yc)<epsilon
break;
end

RESOLUCIN ECUACIONES

37

CAPTULO 2

52
53
54
55
56
57
58
59

38

end
err=abs(b-a)/2;
yc=feval(fx,c);
printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',c, k);
printf ('Con un error de %e\n',err);
printf('Con f(raiz)= %e\n',yc);
clear;
end
illinois.m

2.7.2. Algoritmo De Pegasus


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

function []=pegasus(f,a,b,delta,epsilon,max1)
fx = inline(f);
ya=feval(fx,a);
yb=feval(fx,b);
%Evalua la funcion en los extremos del intervalo donde presuntamente se
%encuentra la raiz.
if ya*yb>0
disp('Ojo!: f(a)*f(b)>0')
break,
end
%Aqui no hay raiz en el intervalo en estudio.
for k=1:max1
dx=yb*(b-a)/(yb-ya);
c=b-dx;
alpha=b/(b+c);
printf ('alpha = %.15f\n',alpha);
%Se define la abcisa del punto c interseccion de la secante por
%(a,ya),(b,yb) con el eje x
ac=c-a;
yc=feval(fx,c);
%y se evalua su ordenada sobre la curva.
if yc==0, break;
%ya tenemos la solucion
elseif yb*yc>0
%una vez que sabemos que no es la raiz debemos saber en que intervalo (a,c)
%o (c,b) esta la raiz buscada, luego estudiamos los signos de yb*yc y de
%ya*yc
b=c;
ya=(alpha)*ya;

RESOLUCIN ECUACIONES

ECUACIONES

30
31
32
33
34
35
36
37
38
39
40
41

CAPTULO 2

39

yb=yc;
%en este caso el nuevo intervalo (a,c) y multiplicamos la ya por 0.5
else
a=c;
ya=yc;
yb=(alpha)*yb;
end
%aqui el nuevo intervalo es (c,b)
dx=min(abs(dx),ac);
if abs(dx)<delta,break,end
if abs(yc)<epsilon,break,end
end

42
43
44
45
46
47
48
49

err=abs(b-a)/2;
yc=feval(fx,c);
printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',c, k);
printf ('Con un error de %e\n',err);
printf('Con f(raiz)= %e\n',yc);
clear;
end
pegasus.m

2.8

Mtodo De Steffensen

2.8.1. Introduccin
El mtodo de Steffensen es un mtodo con velocidad de convergencia cuadrtica O(n2 ), al igual
que en Newton. Se basa en la aceleracin de Aitken y el mtodo de punto fijo. El mtodo lo iniciamos a partir de un valor inicial x0 que est lo suficientemente cerca de la raz a aproximar, si no
es as lo que puede suceder es que encontremos la aproximacin de la raz muy lentamente, perdiendo su velocidad de convergencia cuadrtica; o que el mtodo diverja. Tiene la ventaja de que
la funcin slo debe ser continua en un entorno de la raz, ya que no precisa de calcular ninguna
derivada de la funcin. Por contra, tiene el inconveniente de que en cada iteracin debemos calcular la imagen de la funcin 2 veces, lo cual puede aumentar su costo si la expresin algebraica
de la funcin es complicada.
La sucesin de iteraciones del mtodo es:

RESOLUCIN ECUACIONES

CAPTULO 2

x n +1 = x n

40

( f ( x n ) x n )2
n N
f ( f ( xn )) 2 f ( xn ) + xn

Cuando decimos que debemos calcular dos veces el valor de la funcin nos referimos cuando
calculamos f ( f ( xn )) = ( f f )( xn ) = f 2 ( xn ) n N
Para asegurar que el mtodo tiene convergencia cuadrtica podemos hacerlo comprobando que
la raz a aproximar tenga multiplicidad simple, es decir, que no se anule en su primera derivada
de la funcin. Esto se puede traducir en el siguiente teorema:

Teorema 2.8.1 I Convergencia Cuadrtica Steffensen


Sea x = g( x ) / g( p) = 0, con g0 ( p) 6= 1. Si > 0 / g C 3 ([ p , p + ]) El mtodo de
Steffensen es de orden O(n2 ) p0 [ p , p + ]

2.8.2. Combinando el mtodo de 42 Aitken y Punto Fijo Para Steffensen


Para obtener Steffensen combinamos ambos mtodos. El de 42 Aitken nos dice que si { x n }
n =1
es una sucesin que converge ms rpidamente que una sucesin { xn }
,
se
tiene
que:
n =1

x n = xn

( x n +1 x n )2
n N
xn+2 2xn+1 + xn

Definicion 2.8.1 I Diferencia Progresiva


Dadada la sucesin { xn }
n=1 se define la Diferencia Progresiva 4 xn , mediante:

4 x n = x n +1 x n n 0
Las potencias de orden k se definen recursivamente como:

4k xn = 4k1 (4 xn ) n 0 k 2

As pues, por la definicin anterior tenemos lo siguiente:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 2

42 x n

41

= 4( xn+1 xn )
= 4 x n +1 4 x n
= ( x n +2 x n +1 ) ( x n +1 x n )
= xn+2 2xn+1 + xn

Luego la sucesin del mtodo 42 Aitken se puede reescribir como:

x n = xn

(4 xn )2
n N
42 x n

Sobre el mtodo 42 Aitken aplicamos el mtodo de punto fijo con funcin de punto fijo g del
siguiente modo:
x0 , x1 = g( x0 ), x2 = g( x1 ), x0 = {42 } x0 , x3 = g( x2 ), x1 = {42 } x1 , . . . ,
De esa forma es como acta el algoritmo de Steffensen, cada 3 pasos en vez de aplicar el punto
fijo aplica la aceleracin de Aitken para acelerar la convergencia.

2.8.3. Algoritmo De Steffensen


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4

function []=steffensen(fx,x0,a,b,tolx,nmax)
filename = 'steffensen.txt';
fid = fopen(filename,'w');
fprintf(fid,'k\t\tx (k)\t\t\t\t\t\t\tError\n');

5
6
7
8
9
10
11
12
13
14
15

f = inline(fx);
t = a:0.01:b;
func = f(t);
err=tolx+1;
x=x0;
phi=0;
iter = 0;
errores = [ ];
sol = [ ];
imagenes = [ ];

16
17

while iter < nmax && err > tolx

RESOLUCIN ECUACIONES

CAPTULO 2
xx=x;
fxk=feval(f,x);
tolf=tolx*abs(phi);
if abs(fxk)<=tolf
break
end
fxk2=feval(f,x+fxk);
phi=(fxk2-fxk)/fxk;
x=xx-fxk/phi;
err=abs(x-xx);
errores =[errores,err];
sol = [sol,x];
iter++;

18
19
20
21
22
23
24
25
26
27
28
29
30
31

42

end

32
33
34
35

iter2 = 1:1:iter;
fc1 = feval(f,sol);
imagenes = [imagenes,fc1];

36
37
38
39
40

41
42
43

for k=1:iter
fprintf(fid,' %.0f\t\t %.15f\t\t %.15f\n',iter2(k),sol(k),errores(k));
end
fprintf (fid,'\nLa solucin es %.15f.\nSe ha alcanzado en %d iteraciones.\nCon un
error de %e',sol(end),iter,errores(end));
fclose(fid);
printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',
sol(end),iter);

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

clf();
subplot(1,3,1);
fplot(f,[a,b])
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('La Funcion');
legend({fx},'location', 'southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,2);
plot(t,func,x,imagenes,'*r')
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');

RESOLUCIN ECUACIONES

ECUACIONES

set(gca, 'box', 'off');


grid;
title('Metodo Steffensen');
legend({fx,'Aproximaciones'},'location','southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
subplot(1,3,3);
plot(iter2,errores,iter2,errores,'*r')
set (gca, 'xaxislocation', 'bottom');
set (gca, 'yaxislocation', 'right');
set(gca, 'box', 'off');
grid;
title('Tendencia de errores en Steffensen');
legend({'Errores', 'Puntos Errores'},'location','southoutside');
legend boxon;
xlabel('Numero Iteraciones');
ylabel('Errores');
set (get (gca, 'ylabel'), 'rotation', 360);

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82

CAPTULO 2

end
steffensen.m

RESOLUCIN ECUACIONES

43

EJERCICIOS RESUELTOS
MTODOS ITERATIVOS

Ejercicio 3.0.1 I Polinomio Biseccin


Determinar las races del polinomio p( x ) = 2x3 3x 1 mediante el mtodo de biseccin
mostrando el proceso paso a paso.

Resolucin

Lo primero es determinar aproximadamente qu puntos son los que cortan al eje de abcisas.
Una forma sencilla es dibujando la grfica del polinomio. En Octave lo podemos hacer con los
siguientes comandos:
1
2
3
4
5

x = linspace(-2,2);
p = [2 0 -3 -1];
y = polyval(p,x);
plot(x,y)
grid on

La grfica de la funcin es la siguiente:


En dicha grfica podemos apreciar que el polinomio posee 3 races simples, una es claramente -1,
otra esta cerca de -0.5, y la tercera se encuentra cerca de 1.5. De hecho podemos determinar algebraicamente dichas soluciones. Aplicando Ruffini con raz -1 obtenemos el polinomio de grado
2, q( x ) = 2x2
2x 1, si lo resolvemos por la frmula general de segundo grado obtenemos las
races: x = 12 3

45

CAPTULO 3

46

10
5
0

5
10
15
2

Figura 1: Grfica polinomio p( x ) = 2x3 3x 1

0 3 1
2
2
1
2 2 1
0
2

Ambas races son nmeros irracionales (infinitas cifras decimales), eso lo sabemos porque 3 es
primo y la raz cuadrada de un nmero primo es siempre irracional. Luego hemos obtenido de
forma algebraica las tres races del polinomio, con una simple calculadora podemos obtener una
aproximacin numrica de las dos soluciones irracionales.
x1 =

1 3
2

= 0.3660254038

x2 =

1+ 3
2

= 1.366025404

Vamos a aplicar el mtodo de la biseccin 1 de forma desglosada para la obtencin de la raz -1.
Lo primero es establecer el intervalo de partida, en nuestro caso va a ser [ a,b] = [1.5, 0.5]
Calculamos p( a) p(b) y comprobamos si es negativo (i.e.; si hay cambio de signo, Teorema de
Bolzano) como primer paso. Despus calculamos el punto medio de [ a,b].
p( a) p(b) = p(1.5) p(0.5) = 3.25 0.25 = 0.8125 < 0 Hay cambio de signo, podemos
proseguir.
m1 =

a+b
2

1.50.5
2

= 1

Con esto establecemos 2 intervalos que son:

[ a,m1 ] = [1.5, 1]

[m1 ,b] = [1, 0.5]

El siguiente paso es ver en cul de dichos subintervalos hay un cambio de signo (la raz est en el
intervalo susodicho), nos quedaremos con el que tenga el cambio de signo:
1 El

mtodo se compone de la aplicacin de 2 teoremas, el de Bolzano para comprobar si hay cambio de signo en cada
subintervalo. Y el teorema de los Intervalos Encajados de Cantor, con el cual vamos dividiendo cada subintervalo en
su mitad, creando as una sucesin de intervalos encajados montona que converge.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

47

p( a) p(m1 ) = p(1.5) p(1) = 3.25 0 = 0


Pero aqu nos detenemos ya porque hemos encontrado la raz buscada, nos da como solucin
-1;
1+ 3
exacta y con una iteracin solamente. Volvamos ha hacer lo mismo pero para la raz x2 = 2
. Tomamos el intervalo de partida [ a,b] = [1,1.5] y procedemos con el algoritmo de la biseccin
hasta que obtengamos 2 cifras decimales exactas respecto a nuestra solucin exacta:
p( a) p(b) = p(1) p(1.5) = 2 1.25 = 2.5 < 0 Hay cambio de signo.

m1 =

a+b
2

1+1.5
2

= 1.25

[ a,m1 ] = [1,1.25]

[m1 ,b] = [1.25,1.5]

p( a) p(m1 ) = p(1) p(1.25) = 2 (0.84375) = 1.6875 > 0 Aqu no se encuentra la raz.


p(m1 ) p(b) = p(1.25) p(1.5) = 0.84375 1.25 = 1.0546875 < 0 Hay cambio de signo
m2 =

m1 + b
2

1.25+1.5
2

= 1.375

[m1 ,m2 ] = [1.25,1.375]

[m2 ,b] = [1.375,1.5]

p(m1 ) p(m2 ) = p(1.25) p(1.375) = 0.84375 0.07421875 = 0.06262207031 < 0 Hay cambio de signo.
m3 =

m1 + m2
2

1.25+1.375
2

= 1.3125

[m1 ,m3 ] = [1.25,1.3125]

[m3 ,m2 ] = [1.3125,1.375]

p(m1 ) p(m3 ) = p(1.25) p(1.3125) = 0.84375 (0.4155273438) > 0 Aqu no se encuentra


la raz.
p(m3 ) p(m2 ) = p(1.3125) p(1.375) = 0.4155273438 0.07421875 < 0 Hay cambio de signo.
m4 =

m3 + m2
2

1.3125+1.375
2

= 1.34375

RESOLUCIN ECUACIONES

CAPTULO 3

[m3 ,m4 ] = [1.3125,1.34375]

48

[m4 ,m2 ] = [1.34375,1.375]

p(m3 ) p(m4 ) = p(1.3125) p(1.34375) = 0.4155273438 (0.178527832) > 0 Aqu no se


encuentra la raz.
p(m4 ) p(m2 ) = p(1.34375) p(1.375) = 0.178527832 0.07421875 < 0 Hay cambio de signo.
m5 =

m4 + m2
2

1.34375+1.375
2

= 1.359375

[m4 ,m5 ] = [1.34375,1.359375]

[m5 ,m2 ] = [1.359375,1.375]

p(m4 ) p(m5 ) = p(1.34375) p(1.359375) = 0.178527832 (0.05414581302) > 0 Aqu no


hay raz.
p(m5 ) p(m2 ) = p(1.359375) p(1.375) = 0.05414581302 0.07421875 < 0 Hay cambio de
signo.
m6 =

m5 + m2
2

1.359375+1.375
2

= 1.3671875

Aqu nos detenemos porque si comparamos m6 = 1.3671875 con x2 = 1+2 3 = 1.366025404 observamos que las 2 primeras cifras decimales coinciden, como queramos. Lo que hemos de tener en
cuenta es que aunque el mtodo de la biseccin siempre converge 2 , lo hace generalmente muy
lento. Hemos necesitado 6 iteraciones para tan slo conseguir 2 cifras decimales exactas respecto
a la solucin algebraica exacta. Luego nuestra solucin con el mtodo de la biseccin despus de
6 iteraciones es x2 m6 = 1.3671875. Si queremos una mejor aproximacin deberamos seguir
iterando el mtodo de la biseccin.

De la misma forma que se ha procedido con x2 lo puedes hacer con x1 = 12 3 , te aconsejo que lo
hagas porque es una buena forma de entender el mtodo de la biseccin.
Vamos a realizarlo seguidamente con nuestro algoritmo de la biseccin realizado con Octave y
veamos qu soluciones obtenemos para los diferentes casos. Veamos qu pasa para la raz -1 con
intervalo inicial [1.5, 0.5], con una tolerancia de 0.001 y un nmero mximo de iteraciones de
20. Vemos que hemos obtenido el mismo resultado que cuando lo hemos hecho a mano, cosa que
era de esperar.

biseccion('2*power(x,3)-3*x-1',-1.5,-0.5,0.001,20)
La solucion es -1.000000000000000.
Se ha alcanzado en 1 iteraciones.
2 El

mtodo siempre converge porque el intervalo de partida siempre tiene un cambio de signo

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

Ahora lo vamos a realizar para x2 =


iteraciones como mximo:

1+ 3
2

49

en el intervalo [1,1.5], una tolerancia de 0.001 y 20

biseccion('2*power(x,3)-3*x-1',1,1.5,0.001,20)
La solucion es 1.366210937500000.
Se ha alcanzado en 9 iteraciones.

Podemos apreciar que hemos necesitado 9 iteraciones para obtener 3 cifras decimales exactas.
Si cambiamos la tolerancia a 0.000001 apreciamos que con 19 iteraciones obtenemos que las 5
primeras cifras decimales son exactas.

biseccion('2*power(x,3)-3*x-1',1,1.5,0.000001,20)
La solucion es 1.366024971008301.
Se ha alcanzado en 19 iteraciones.

Adems lo podemos apreciar de forma grfica con la siguiente figura:


La Funcion

Tendencia de errores en Biseccion

Metodo Biseccion
0.5
1

0.4

1.1

1.2

1.3

1.4

1.5

Errores

200

400

0.3
0.2

1
0.1

2
4
y
2*power(x,3)-3*x-1

2
2*power(x,3)-3*x-1
Aproximaciones

5
10
15
NumeroErrores
Iteraciones
Puntos Errores

20

Figura 2: Mtodo Biseccin p( x ) = 2x3 3x 1 en [1,1.5]

Los asteriscos rojos nos indican las diferentes aproximaciones que vamos obteniendo con el mtodo en cada paso, en nuestro caso las aproximaciones son los puntos medios de cada subintervalo
en el cual hay un cambio de signo. En la grfica de la izquierda podemos apreciar la rapidez en la
que converge nuestro mtodo en cada caso particular.

Para terminar vamos a ver qu ocurre con x1 = 12 3 , le vamos a aplicar una tolerancia de
0.000001 con un mximo de 20 iteraciones, y todo ello sobre el intervalo [0.75, 0.25]

RESOLUCIN ECUACIONES

CAPTULO 3

50

biseccion('2*power(x,3)-3*x-1',-0.75,-0.25,0.000001,20)
La solucion es -0.366024971008301.
Se ha alcanzado en 19 iteraciones.
Podemos apreciar que para alcanzar las 5 cifras decimales exactas hemos necesitado como antes
19 iteraciones. Las grficas de resolucin son muy similares tambin a las anteriores.
Metodo Biseccion

100

100

0.5

0.4

0.4

0.2

0.3

4
x

Tendencia de errores en Biseccion


0.6

0.8

0.6

0.2

0.4

Errores

La Funcion
200

200

0.2

300

0.4

2*power(x,3)-3*x-1

2*power(x,3)-3*x-1
Aproximaciones

0.1

5
10
15
NumeroErrores
Iteraciones

0
20

Puntos Errores

Figura 3: Mtodo Biseccin p( x ) = 2x3 3x 1 en [0.75, 0.25]

Ejercicio 3.0.2 I Coseno Regula-Falsi


2

Halla la menor raz positiva de la ecuacin e x cos x = 0 con una tolerancia de 105 ,
utilizando el mtodo de regula falsi y mostrando los pasos en las primeras iteraciones.
Resolucin
2
En sta ecuacin hay una solucin obvia que es x = 0. Tomamos como funcin f ( x ) = e x cos x
y dibujamos su grfica para hacernos una idea de dnde se encuentran las races/soluciones.
1
2
3

x=-3:0.1:3;
y=exp(-x.^2)-cos(x);
plot(x,y), grid on

Viendo la figura apreciamos que tenemos 2 races ms cerca de -1 y 1. Vamos a calcular slo la
que est cerca de 1 porque la funcin es simtrica respecto el eje OY, cumplindose pues que la
otra raz es la misma que la que esta cerca de 1 pero cambiada de signo (su raz opuesta).

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

51

1
0.8
0.6
0.4
0.2
0

0.2

2
Figura 4: Funcin f ( x ) = e x

f ( x ) = e( x) cos( x ) = e x cos x = f ( x ) ; x R
Para aplicar el mtodo de la Regula Falsi vamos a considerar el intervalo de partida [ a1 ,b1 ] = [1,2]
f ( a1 ) = f (1) = 0.172423

f (b1 ) = f (2) = 0.434462

Siguiendo el mtodo debemos calcular el punto c1 donde la recta que une los puntos
( a1 , f ( a1 )) y (b1 , f (b1 )) corta al eje OX (y = 0):
c1 =

a1 f (b1 )b1 f ( a1 )
f (b1 ) f ( a1 )

1 f (2)2 f (1)
f (2) f (1)

0.434462+20.172423
0.434462+0.172423

= 1.284111

f (c1 ) = f (1.284111) = 0.090521

Ahora hay que ver en qu subintervalo se encuentra nuestra raz aplicando Bolzano, los subintervalos son [ a1 ,c1 ] y [c1 ,b1 ]. Tenemos que
f (c1 ) f (b1 ) = 0.090521 0.434462 = 0.00393279347 < 0
Luego la raz se encuentra en ste subintervalo. Si seguimos nuestro algoritmo de la Regula Falsi
nombramos a2 = c1 , b2 = b1 , teniendo pues el subintervalo [ a2 ,b2 ] = [1.284111,2]. Calculamos c2 :

RESOLUCIN ECUACIONES

CAPTULO 3
c2 =

a2 f (b2 )b2 f ( a2 )
f (b2 ) f ( a2 )

1.284111 f (2)2 f (1.284111)


f (2) f (1.284111)

52

0.5578974333+0.181042
0.434462+0.090521

= 1.40754926

f (c2 ) = f (1.40754926) = 0.02461859979

Realizamos un paso ms:

[ a2 ,c2 ] = [1.284111,1.40754926]

[c2 ,b2 ] = [1.40754926,2]

f (b2 ) f (c2 ) = f (2) f (1.40754926) = 0.434462 (0.02461859979) = 0.0106958461 < 0

Luego la raz se encuentra en [c2 ,b2 ] := [ a3 ,b3 ] = [1.40754926,2].


Calculamos c3

c3 =

a3 f (b3 )b3 f ( a3 )
f (b3 ) f ( a3 )

1.40754926 f (2)2 f (1.40754926)


f (2) f (1.40754926)

0.6115266666+0.04923719958
0.434462+0.02461859979

= 1.439319951

f (c3 ) = 0.005119

As pues, con 3 iteraciones del Mtodo de la Regula Falsi obtenemos como raz aproximada
1.439319951 con 2 cifras decimales exactas.
Vamos a resolverlo con nuestro algoritmo, tomamos como intervalo de partida el [1,2], con una
tolerancia de 0.0000001 y un nmero mximo de iteraciones de 20:

regulafalsi('exp(-x.^2)-cos(x)',1,2,0.000001,20)
La solucion es 1.447414195298149, y se ha alcanzado en 10 iteraciones.
Con un error de 3.220810e-07

Como vemos hemos obtenido 6 cifras decimales exactas con 10 iteraciones, lo cual esta muy bien.
En la siguiente tabla se puede apreciar iteracin tras iteracin el clculo de la raz con su respectivo
error cometido.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

53

Iteracin k

Raz xk

Error ek

1
2
3
4
5
6
7
8
9
10

1.000000000000000
1.284111105170264
1.407549190540402
1.439319902661950
1.445849349137007
1.447114778447193
1.447357067800570
1.447403349491422
1.447412186157907
1.447413873217170

0.284111105170264
0.123438085370137
0.031770712121548
0.006529446475057
0.001265429310186
0.000242289353378
0.000046281690852
0.000008836666484
0.000001687059263
0.000000322080979

Esta tabla se genera cada vez que ejecutamos el mtodo y se almacena en el fichero regulafalsi.txt.
Como sabemos que la funcin es simtrica respecto al eje OY podemos concluir que la otra raz
que nos falta por calcular es la opuesta a la que hemos calculado, es decir; la raz es aproximadamente 1.447413873217170, sin tener que aplicar ningn mtodo.

Ejercicio 3.0.3 I Coseno Punto Fijo


a) Halla las races de la ecuacin x = 2 cos x por el mtodo del punto fijo, ilustrando
el mtodo paso a paso.
b) Estudia el valor de la derivada de la funcin elegida g( x ) cerca de la raz y justifica
el comportamiento del mtodo.
Resolucin
a) La funcin a la que le queremos hallar sus races es f ( x ) = x 2 cos x. Tomamos como funcin
de punto fijo la obvia, g1 ( x ) = 2 cos x. Vamos a ver que esta funcin de punto fijo es inestable,
por lo que deberemos buscar otra como alternativa. Representamos la funcin g1 ( x ) = 2 cos x
junto a la bisectriz del primer cuadrante para obtener la estimacin inicial. Para ello podemos
introducir en Octave las siguientes rdenes:
1
2
3

x = linspace(-3,3);
y = 2*cos(x);
plot(x,y,x,x), grid on

En el dibujo de ambas grficas podemos ver que la bisectriz corta a la funcin en el punto con
abcisa 1, por lo que vamos a tomar como estimacin inicial x1 = 1, y aplicamos el algoritmo de

RESOLUCIN ECUACIONES

CAPTULO 3

54

2
2

Figura 5: Funcin f ( x ) = 2 cos( x ) recta y = x

punto fijo:
x2 = g1 ( x1 ) = g1 (1) = 2 cos(1) = 1.080604612
x3 = g1 ( x2 ) = g1 (1.080604612) = 2 cos(1.080604612) = 0.941590072
x4 = g1 ( x3 ) = g1 (0.941590072) = 2 cos(0.941590072) = 1.177006409
x5 = g1 ( x4 ) = g1 (1.17700409) = 2 cos(1.17700409) = 0.7673820112
x6 = g1 ( x5 ) = g1 (0.7673820112) = 2 cos(0.7673820112) = 1.439461363
Y no continuamos porque se aprecia claramente que los resultados obtenidos no se estabilizan,
por el contrario, son oscilantes. Tericamente hay una forma de comprobarlo mediante la condicin de convergencia, se trata de ver si | g0 ( x )| < 1. Vemoslo en nuestro caso:
g10 ( x ) = 2 sin x | g10 ( x )| = | 2 sin x | < 2 | sin x | < 2 > 1; x R
Por tanto, es claro que no se cumple la condicin de convergencia para la funcin de punto fijo
g1 ( x ) = 2 cos x que hemos considerado3 . As pues, debemos buscar otra funcin de punto fijo,
3 Dicha

funcin no cumple el criterio de convergencia ni en un entorno alrededor de un punto, ya que el mdulo de su


derivada es mayor que 1 en todo el conjunto de nmeros reales, por lo que nos vemos obligados a buscar otra funcin
de punto fijo. Si no pudisemos encontrar otra deberamos aplicar otro mtodo iterativo como alternativa a buscar la
solucin.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

55

para ello basta hacer unos cuantos pasos algebraicos a partir de nuestra ecuacin de partida:
x = 2 cos x

x
2

= cos x arc cos( 2x ) = x g2 ( x ) = arc cos( 2x )

Veamos si dicha funcin cumple el criterio de convergencia para un entorno de 1, | x | < 14 :

g20 ( x )

q 1
2 1( 2x )2

| g20 ( x )|





q 1
=

2 1( 2x )2

1
2



q 1

44x2

1
4


1

4 x 2

< 1; | x | < 1

Luego el criterio de convergencia se cumple en un entorno de 1, lo cual es suficiente para poder


tomar como valor inicial x1 = 1, ya que pertenece a dicho entorno. Aplicamos pues el mtodo de
punto fijo:
x2 = g2 ( x1 ) = g2 (1) = arc cos( 12 ) = 1.047197551
x3 = g2 ( x2 ) = g2 (1.047197551) = arc cos( 1.047197551
) = 1.019726744
2
x4 = g2 ( x3 ) = g2 (1.019726744) = arc cos( 1.019726744
) = 1.035770367
2
x5 = g2 ( x4 ) = g2 (1.035770367) = arc cos( 1.035770367
) = 1.026419399
2
x6 = g2 ( x5 ) = g2 (1.026419399) = arc cos( 1.026419399
) = 1.031875939
2
Como vemos, tras 6 iteraciones el mtodo se mantiene estable para esta funcin de punto fijo.
Apliquemos nuestro algoritmo de punto fijo para una tolerancia de 0.0001 y 20 iteraciones como
tope:

pfijo('acos(x/2)','x-2*cos(x)',0,1.5,1,0.0001,20)
La solucion es 1.029893453594281, y se ha alcanzado en 14 iteraciones.
Con un error de 7.308525e-05
Vamos a dibujar la funcin f ( x ) = x 2 cos x en el intervalo [5,5] con las rdenes:
1
2
3

clf()
fplot('x-2*cos(x)',[-5,5])
grid on
4 Notar

que fuera de dicho entorno esta segunda funcin har que nuestro mtodo sea inestable.

RESOLUCIN ECUACIONES

CAPTULO 3

56

Podemos apreciar que dicha funcin slo corta al eje OX en la solucin que hemos obtenido, por
lo que el problema queda terminado. Para asegurarnos deberamos hacer un razonamiento ms
terico sobre su crecimiento y decrecimiento de la funcin, pero eso te lo dejo a ti lector como
deberes por ser un sencillo ejercicio de segundo bachiller.
6
x-2.*cos(x)
4
2
0

2
4
6
6

Figura 6: Funcin f ( x ) = x 2 cos( x )

Ejercicio 3.0.4 I Races Quintas


a) Utiliza el mtodo de Newton para aproximar la raz quinta de 2 con tres cifras decimales exactas, ilustrando el mtodo paso a paso.
b) Comprueba la convergencia cuadrtica del mtodo de Newton.
Resolucin
a) Muy bien, lo primero es establecer la funcin a la que le vamos a aplicar el mtodo. Nos dicen

de aproximar la raz quinta de 2, lo cual es lo mismo que decir x = 5 2, vamos a manipularlo


algebraicamente hasta obtener el polinomio de quinto grado con solucin la raz quinta de 2:
x=

2 x5 = 2 x5 2 = 0

Ya tenemos el polinomio o funcin a la que aplicar el mtodo de Newton, f ( x ) = x5 2. Seguif (x


)
damente debemos aplicar el mtodo, que de forma general es: xn = xn1 f 0 ( xn1 ) , partiendo de
n 1

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

57

un valor inicial de partida x0 . Pero primero calculemos la derivada, f 0 ( x ) = 5x4 .

En nuestro caso ya sabemos que la solucin exacta es 5 2, pero lo que queremos es aproximarla con 3 cifras decimales exactas (esta solucin es irracional), as que va a ser fcil determinar
el valor inicial, vamos a tomar x0 = 1, porque si calculamos con una calculadora tenemos que

5
2 = 1.148698355 vemos que 1 est cerca de la raz.5 Perfecto, iteremos:

x1 = 1

f (1)
1
= 1 + = 1.2
0
f (1)
5

x2 = 1.2

f (1.2)
0.48832
= 1.2
= 1.152901235
0
f (1.2)
10.368

x3 = 1.152901235

f (1.152901235)
f 0 (1.152901235)

x4 = 1.148728887

f (1.148728887)
0.000265811
= 1.148728887
= 1.148698357
f 0 (1.148728887)
8.706431225

= 1.152901235

0.036856916
8.83361408

= 1.148728887

Lo que debemos apreciar es que de todos los mtodos que llevamos aplicados hasta ahora en este
documento, y salvando la diferencia importante de que todas las funciones han sido diferentes;
es que ste mtodo ha sido el ms rpido con diferencia. Si lo realizamos con nuestro algoritmo
de Octave con 107 obtenemos lo siguiente:

newton('x.^5-2','5*x.^4',1,-1,2,1e-7,20)
La solucion es 1.148698354997035, y se ha alcanzado en 6 iteraciones.

b) Y ahora veamos que la convergencia es cuadrtica. En nuestro algoritmo de Newton ya lo


hemos aadido todo para ver bajo grficas qu tipo de convergencia alcanzamos. Viendo en la
figura adjunta apreciamos que no se cumple la lineal porque la grfica tiende a 0 en vez de tender
a 1. En la grfica de la cuadrtica apreciamos que tiende cerca de 2, por lo que concluimos que la
convergencia es 2. Adems, el algoritmo tambin nos crea el fichero newtonraphson.txt en el cual
podemos ver los valores de ambas tasas de convergencia. En nuestro caso:

Tasa de convergencia lineal = 0.235494


Tasa de convergencia lineal = 0.088587
Tasa de convergencia lineal = 0.007317
Tasa de convergencia lineal = 0.000053
5 No

podemos tomar como valor inicial 0 o en un entorno pequeo de 0 porque f (0) = 0, y ya sabemos que el mtodo
de Newton falla en valores que hacen que su primera derivada se anule.

RESOLUCIN ECUACIONES

CAPTULO 3

58

Tasa de convergencia cuadratica = 1.177469


Tasa de convergencia cuadratica = 1.880882
Tasa de convergencia cuadratica = 1.753737
Tasa de convergencia cuadratica = 1.741193

De sta segunda forma podemos apreciar muy bien que la Tasa de Convergencia Lineal tiende
claramente a 0 y la cuadrtica aproximadamente a 1.7, que es cerca de 2.
Tasa Convergencia Lineal Newton

Tasa Convergencia Cuadratica Newton

0.25

0.2

1.8

0.15
tcl

tcc

1.6

2
3
Numero Iteraciones

0.1

1.4

5 102

1.2

T.C.L.

2
3
Numero Iteraciones

T.C.C.

Figura 7: Tasas De Convergencia

Ejercicio 3.0.5 I Funcin Billar


Para jugar al billar en una mesa circular, hemos de golpear la bola Q con la bola P, tras
un impacto I en la banda. Conocido el radio R de la mesa y las posiciones en coordenadas
cartesianas (cuyo origen es el centro de la mesa) de los puntos P( x p , y p ) y Q( xq , yq ), el
punto de impacto viene definido por el ngulo central t.
Tras un anlisis geomtrico del problema, se prueba que los valores de t que proporcionan
los puntos de impacto posibles son los ceros de la funcin:
f (t) = q

x p sin t y p cos t

( R cos t x p )2 + ( R sin t y p )2

+q

xq sin t yq cos t

( R cos t xq )2 + ( R sin t yq )2

Consideramos un billar de radio unidad, P = (0.6, 0.3) y Q = (0.6, 0.3) . Determina


los puntos de impacto utilizando los mtodos de biseccin, regula falsi, Newton y secante.
Analiza la convergencia de los distintos mtodos y compara los resultados obtenidos.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

59

ESQUEMA

t
x

O
Q

Figura 8: Billar Circular

Resolucin
a) Mtodo de biseccin:
En los cdigos vers un fichero llamado fbillar.m en el cual est introducida la funcin impacto I(t)
para poder llamarla cada vez que ejecutamos uno de nuestros algoritmos iterativos. Hagmonos
una idea de la funcin impacto visualizando su grfica, que puedes apreciar en la figura.
1

% Para que los metodos iterativos funcionen es

biseccion('fbillar(t)',1,2,1e-4,100)

2
3
4
5
6
7
8
9
10
11
12

function [y] = fbillar(t)


P=[0.6,-0.3]; Q = [-0.6,-0.3];
y1 = P(1)*sin(t)-P(2)*cos(t);
y2 = Q(1)*sin(t)-Q(2)*cos(t);
den1 = sqrt((cos(t)-P(1)).^2+(sin(t)-P(2)).^2);
den2 = sqrt((cos(t)-Q(1)).^2+(sin(t)-Q(2)).^2);
y1 = y1./den1;
y2 = y2./den2;
y = y1 + y2;
end
fbillar.m

Al ser una funcin trigonomtrica sabemos que es una funcin peridica


6 Los

trozos de funcin se repiten cada cierto periodo T.

RESOLUCIN ECUACIONES

de periodo 2, por

CAPTULO 3

60

La Funcion Billar
1

0.5

0.5

1
Figura 9: Funcin Billar

lo que nos vamos a fijar en el intervalo [0,2 ]. Sabiendo que las funciones seno y coseno son de
periodo 2 con lo que no es difcil de comprobar que nuestra funcin impacto es de periodo 2,
I (t) = I (t + 2 ); t R.
Como el mtodo de biseccin siempre converge queda ver cules son los intervalos a utilizar, en
[0,2 ] vemos que hay 4 races reales en las que podemos situarlas en los 4 respectivos intervalos:
[1,2], [3,4], [4,5] [5,6]. Ejecutamos el algoritmo de biseccin para el intervalo [1,2] con el comando:

biseccion('fbillar(t)',1,2,1e-4,100)

Y obtenemos la solucin:

La solucion es 1.570739746093750.
Se ha alcanzado en 14 iteraciones.
Con un error de 1.220703e-04
Antes que nada te aconsejo que mires con detenimiento la grfica de la funcin en este intervalo
y la solucin que hemos obtenido, igual as no lo recuerdas pero la solucin viene en radianes y
es una aproximacin de 2 que son 90 . Luego aqu hemos hecho un poco el primo ya que no es
necesario aplicar ningn mtodo iterativo para saber que la solucin exacta es un ngulo de 90 ,
no te desesperes si no has caido, es normal y como mal menor piensa que el juego del billar nos
da una forma de aproximar 2 , aunque sea un poco burda.
Por tanto tenemos que las races distintas en [0,2 ] son:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

61

Intervalo

Solucin En Radianes

Solucin En Grados

Iteraciones

[1,2]
[3,4]
[4,5]
[5,6]

1.570739746093750
3.871276855468750
4.712341308593750
5.553405761718750

89.996758164622406
221.807825145036162
269.997268607577325
318.186712070118517

14
14
14
14

En la tabla observamos que al tener los 4 intervalos la misma longitud nos da que el mtodo de la
biseccin con una tolerancia de 1e-4 siempre nos hace el mismo nmero de iteraciones, 14 en ste
caso.
Quiz te ests preguntando por qu no calculamos las races negativas, pues no las calculamos
porque son las opuestas que las positivas por ser nuestra funcin peridica, por lo que ya sabemos
cules son. Adems, al ser negativas lo que debemos saber es que los ngulos son negativos, por
lo que las trayectorias de las bolas se hacen en sentido positivo; mientras que las races positivas
nos indican que las trayectorias son en sentido negativo.7
b) Mtodo Regula Falsi:
Lo aplicamos con una tolerancia de 1e-12 y un mximo de 50 iteraciones, obteniendo los siguientes
resultados:
Intervalo

[1,2]
[3,4]
[4,5]
[5,6]

Solucin En Radianes

Solucin En Grados

Errores

Iteraciones

1.570796326794897
3.871320309816781
4.712388980384690
5.553457650952138

90.000000000000000
221.810314895779868
270.000000000000000
318.189685104193813

2.220446e-16
2.304823e-13
8.881784e-16
6.670220e-13

5
13
6
35

Se aprecia que aun habiendo aumentado considerablemente la tolerancia el mtodo es mucho


ms rpido que el de la biseccin, incluso obtenemos en algunos una tolerancia mayor que la de
1e-12. Adems, observamos que la primera solucin ya nos la marca como 90 grados, al igual que
la tercera que nos dice que son 270 8
c) Mtodo de Newton:
Lo primero va a ser crear un fichero con cdigo para implementar la primera derivada de la
funcin del problema, al fichero le he llamado fbillarderivada.m y el cdigo es el siguiente:
1
2
3
4

function [dy] = fbillarderivada(t)


P=[0.6,-0.3]; Q = [-0.6,-0.3];
x = P(1);
y = P(2);
7 El

sentido positivo es el sentido contrario a las agujas del reloj, y el negativo es en el sentido de las agujas del reloj.
depende del ordenador, de la cantidad de cifras decimales que indiquemos en el programa que aparezcan por
pantalla y del tipo de redondeo de Octave, entre otros muchos factores.

8 Esto

RESOLUCIN ECUACIONES

CAPTULO 3

5
6
7
8

x1 =
y1 =
den1
den2

62

Q(1);
Q(2);
= sqrt(1-2*(x*cos(t)+y*sin(t))+x^2+y^2);
= sqrt((1-2*(x*cos(t)+y*sin(t))+x^2+y^2).^3);

9
10
11

num1 = x*cos(t)+y*sin(t);
num2 = (x*sin(t)-y*cos(t)).^2;

12
13
14

dy1 = num1/den1;
dy2 = num2/den2;

15
16
17

den11 = sqrt(1-2*(x1*cos(t)+y1.*sin(t))+x^2+y^2);
den21 = sqrt((1-2*(x1*cos(t)+y1*sin(t))+x^2+y^2).^3);

18
19
20

num11 = x1*cos(t)+y1*sin(t);
num21 = (x1*sin(t)-y1*cos(t)).^2;

21
22
23

dy3 = num11/den11;
dy4 = num21/den21;

24
25
26

dy = dy1 - dy2 + dy3 - dy4;


end
fbillarderivada.m

Para calcular la derivada de la funcin lo puedes hacer a mano con mucha paciencia o usar el
programa de matemticas simblicas wxMaxima de cdigo libre. Una vez que lo tenemos todo, y para no hacer el problema muy largo vamos a calcular con Newton slo la primera raz y
comparar con los mtodos anteriores, as que en Octave introducimos y obtenemos:

newton('fbillar(t)','fbillarderivada(t)',1,0,1.5,1e-6,20)
La solucion es 1.570796326794897, y se ha alcanzado en 5 iteraciones.

Si comparamos con el mtodo de la biseccin es claro que obtenemos una mayor precisin en
Newton y en un nmero sensiblemente menor de iteraciones, tan slo 5 iteraciones. Tambin
podemos comparar si el mtodo de Newton tiene convergencia lineal o cuadrtica mediante las
siguientes grficas.
Pero ste problema tiene un handicap muy a tener en cuenta, y es que calcular la derivada de
nuestra funcin y sustituir los valores en cada iteracin tiene un coste muy elevado, aunque hoy
en da con los ordenadores que tenemos casi no se nota, a no ser que tengamos grandes clculos.
En nuestro caso le he aplicado las funciones tic y toc a nuestro algoritmo de newton con sta
funcin y no tarda ms all de 0.11 segundos. Aunque s es cierto que lo mejor es no aplicar

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

Tasa Convergencia Lineal Newton


102
5

63

Tasa Convergencia Cuadratica Newton


102
8

tcc

tcl

3
2
2

2
2.5
1.5
Numero Iteraciones
T.C.L.

2
2.5
1.5
Numero Iteraciones

T.C.C.
Figura 10: Tasas Convergencia Billar Newton

Newton y tirar por otro lado, porque el tiempo que invertimos es bastante calculando la primera
derivada de nuestra funcin a mano o con ordenador; se es el verdadero motivo por el que en
ste prolema el mtodo de Newton no es recomendable.
d) Mtodo de la Secante:
En ste mtodo no tenemos que calcular ninguna derivada, por lo que si obtenemos unos resultados similares a los obtenidos en Newton sera nuestra verdadera alternativa para calcular las
races:

secante('fbillar(t)',1,2,1e-6,10)
La solucion es 1.570796326794897, y se ha alcanzado en 4 iteraciones.

Efectivamente, incluso con una iteracin menos que con Newton obtenemos idntico resultado y
sin el costo adicional de tener que calcular la primera derivada. Por tanto, el mtodo de la secante
es la mejor alternativa de las 4 vistas aqu para nuestro peoblema.9
9 Aunque

no lo hemos visto aqu, es obvio que el mtodo del punto fijo en ste problema es prcticamente inviable, no
slo por el elevado costo que supone encontrar la funcin de punto fijo, sino tambin comprobar si el mdulo de su
primera derivada cumple o no el criterio de convergencia. Otra alternativa muy interesante es aplicar el algoritmo de
Steffensen.

RESOLUCIN ECUACIONES

CAPTULO 3

64

Ejercicio 3.0.6 I Problema Catenaria


Se denomina catenaria a la forma que adopta una cadena o un cable suspendido de sus 2
extremos. Eligiendo adecuadamente el sistema de referencia, la ecuacin de la catenaria es:
x
y = cosh( ), donde el origen de coordenadas est situado en la vertical del punto ms

bajo de la cadena, a distancia del mismo. Sea d la diferencia de altura entre el punto de la
cadena de abcisa igual a 1 y el de altura mnima: d = y(1) y(0). Conociendo d, podemos
1
determinar resolviendo la ecuacin + d = cosh( ). Supongamos d = 0.1.

a) Determina con precisin de milsimas el valor de utilizando la ecuacin de punto


fijo
1
= cosh( ) d

.
b) Comprueba que la funcin de punto fijo
1

arg cosh

+d

es tambin equivalente a la ecuacin


1
+ d = cosh( )

. Itera con esta ecuacin y la misma estimacin inicial para hallar .


c) Qu relacin existe entre la derivada respecto a de las funciones de iteracin consideradas en los apartados anteriores y el proceso de convergencia?
Resolucin
 
a) Tenemos que nuestra funcin de punto fijo es g() = cosh 1 d. Vamos a dibujar la
funcin junto con la bisectriz ppal. del plano para ver dnde cortan y qu valor inicial podemos
tomar. 10
1
2
3

x=1:0.1:6;
plot(x,x.*cosh(1./x)-0.1,x,x), grid on;
legend({'g(x)','Bisectriz'},'location','southoutside');

10 Ten cuidado, no dibujes la funcin incluyendo valores de

en ]0,1[ porque sus imgenes se disparan y no vers nada. El


que sus imgenes se disparen es debido a que la funcin cosh es unacombinacin de la funcin exponencial, cosh x =
1
x
x )
2 (e + e

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

65

En la figura se aprecia que ambas funciones se cortan alrededor de 5, por lo que tomaremos como
valor inicial 4 en nuestro mtodo de punto fijo.
6
5
4
3
2
1

g(x)
Bisectriz

Figura 11: Catenaria x cosh( 1x ) 0.1

Lo vamos a aplicar con una tolerancia de 1e-4:

pfijo('x.*cosh(1./x)-0.1','x-x.*cosh(1./x)-0.1',1,5,4,1e-4,300)
La solucion es 5.011784191306107, y se ha alcanzado en 255 iteraciones.
Y vemos que s obtenemos la solucin pero el nmero de iteraciones necesarias es excesivo, as
que debemos encontrar otra funcin de punto fijo, la que vamos a usar en b).
b) Vamos a demostrar cmo llegamos a esa funcin de punto fijo.

+ d = cosh

 
 


1
1
+d
1
1
+d



= cosh
= arg cosh
=
d

arg cosh +

Y ahora que ya lo hemos demostrado lo que vamos a hacer es dibujarla junto con la bisectriz:
1
2
3

x=4:0.1:6;
plot(x,1./(acosh((x+0.1)./x)),x,x), grid on;
legend({'g(x)','Bisectriz'},'location','southoutside');

RESOLUCIN ECUACIONES

CAPTULO 3

66

5.5

4.5

4.5

5
g(x)
Bisectriz

Figura 12: Catenaria

5.5

1
acosh( x+x0.1 )

En la figura observamos que obtenemos la misma solucin que con la anterior funcin de punto
fijo, apliquemos el mtodo y a ver qu pasa:

pfijo('1./(acosh((x+0.1)./x))','x-1./(acosh((x+0.1)./x))',1,5,4,1e-4,20)
La solucion es 5.016512483824275, y se ha alcanzado en 15 iteraciones.
Con un error de 6.658831e-05

Bingo!, con sta funcin de punto fijo obtenemos la aproximacin deseada y adems mucho ms
rpidamente, slo con 15 iteraciones, luego sta segunda funcin de punto fijo es la ptima para
nuestro problema de la catenaria.11
c) Para realizar el apartado lo que haremos es ver la tendencia para ambas funciones su Tasa de
Convergencia Lineal y compararlas. En la primera funcin tiende a 1, por eso la aproximacin
es lenta y mala. En la segunda funcin la tasa tiende a 0.5<1, por esa razn el mtodo converge
rpidamente y con una aproximacin muy buena.

11 Atencin,

sta es la ptima para d = 0.1, pero puede que no lo sea para otros valores diferentes de d, te animo a que
experimentes por tu cuenta, es un buen ejercicio de aprendizajes, nimooo ! No muerde !

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

67

Tasa Convergencia Lineal Punto Fijo


0.98
0.98

0.97

tcl

0.98

0.97
0.97

200
100
Numero Iteraciones

0.97
300

T.C.L.
Figura 13: TCL Catenaria x cosh( 1x ) 0.1

Tasa Convergencia Lineal Punto Fijo

0.52

0.5

5
10
Numero Iteraciones
T.C.L.
Figura 14: TCL Catenaria

RESOLUCIN ECUACIONES

1
acosh( x+x0.1 )

tcl

0.54

CAPTULO 3

68

Ejercicio 3.0.7 I Races Dcimas


Compara diferentes mtodos para resolver la ecuacin p( x ) = x10 1 = 0, con una tolerancia de 106 .
Resolucin

Bueno la ecuacin tiene 10 races entre complejas y reales, de las reales tenemos 2, que son 1 y -1.
Nos vamos a centrar en 1. Apliquemos el mtodo de la biseccin:

biseccion('x.^10-1',0.5,1.5,1e-6,30)
La solucion es 1.000000000000000.
Se ha alcanzado en 1 iteraciones.
biseccion('x.^10-1',0,1.5,1e-6,30)
La solucion es 0.999999761581421.
Se ha alcanzado en 21 iteraciones.

Bien, lo primero que observamos es que hay que tener en cuenta qu intervalo escogemos, en
el primer caso obtenemos la solucin exacta y en slo 1 iteracin, eso se debe a que el punto
medio del intervalo coincide exactamente con la solucin. Sin embargo, en el segundo caso su
punto medio no es la solucin, adems no obtenemos la solucin exacta y le cuesta hacerlo en 21
iteraciones. Por tanto, en ste caso no hace falta que sigamos buscando mtodos porque hemos
obtenido la solucin ideal. Obviamente esto no ocurrir en la mayora de los casos, porque los
mtodos estn hechos para aproximar races o para buscar races que no podemos (o es difcil)
calcularlas mediante operaciones algebraicas. Veamos qu pasa con el mtodo de la Regula Falsi:

regulafalsi('x.^10-1',0.5,1.5,1e-6,200)
La solucion es 0.999989952440931, y se ha alcanzado en 135 iteraciones.
Con un error de 9.723436e-07
regulafalsi('x.^10-1',0,1.5,1e-6,200)
La solucion es 0.999989784169578, y se ha alcanzado en 158 iteraciones.
Con un error de 9.886274e-07

Con ste mtodo apreciamos que no obtenemos la solucin exacta y adems es muy lento, esto
se debe a que en los intervalos elegidos la funcin casi no vara y esta cerca de cero, como puedes apreciar en la figura adjunta, puedes ver en rojo que las iteraciones se acumulan todas en el
intervalo elegido con una distancia entre ellas muy pequea.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

Tendencia
de errores en Regula Falsi
102
2

Metodo Regula Falsi

La Funcion
108
1.5

60

1.5

0.5

Errores

40

69

20

0.5

5
y

0.6

0.5

0.8

1
y

1.2

1.4

1.6
50
100
Numero Iteraciones

x.^10-1
Aproximaciones

x.^10-1

Errores
Puntos Errores

Figura 15: Regula Falsi p( x ) = x10 1 en [0.5,1.5]

Pasemos al mtodo de Newton a ver qu pasa. Lo primero que debes tener en cuenta es que
no podemos tomar como punto inicial el cero o puntos alrededor de un entorno pequeo del 0,
porque su derivada se anula. Apliquemos el mtodo:

newton('x.^10-1','10*x.^9',0.5,0,1,1e-6,50)
El algoritmo tiene un coste en tiempo de:
Elapsed time is 0.030031 seconds.
La solucion es 1.000000000000000, y se ha alcanzado en 44 iteraciones.

Aqu obtenemos la solucin exacta pero con muchas iteraciones, con lo cual perdemos la convergencia cuadrtica del mtodo, debido a que las rectas tangentes que se calculan en cada iteracin
varan muy poco. Eso se puede apreciar muy bien en las grficas de tasas de convergencia en la
figura adjunta.
Y ahora veamos qu ocurre con el mtodo de la secante.

secante('x.^10-1',0,1.5,1e-6,200)
La solucion es 0.051574707031250, y se ha alcanzado en 5 iteraciones.

Vaya, aqu el mtodo claramente falla de forma estrepitosa, obtenemos una solucin incorrecta
aun no teniendo problemas de divergencia. Para solucionarlo debemos tener en cuenta el mtodo
de la biseccin, ya que adems de converger siempre, se tiene en consideracin en cada iteracin
un subintervalo que contiene a la raz mediante la particin en mitades iguales los subintervalos. Si en el mtodo de la biseccin elegimos el intervalo [0.9375,1.1255] vemos que el mtodo

RESOLUCIN ECUACIONES

CAPTULO 3
Tasa Convergencia Lineal Newton

70

Tasa Convergencia Cuadratica Newton

0.6
tcl

tcc

0.8

0.4
2
0.2

20
30
10
40
Numero Iteraciones

0
50

T.C.L.

20
30
10
40
Numero Iteraciones

0
50

T.C.C.

Figura 16: TC Newton p( x ) = x10 1 en [0.5,1.5]

slo utiliza 3 iteraciones. Si lo aplicamos ahora en el mtodo de la secante se obtienen resultados


coherentes.

secante('x.^10-1',0.9375,1.1255,1e-6,20)
La solucion es 0.999999999999997, y se ha alcanzado en 7 iteraciones.

Puedes probar ste mismo intervalo en el de la Regula Falsi o en el de Newton eligiendo un valor
inicial contenido en dicho intervalo.

newton('x.^10-1','10*x.^9',1.1255,0,1,1e-6,50)
El algoritmo tiene un coste en tiempo de:
Elapsed time is 0.002492 seconds.
La solucion es 1.000000000000979, y se ha alcanzado en 6 iteraciones.

Ejercicio 3.0.8 I Ecuacin Logstica


La ecuacin logstica x = ax (1 x ), a > 0 es una ecuacin de punto fijo que modela una
poblacin, cuyo crecimiento esta limitado. Es muy conocida porque los iterados pueden
presentar un comportamiento catico.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

71

a) Determina analticamente los puntos fijos de la ecuacin logstica.


b) Para qu valores de a es atrayente cada uno de los puntos fijos?
c) Para qu valores de a las iteraciones convergen cuadrticamente?
d) Demuestra que, para valores del parmetro a entre 0 y 4, la funcin de punto fijo
g( x ) = ax (1 x ) aplica el intervalo [0, 1] en si mismo. Consecuentemente, si la sucesin de iterados entra en este intervalo, ya no sale nunca de l.
e) Comprueba que para a = 0.5, con cualquier estimacin inicial en [0, 1], los iterados
convergen a 0. Comprueba que la convergencia es lineal y que la tasa de convergencia
coincide con la derivada en 0.
f) Comprueba que para a = 3/2, con cualquier estimacin inicial en [0, 1], los iterados
convergen a 1 2/3 = 1/3. Comprueba que la convergencia es lineal y que la tasa de
convergencia coincide con la derivada en 1/3.
g) Comprueba que para a = 2 la convergencia es cuadrtica.
h) Representa grficamente las iteraciones para algn valor entre 3 y 4. Comenta el comportamiento de los iterados.
i) El fractal de Feigenbaum representa el parmetro en el eje de abcisas, y los valores
que toman los iterados correspondientes a cada valor de a, cuando las iteraciones se
estabilizan en el eje de ordenadas. Escribe un programa para dibujar ste fractal.
Resolucin
a) Hemos de resolver la ecuacin x = ax (1 x ) x ax (1 x ) = 0 x ax + ax2 = 0
x=0

x ( ax a + 1) = 0 %
& ax a + 1 = 0 x =

a 1
a

x = 1

1
a

b) Un punto fijo x es Atractor o atrayente si | g0 ( x )| < 1. Tenemos que g( x ) = ax (1 x ) =


ax ax2
g0 ( x ) = a 2ax = a(1 2x )

| g0 (0)| = | a| < 1 El punto x = 0 es atractor si | a| < 1 a ] 1, 1[













g0 (1 1a ) = a(1 2(1 1a )) = a 2a + 2a
a = |2 a | < 1 1 < 2 a < 1 3 <
a < 1 1 < a < 3
Luego el punto x = 1

1
a

es atractor si a ]1, 3[

Aqu lo que hemos hecho es saber dnde nuestros puntos fijos hacen que el mtodo de punto fijo
converja.

RESOLUCIN ECUACIONES

CAPTULO 3

72

c) Las iteraciones convergen cuadrticamente cuando la derivada se anula en el punto fijo. Luego:

g0 ( x ) = a 2ax = 0

g0 (0) = a = 0 Para el punto fijo x = 0 la convergencia es cuadrtica si a = 0.

g (1 1a ) = 2 a = 0 a = 2 Para el punto fijo x = 1


a = 2.12

1
a

la convergencia es cuadrtica si

Podemos apreciar que para slo 2 valores de a obtenemos una convergencia cuadrtica del punto
fijo, para los dems valores hay convergencia, pero desgraciadamente no es cuadrtica.

d) Considerando g( x ) = ax (1 x ) = ax2 + ax en [0,1] como dominio, tenemos que la funcin


es continua en un compacto, por lo que alcanza sus mximos y mnimos en [0,1]. Hemos de
darnos cuenta que nuestra funcin es un conjunto de parbolas en las que su coeficiente director
es a < 0 porque a > 0, por tanto; nuestras parbolas son a. As pues su vrtice es un mximo.
Adems g( x ) = ax (1 x ) = 0 x = 0 x = 1 son los mnimos, es decir, los puntos
(0,0) y (1,0) [0,1] [0,1].

Calculemos los vrtices: x =

b
2a

g( 12 ) = 2a (1 12 ) =

a
4

a
4

0<

a
2( a)

1
2

<10<a<4

As pues, para a ]0,4[ tenemos que g( x ) [0,1], como queramos demostrar. Lo podemos dibujar
con el siguiente cdigo en Octave, con fichero llamado logisticadibujo.m:

12 Observa que ambos valores de a que hemos obtenido pertenecen a sus respectivas regiones (intervalos) de convergencia.

RESOLUCIN ECUACIONES

ECUACIONES

1
2
3
4
5
6
7
8
9
10
11
12

CAPTULO 3

73

function [] = logisticadibujo()
x=linspace(0,1,100);
clf();
for a=1:1:4
plot(x,a*x.*(1-x))
text(0.4 , 0.125, 'a=1');
text(0.4 , 0.4, 'a=2');
text(0.4 , 0.6, 'a=3');
text(0.4 , 0.8, 'a=4');
hold on
end
end
logisticadibujo.m

Puedes ver el resultado en la figura adjunta.


1
0.8

a=4

0.6

a=3

0.4

a=2

0.2
a=1
0

0.2

0.4

0.6

0.8

Figura 17: Funcin Logstica f ( x ) = ax (1 x ) a [1,4] anatural

e) Tomemos a = 0.5 y como estimacin inicial 0.1:

pfijo('0.5*x.*(1-x)','x-0.5*x.*(1-x)',0,1,0.1,1e-5,20)
La solucion es 0.000005026861483, y se ha alcanzado en 15 iteraciones.

En la figura adjunta se ve que la Tasa de Convergencia Lineal tiende a 0.5 que es lo que vale
g0 (0) = a = 0.5, como se esperaba, luego la convergencia es lineal.
f) Tomemos a = 3/2 = 1.5 y dos estimaciones iniciales 0.1 y 0.375 tales que cumplen:

RESOLUCIN ECUACIONES

CAPTULO 3

74

Tasa Convergencia Lineal Punto Fijo


0.5

0.46

tcl

0.48

0.44

5
10
Numero Iteraciones

0.42

T.C.L.
Figura 18: TCL Funcin Logstica f ( x ) = 0.5x (1 x )

0.1 < 1 1/a = 1 2/3 = 1/3


ambas:

0.375 > 1 1/a = 1 2/3 = 1/3. Apliquemos el mtodo para

pfijo('1.5*x.*(1-x)','x-1.5*x.*(1-x)',0,1,0.1,1e-6,25)
La solucion es 0.333332828068138, y se ha alcanzado en 23 iteraciones.
pfijo('1.5*x.*(1-x)','x-1.5*x.*(1-x)',0,1,0.375,1e-6,25)
La solucion es 0.333334332553122, y se ha alcanzado en 16 iteraciones.
En los resultados obtenidos se ve que para 0.375 se converge ms rpido, aunque se obtienen el
mismo nmero de cifras decimales exactas y la misma velocidad lineal de convergencia, aunque
una un poco ms rpida que otra.
g) Tan slo hemos de aplicar el mtodo y ver que se cumple lo que nos piden, sin ms.

pfijo('2*x.*(1-x)','x-2*x.*(1-x)',0,1,0.375,1e-6,30)
tcc =
3.3333 2.2667 2.0157 2.0001
La solucion es 0.500000000000000, y se ha alcanzado en 6 iteraciones.
h) Tomemos primero a = 3.5 = 7/2, entonces en [0,1] tenemos 2 posibles puntos fijos (solucin),
uno es 0 y el otro es 1 1/a = 1 2/7 = 5/7, pero no es as. Apliquemos el mtodo:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

75

Tasa Convergencia Lineal Punto Fijo

1.2

tcl

0.8

0.6
0

5
20
10
15
Numero Iteraciones

25

T.C.L.
Figura 19: TCL Funcin Logstica f ( x ) = 32 x (1 x ) Estimacin inicial 0.1

Tasa Convergencia Lineal Punto Fijo


0.5
0.48

tcl

0.46
0.44
0.42

5
10
Numero Iteraciones

0.4

T.C.L.
Figura 20: TCL Funcin Logstica f ( x ) = 32 x (1 x ) Estimacin inicial 0.375

pfijo('3.5*x.*(1-x)','x-3.5*x.*(1-x)',0,1,0.1,1e-6,500)

RESOLUCIN ECUACIONES

CAPTULO 3

76

Insuficientes iteraciones

Aun aplicando el mtodo con un tope de 500 iteraciones vemos que el mtodo diverge, si visualizamos la grfica de la funcin junto con sus iteraciones lo que vemos es que hay 2 valores
diferentes que se repiten peridicamente, ver figura adjunta.
Metodo Punto Fijo
1

0.5

0.2

0.6

0.4

0.8

0.5

x-3.5*x.*(1-x)
Aproximaciones
Figura 21: Pto. Fijo Funcin Logstica f ( x ) = 72 x (1 x )

Si tomamos ahora a = 3.75 con valor inicial 0.5 el mtodo no slo diverge, sino que adems sus
iteraciones oscilan fuertemente, creando una especie de caos, lo que hace pensar en que escondido
haya algn tipo de fractal catico, el fractal de Feigenbaum.

pfijo('3.75*x.*(1-x)','x-3.75*x.*(1-x)',0,1,0.5,1e-6,100)
Insuficientes iteraciones

Este caos lo puedes ver muy bien en la grfica sobre la Tendencia de Errores.
i) Esto no tiene mas que realizar el algoritmo en un fichero que le he llamado feigenbaum.m y
cuyo cdigo es:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

77

Tendencia de errores en el Punto Fijo

Errores

0.5

0
20 40 60 80 100 120
Numero Iteraciones
Errores
Puntos Errores

Figura 22: Errores Pto. Fijo Funcin Logstica f ( x ) =

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

function feigenbaum
p=0; q=4; % Rango de variacion del parametro
r=0; s=1; % Intervalo de valores de la iteracion
h = (q-p)/500;
X = zeros(1,100001); Y=X;
j = 1;
for a = p:h:q % Parmetro
x = 0.5; % Estimacion Inicial
for k=1:400 % Iterados
x = a*x*(1-x);
if k>200 % Dibuja el punto
X(j) = a;
Y(j) = x;
j++;
end
end
j-1;
end

19
20
21

clf();
plot(X,Y,'.r')

RESOLUCIN ECUACIONES

15
4 x (1

x)

CAPTULO 3

22
23
24

78

axis([p,q,r,s])
print -dps Feigenbaum.eps
end
feigenbaum.m

Y te dejo adjunta una figura del fractal.

Figura 23: Fractal De Feigenbaum

Con esto se termina el ejercicio en s, pero te aconsejo que experimentes con los dems mtodos
para ver qu es lo que ocurre. Debes caer que en los dems mtodos la funcin no es g( x ) =
ax (1 x ), la funcin es f ( x ) = x ax (1 x ) = ax2 + (1 a) x.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

79

O por ejemplo, puedes probar cambiando la funcin de punto fijo por sta otra:

1a
ax + (1 a) x = 0 x =
xx=
a
2

1a
x g2 ( x ) =
a

1a
x
a

Con qu parte te quedas?, la positiva?, la negativa?, ambas, redefinindola como una funcin
a trozos?, ninguna?. Ah te dejo un bonito ejercicio para que investigues por tu cuenta, no es
difcil pero s algo laborioso. nimo!

RESOLUCIN ECUACIONES

CAPTULO 3

80

Ejercicio 3.0.9 I Diodos


Cierto diodo se comporta como un condensador cuya capacidad C depende de la tensin
V entre sus extremos, segn la frmula:
C (V ) =

C0
(1 + |V |/)

donde C0 = 81 1012 F es la capacidad nominal del diodo, = 0.6 V y = 0.44 son


parmetros caractersticos del mismo. A su vez, la tensin del diodo depende de la carga
que almacena, segn la Ley de Faraday: V = Q/C.
a) Halla la carga Q del diodo, cuando la tensin entre sus extremos es de 1 V.
b) Representa grficamente la carga en funcin de V para valores de la tensin entre 0
y 5V. Para analizar el comportamiento del diodo se necesita conocer la tensin V en
funcin de la carga Q, lo que lleva a la ecuacin
V=

Q
Q
=
(1 + |V |/) C0 V Q(1 + |V |/) = 0
C
C0

, en la que V es la incgnita.
c) Para un valor Q = 1010 Coulomb determina con precisin de millonsimas el valor
de V correspondiente, utilizando el mtodo de Newton.
d) Resuelve el problema por el mtodo del punto fijo.
e) En el mtodo del punto fijo, si xk+1 = g( xk ), el cociente
g ( x k +1 ) g ( x k )
x
x k +1
= k +2
x k +1 x k
x k +1 x k
aproxima el valor de la derivada de la funcin de iteracin g(x) en el punto fijo.
Comprueba esta iteracin para las iteraciones efectuadas en este caso, derivando la
funcin de punto fijo g(V) con respecto a V.
f) Explica la relacin entre el valor de g y el comportamiento de las iteraciones del
mtodo de punto fijo.

Resolucin

a) ste primer apartado es una chorrada, observa: V = Q/C Q = V C = 1 C Q(1) = C (1)

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

81

81 1012
81 1012
11
C (1) = 
=
0.44
 0.44 = 5.260884615 10
1
1.6
1 + 0.6
0.6
b) Tan slo hay que implementar el siguiente cdigo:
1
2
3
4
5
6
7
8
9
10

function diodo(V)
V = linspace(0,5);
C0 = 81e-12; fi = 0.6; gama = 0.44;
denom = (1+abs(V)/fi).^gama;
num = V*C0;
Q = num./denom;
clf();
grid;
plot(V,Q)
end


c) La ecuacin a resolver es C0 V Q 1 +


|V |

= 0, de ello definimos la funcin:



|V |
f (V ) = C0 V Q 1 +

Vamos a obtener su primera derivada sin tener en cuenta el valor absoluto:


f 0 (V ) = C0

Q
V
(1 + ) 1

Ejecutamos el mtodo de Newton, sabiendo que la raz est prxima a 2.5, por lo que elegimos
2.0 como aproximacin inicial, con una tolerancia de 1e-6 y un mximo de iteraciones de 50.
Obtenemos la aproximacin a la raz con tan slo 10 iteraciones y coste de tiempo muy pequeo:

newton('diodo2(V)','diodo2derivada(V)',2.0,0,3,1e-6,50)
El algoritmo tiene un coste en tiempo de:
Elapsed time is 0.004084 seconds.
La solucion es 2.566887136956549, y se ha alcanzado en 10 iteraciones.
d) Para aplicar el mtodo del punto fijo hemos de calcular una funcin de punto fijo:






Q
|V |
|V |
|V |
C0 V Q 1 +
= 0 C0 V = Q 1 +
V=
1+

C0



Q
|V |
g (V ) =
1+
C0

RESOLUCIN ECUACIONES

CAPTULO 3

82

Aplicamos el mtodo con los siguientes resultados:

pfijo('diodoptofijo(V)','diodo2(V)',2.0,0,3,1e-6,50)
La solucion es 2.566887312786494, y se ha alcanzado en 15 iteraciones.

e) Si tenemos en cuenta en nuestro cdigo del programa de punto fijo que: xk+2 = x (2 : end) y
que xk+1 = x (1 : end), podemos aadir las siguientes tres lneas a nuestro cdigo para calcular la
derivada de g:
1
2
3

XR = x(2:end);
XL = x(1:end-1);
dg = diff(XR)./diff(XL)

Ahora al ejecutar nuestro programa de punto fijo obtenemos como resultado de nuestro clculo
de la derivada de la funcin de punto fijo:

dg =
Columns 1 through 8:
0.33959 0.35045 0.35442 0.35584 0.35635 0.35654 0.35660 0.35662
Columns 9 through 13:
0.35663 0.35664 0.35664 0.35664 0.35664

Aqu lo verdaderamente til es que podemos calcular valores aproximados de la derivada de la


funcin de punto fijo sin tener que calcular previamente su expresin algebraica, todo ello gracias
a la definicin de punto fijo que se cumple en nuestra funcin de punto fijo, valga la redundancia.

f) Si comparamos dg con tcl vemos que nos salen los mismos resultados, es decir, tcl dg =
0.35664. Vemos que en ste problema en particular la convergencia es rpida pero sin llegar a ser
cuadrtica.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

83

Ejercicio 3.0.10 I Economa


Nos ofrecen un crdito de 6.000 a devolver en 50 mensualidades de 150 . Llamando C al
importe del prstamo, n al nmero de pagos, a al importe del plazo e i al tipo de inters
por periodo, se cumple la ecuacin siguiente:
Cr n = a

rn 1
/r = 1+i
r1

a) Utiliza el mtodo de Newton para obtener el inters del crdito partiendo de la estimacin inicial r = 1.1 hasta alcanzar una precisin del orden de 106 .
b) Resuelve el problema utilizando el mtodo del punto fijo, tomando 3 funciones diferentes para hacer el estudio, analiza en cada caso la convergencia del mtodo.
Resolucin
a) Debemos determinar nuestra funcin f con variable independiente el inters r:

Cr n = a

rn 1
r1

Cr n (r 1) = a(r n 1) Cr n (r 1) a(r n 1) = 0 f (r ) = Cr n (r 1) a(r n 1)

Ahora debemos calcular su primera derivada ya que vamos a aplicar el mtodo de NewtonRaphson:
f 0 (r ) = Cnr n1 (r 1) + Cr n anr n1 = r n1 (Cn(r 1) + Cr an)
Para simplificar el trabajo sustituimos nuestros datos del problema en ambas funciones:
f (r ) = 6000r50 (r 1) 150(r50 1)

f 0 (r ) = r49 (300000(r 1) + 6000r 7500) f 0 (r ) = 1500r49 (200(r 1) + 4r 5)

f 0 (r ) = 1500r49 (204r 205)


Y a estas funciones simplificadas les aplicamos el mtodo de Newton con un valor inicial de
r = 1.1 y tolerancia 106

RESOLUCIN ECUACIONES

CAPTULO 3

84

newton('6000*r.^50.*(r-1)-150.*(r.^50-1)','1500*r.^49.*(204*r-205)',
1.1,-1,5,1e-6,50)
La solucion es 1.009128765779636, y se ha alcanzado en 13 iteraciones.

b) Veamos las tres formas diferentes de obtener la funcin de punto fijo:


I) Cr n = a

rn 1
r1

r1 = a

rn 1
Cr n

r = 1+a

rn 1
Cr n

g1 ( r ) = 1 + a

rn 1
Cr n

Sustituimos los datos del problema:

g1 (r ) = 1 + 150

r50 1
6000r50

g1 ( r ) = 1 +

r50 1
40r50

Aplicamos el mtodo de punto fijo:

pfijo('1+(r.^50-1)./(40*r.^50)','6000*r.^50.*(r-1)-150.*(r.^50-1)',1,1.5,1.1,1e-6,50)
La solucion es 1.009131856951823, y se ha alcanzado en 33 iteraciones.

En ste caso la convergencia es muy lenta de tipo lineal y no cuadrtica, y se estabiliza un poco
por debajo de 0.8.
II)

Cr n

=a

rn 1
r1

rn

=a

rn 1
C (r 1)

r=

! n1

rn 1
C (r 1)

g2 ( r ) =

rn 1

! n1

C (r 1)

Volvemos a sustituir los datos del problema:

g2 ( r ) =

150

r50 1
6000(r 1)

! 501

g2 ( r ) =

r50 1

! 501

40(r 1)

Aplicamos el mtodo de punto fijo:

pfijo('((r.^50-1)./(40*(r-1))).^(1/50)','6000*r.^50.*(r-1)-150.*(r.^50-1)',1,1.5,1.1,1e-6,50)
La solucion es 1.009129747274095, y se ha alcanzado en 20 iteraciones.

III) Cr n = a

rn 1
r1

Cr n (r 1)
a

= rn 1 rn = 1 +

Cr n (r 1)
a

g3 ( r ) =

1+

Cr n (r 1)

! n1

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

85

Sustituimos los datos del problema:

g3 ( r ) =

1+

6000r50 (r 1)

! 501

150

g3 (r ) = 1 + 40r50 (r 1)

 501

Finalmente aplicamos el mtodo:

pfijo('(1+40*r.^(50)*(r-1)).^(1/50)','6000*r.^50.*(r-1)-150.*(r.^50-1)',1,1.5,1.1,1e-6,50)
Insuficientes iteraciones
En ste caso el mtodo diverge.

Ejercicio 3.0.11 I Coseno Diferentes Mtodos


Dada la ecuacin no lineal: 8x cos x 2x2 = 0
a) Haz una representacin grfica para averiguar el nmero de soluciones y obtener
una estimacin inicial de las mismas.
b) Resulvela por: biseccin, regula falsi, secante y Newton con tolerancia 105 .
c) Transfrmala en una ecuacin de punto fijo de dos formas diferentes de modo que
en una de ellas el proceso converja con un nmero de iteraciones similar al obtenido
al mtodo de Newton.
d) Halla la tasa de convergencia para cada mtodo utilizado y compara los resultados
obtenidos.
Resolucin
a) Lo primero que vamos a hacer es establecer nuestra funcin como:
f ( x ) = 8x cos x 2x2
En ste caso podemos saber cuntas races tiene nuestra ecuacin sin necesidad de dibujarla, si
despejamos el coseno en nuestra ecuacin tenemos: 8x 2x2 = cos x. En la parte derecha tenemos
una parbola y en el izquierdo, donde se corten van a ser nuestras races, y en ste caso como
mucho van a ser 2 puntos, de hecho son 2 puntos. Dibujemos con Octave:
En la figura de la grfica de la funcin vemos que efectivamente tenemos dos races, una primera
en torno al cero y pico, la segunda cerca del 4.

RESOLUCIN ECUACIONES

CAPTULO 3

86

La Funcion
10

10

20
0

Figura 24: f ( x ) = 8x cos x 2x2

b) Mtodo Biseccin:
Vamos a tomar como intervalos iniciales [0.5,0.5] y [3.5,4.5]:

biseccion('8*x-cos(x)-2*x.^2',-0.5,0.5,1e-5,20)
La solucion es 0.128074645996094.
Se ha alcanzado en 17 iteraciones.
Con un error de 1.525879e-05
biseccion('8*x-cos(x)-2*x.^2',3.5,4.5,1e-5,20)
La solucion es 4.073219299316406.
Se ha alcanzado en 17 iteraciones.
Con un error de 1.525879e-05

En ambas races obtenemos buenas aproximaciones aunque con un nmero un poco elevado de
iteraciones.
Mtodo Regula Falsi:
Tomamos los mismos intervalos que hemos utilizado en la biseccin:

regulafalsi('8*x-cos(x)-2*x.^2',-0.5,0.5,1e-5,20)
La solucion es 0.128077837733803, y se ha alcanzado en 6 iteraciones.
Con un error de 5.913176e-06
regulafalsi('8*x-cos(x)-2*x.^2',3.5,4.5,1e-5,20)

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

87

La solucion es 4.073224583175699, y se ha alcanzado en 6 iteraciones.


Con un error de 4.875398e-06

Poniendo las mismas condiciones que en la biseccin vemos que el mtodo es mucho ms rpido,
menos del doble de iteraciones son las que han hecho falta para obtener las soluciones.
Mtodo de la Secante:
Tambin vamos a utilizar las mismas condiciones que hemos utilizado en los 2 mtodos anteriores:

secante('8*x-cos(x)-2*x.^2',-0.5,0.5,1e-5,20)
La solucion es 0.128077102753662, y se ha alcanzado en 5 iteraciones.
secante('8*x-cos(x)-2*x.^2',3.5,4.5,1e-5,20)
La solucion es 4.073225094955231, y se ha alcanzado en 5 iteraciones.

ste mtodo mejora ligeramente el nmero de iteraciones respecto la Regula Falsi, tan slo una
iteracin menos.
Mtodo Newton-Raphson:
Primero es calcular la primera derivada de la funcin:
f 0 ( x ) = 8 + sin x 4x
Para la primera raz vamos a considerar como valor inicial 0.25, y para la segunda raz tomamos
4.25:

newton('8*x-cos(x)-2*x.^2','8+sin(x)-4*x',0.25,-0.5,0.5,1e-5,20)
La solucion es 0.128077102753090, y se ha alcanzado en 4 iteraciones.
newton('8*x-cos(x)-2*x.^2','8+sin(x)-4*x',4.25,3.5,4.5,1e-5,20)
La solucion es 4.073225094959651, y se ha alcanzado en 5 iteraciones.

Aqu se utilizan muy pocas iteraciones, es el mejor de todos los vistos hasta ahora, y todo hace
pensar que su convergencia es cuadrtica, pero esto lo analizaremos un poco despus.
Hagamos un in-pass aqu. Hasta ahora las races de nuestra ecuacin de partida slo las hemos
podido calcular de forma aproximada aplicando mtodos iterativos o contemplando la grfica
de su funcin asociada. El problema de esta ecuacin es que no podemos resolverla de forma
exacta utilizando slo simples clculos algebraicos. Si contemplamos detenidamente la grfica
de la funcin vemos que tiene cierto parecido a una parbola a la que se le ha aplicado una

RESOLUCIN ECUACIONES

CAPTULO 3

88

modificacin del tipo coseno. As pues, podramos pensar que podramos calcular un polinomio
de segundo grado (parbola) que se asproxime lo suficientemente a la funcin de partida. Veamos
qu pasa si aproximamos la funcin coseno mediante el desarrollo de McLaurin13 .
h( x ) = cos x
P ( x ) = h (0) +

h0 ( x ) = sin x
h 0 (0)
1! x

h00 (0) 2
2! x

h00 ( x ) = cos x

h000 (0) = sin x

h0v ( x ) = cos x

= 1 + 0 12 x2 P( x ) = 1 12 x2

Sustituimos P(x) en la ecuacin y resolvemos:


1
8x 1 + x2 2x2 = 0 16x + 2 x2 + 4x2 = 0 3x2 16x + 2 = 0
2

16 162 4 3 2
16 232
x=
=
6
6

16 2 58

58
=
x1 = 5.205257703

x2 = 0.1280756314
6
3
Vemos que nuestra segunda solucin utilizando McLaurin s es una buena aproximacin a una
de las races de la ecuacin de partida del problema. Desgraciadamente la primera solucin se
desva bastante de la otra raz, una de las posibles causas de que ocurra esto es que f(x) no es
una funcin simtrica. Una forma de intentar solucionarlo es desarrollar McLaurin hasta grado 4,
veamos qu pasa:

x=

P ( x ) = h (0) +

000
0v
h 0 (0)
h00 (0) 2 h (0) 3 h (0) 4
1
1
x+
x +
x +
x = 1 + 0 x2 + 0 + x4
1!
2!
3!
4!
2
24

1
1
P( x ) = 1 x2 + x4
2
24
Sustituimos nuestro nuevo P(x) en la ecuacin:
1 4
8x 1 + 12 x2 24
x 2x2 = 0 192x + 24 12x2 + x4 + 48x2 = 0 x4 + 36x2 192x + 24 = 0

Desgraciadamente esta nueva ecuacin polinmica no es fcil de resolver, as que para estimar la
otra raz deberamos aplicar alguno de los mtodos iterativos o dibujar ambas grficas y compararlas:
1
2

x=-0.5:0.1:4.5;
clf(), plot(x,8*x-cos(x)-2*x.^2,x,x.^4+36*x.^2-192*x+24), grid on

Y vemos que la nueva aproximacin que hemos intentado es peor que la primera. Bueno, pues en
ste caso nuestro experimento ha resultado slo parcialmente bueno en cuanto a resultados, pero
enriquecedor en ampliacin de conocimientos. Te animo a que experimentes, a que te preguntes
13 Recuerda

que el desarrollo de McLaurin no es mas que el polinomio de Taylor centrado alrededor del punto cero.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

89

por ti mismo cules pueden ser las causas de que no haya funcionado del todo bien y si hay otros
caminos alternativos. Por mi parte, para no alargar mucho el ejercicio lo voy a dejar aqu y pasar
al siguiente apartado.
c) Vamos a averiguar la primera ecuacin/funcin de punto fijo en nuestro problema:
8x cos x 2x2 = 0 x =

1
8

cos x 14 x2 g1 ( x ) =
0

Estudiemos su criterio de convergencia: g1 ( x ) =




sin x 4x
0
1



g ( x ) = sin x 1 x =
=
1
8
2


8
0

g ( x ) < 1
1
1.75

1
8

1
8

1
8

1
8

cos x 14 x2

sin x 12 x

|sin x + 4x |

1
8

[|sin x | + 4 | x |]

[1 + 4 | x |] < 1 [1 + 4 | x |] < 8 4 | x | < 7 | x | <

7
4

1
8

[1 + 4 | x |]

= 1.75 1.75 < x <

Luego el mtodo de punto fijo para g1 ( x ) converge en el intervalo ] 1.75, 1.75[. Por tanto, al
aplicar el mtodo slo conseguiremos aproximaciones a la raz 1.028..., pero para la raz 4.07...
el mtodo diverge porque ni la raz ni valores iniciales para aplicar el mtodo caen dentro del
intervalo ] 1.75, 1.75[. Aplicamos el mtodo para el clculo de ambas races y obtenemos los
resultados esperados.

pfijo('(1/8)*cos(x)-(1/4)*x.^2','8*x-cos(x)-2*x.^2',3.5,4.5,4.25,1e-5,100)
La solucion es NaN
pfijo('(1/8)*cos(x)-(1/4)*x.^2','8*x-cos(x)-2*x.^2',-0.5,0.5,0.25,1e-5,100)
La solucion es 0.120465620630844, y se ha alcanzado en 6 iteraciones.

Pero adems vemos que la aproximacin obtenida de la raz es bastante pobre.


Veamos una segunda funcin de punto fijo:
s

cos x
8x cos x 2x2 = 0 2x2 = 8x cos x x =
4x
g2 ( x ) = 4x

2
2

g2 ( x ) = 22 8x cos x

2 8 + sin x
0

Tenemos que: g2 ( x ) =
Esta derivada es algo complicada de acotar, su grfica
4 8x cos x
siempre es positiva. Para ver dnde | g20 ( x )| < 1 lo que haremos es dibujar directamente su grfica
en Octave mediante el cdigo:
1
2
3

function[] = ecuacioncoseno()
x = -0.5:0.1:60;
c = sqrt(2)/4;

RESOLUCIN ECUACIONES

cos x

CAPTULO 3

4
5
6
7
8
9
10

90

num = 8 + sin(x);
den = sqrt(8*x-cos(x));
fun = (c*num)./den;
clf();
plot(x,fun)
grid;
end

Al ejecutarlo podemos apreciar en su grafica que hay 2 zonas en las que su grfica es menor que
1 y que, supuestamente nuestro mtodo de punto fijo converge a la raz.
4

20

40

60

Figura 25: Derivada de g1 ( x )

La zona, aproximadamente es: ]0,00 11[]10 3, + [. Vamos a aplicar el mtodo de punto fijo para
los valores iniciales 0 y 4 a ver qu ocurre:

pfijo('sqrt(2)/2.*(sqrt(8*x-cos(x)))','8*x-cos(x)-2*x.^2',3.5,4.5,4,1e-5,100)
La solucion es 4.073220999225586, y se ha alcanzado en 13 iteraciones.
pfijo('sqrt(2)/2.*(sqrt(8*x-cos(x)))','8*x-cos(x)-2*x.^2',-0.5,0.5,0,1e-5,100)
La solucion es 4.073221928782237, y se ha alcanzado en 20 iteraciones.
Finalmente hay una tercera funcin candidata si despejamos el coseno: g3 ( x ) = acos(8x 2x2 ), si
aplicamos el mtodo de punto fijo con sta funcin vemos que el mtodo diverge:

pfijo('acos(8*x-2*x.^2)','8*x-cos(x)-2*x.^2',-0.5,0.5,0.5,1e-5,500)
Insuficientes iteraciones

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

91

pfijo('acos(8*x-2*x.^2)','8*x-cos(x)-2*x.^2',3,4.5,4.5,1e-5,500)
Insuficientes iteraciones

4x 8

Calculamos su derivada: g30 ( x ) = q

Si dibujamos su grfica vemos claramente


2
1 (8x 2x2 )
que sta funcin alrededor del 0 y del 4 sus valores en mdulo son mayores que 1, adems tambin
podemos apreciar que no es una funcin suave14 . Por estas razones el mtodo del punto fijo
diverge para sta tercera funcin de punto fijo.

10

10
0

Figura 26: Derivada de g3 ( x )

La podemos implementar en Octave con las siguientes lneas de cdigo:


1
2
3
4

clf();
x=-1:0.1:6;
grid on;
plot(x,(4*x-8)./sqrt(1-(8*x-2*x.^2).^2))

14 Presenta

picos, no es derivable, o lo que es lo mismo, hay puntos donde no hay una nica recta tangente.

RESOLUCIN ECUACIONES

CAPTULO 3

92

Ejercicio 3.0.12 I Identidad De Raabe


Vamos a buscar los valores de a que verifican la Identidad de Raabe:

a ln a a + ln( 2 ) = a
a) Obtn grficamente una aproximacin inicial de las races reales de esta ecuacin no
lineal.
b) Utiliza el mtodo de Newton para obtener la menor de sus races positivas con tolerancia una diezmilsima. Cuntas iteraciones has necesitado?
c) Utiliza ahora el mtodo de punto fijo para obtener las soluciones.
Resolucin

a) Consideramos la funcin f ( a) = a ln( a) 2a + ln( 2 ) y la dibujamos con Octave:


Debes tener en cuenta que el dominio de la funcin es D ( f ) =]0, + [ debido al logaritmo neperiano, as que al definir nuestra variable independiente en Octave lo haremos a partir de un valor
cercano a 0, sin ser 0, para evitar problemas.
Aunque en el problema no lo piden vamos a calcular los posibles extremos de la funcin para
servirnos de gua.
f 0 ( a) = ln( a) 1 = 0 a = e
f 00 ( a) = 1a f 00 (e) = 1e > 0 Para a = e tenemos un Mnimo Absoluto, por lo que la funcin
Decrece en ]0,e[ y Crece en ]e, + [. Adems, como f 00 ( a) = 1a > 0; a D ( f ), la funcin siempre
es Convexa. Los comandos en Octave para dibujar la funcin pueden ser los siguientes:
1
2
3

a=0:0.1:10;
plot(a,a.*log(a)-2*a+log(sqrt(2*pi)))
grid;

Obteniendo la figura adjunta.


Con todo esto que hemos hecho y con la ayuda de la grfica podemos aseverar que nuestra funcin tiene 2 races, una alrededor del 0, y otra alrededor del 6.
b) La menor de las races es la que est alrededor del 0, y esa es la que vamos a calcular por
Newton. Tomamos como punto de partida 0.25:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

93

10

Figura 27: Funcin De Raabe f ( a) = a ln a 2a + ln( 2 )

newton('a.*log(a)-2*a+log(sqrt(2*pi))','log(a)-1',0.25,0.00001,1,1e-4,20)
El algoritmo tiene un coste en tiempo de:
Elapsed time is 0.0525141 seconds.
La solucion es 0.281104424618856, y se ha alcanzado en 4 iteraciones.

Vemos que obtenemos como aproximacin de la raz el valor esperado y el mtodo converge muy
rpido.

c) Para el mtodo del punto fijo vamos a tomar la funcin g( a) =

2a ln( 2 )
ln( a)

pfijo('(2*a-log(sqrt(2*pi)))./log(a)','a.*log(a)-2*a+log(sqrt(2*pi))',0.00001,1,0.25,1e-4,300)
La solucion es 0.281069334437776, y se ha alcanzado en 29 iteraciones.
pfijo('(2*a-log(sqrt(2*pi)))./log(a)','a.*log(a)-2*a+log(sqrt(2*pi))',6,8,0.7,1e-4,300)
La solucion es 6.400796607782891, y se ha alcanzado en 22 iteraciones.

Con ste mtodo obtenemos las races buscadas pero la convergencia es muy lenta, en vez de ser
cuadrtica es lineal.

RESOLUCIN ECUACIONES

CAPTULO 3

94

Ejercicio 3.0.13 I Problema De La Caja


Se construye una caja sin tapadera a partir de una hoja metlica rectangular, que mide 10
por 16 centmetros. Queremos averiguar cul debe ser el lado de los cuadrados que hay
que recortar en cada esquina para que el volumen de la caja sea 100 centmetros cbicos.
a) Plantea la ecuacin que nos proporciona el volumen de la caja en funcin del lado x
de los cuadrados a recortar.
b) Representa grficamente la ecuacin a resolver y obtn un intervalo inicial en el que
est el valor de x que estamos buscando.
c) Resuelve dicha ecuacin por el mtodo de biseccin, empleando una tolerancia de
109 y tomando como intervalo inicial el obtenido en el apartado b).
d) Mejora el mtodo de regula falsi el resultado obtenido por biseccin?
e) Obtn el lado de dichos cuadrados empleando el mtodo de punto fijo, con estimacin inicial el punto medio del intervalo utilizado en apartados anteriores.
f) Compara los resultados obtenidos por ambos mtodos (solucin, nmero de iteraciones, velocidad de convergencia).
Resolucin
a) Lo primero que debes saber es que x es la altura de la caja, as como que el volumen es el mismo
con o sin tapa. Aunque el rea total de la caja no es la misma con o sin tapa.
16-2x

10-2x

x
x

Figura 28: Problema de la caja

100 = V ( x ) = x (16 2x )(10 2x ) = 4x (8 x )(5 x ) = 4x (40 8x 5x + x2 ) = 160x 32x2


20x2 + 4x3

4x3 52x2 + 160x 100 = 0 x3 13x2 + 40x 25 = 0

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

95

Por tanto, nuestra funcin va a ser:15


f ( x ) = x3 13x2 + 40x 25
b) Nuestra incgnita cumple que x > 0 por ser la medida de un lado, adems, 10 2x > 0
5 x > 0 x < 5. Luego sin dibujar nada ya sabemos que x ]0,5[ debido a la naturaleza del
problema. La dibujamos en Octave con el siguiente cdigo:
1
2
3
4

x=0:0.1:10;
plot(x,x.^3-13*x.^2+40*x-25)
grid;
legend('f(x)');

En la grfica de la funcin vemos que de las 3 races reales que tiene la ecuacin por ser de grado
3 slo 2 se ajustan al dominio de nuestra funcin para nuestro problema. As que tomaremos los
intervalos [0,1] y [3,4]
80
f(x)
60
40
20
0

20
40

10

Figura 29: Funcin f ( x ) = x3 13x2 + 40x 25

c) Apliquemos biseccin a ambos intervalos:

15 Date

cuenta que hemos simplificado dividiendo por 4 la ecuacin porque para obtener x no influye en el resultado
por ser ecuaciones equivalentes, de esa forma simplificamos clculos, sobretodo determinando el intervalo incial para
aplicar por ejemplo la biseccin.

RESOLUCIN ECUACIONES

CAPTULO 3

96

biseccion('x.^3-13*x.^2+40*x-25',0,1,1e-9,100)
La solucion es 0.839018882252276.
Se ha alcanzado en 30 iteraciones.
Con un error de 1.862645e-09

Para el otro intervalo obtenemos:

biseccion('x.^3-13*x.^2+40*x-25',3,4,1e-9,100)
La solucion es 3.401748646982014.
Se ha alcanzado en 30 iteraciones.
Con un error de 1.862645e-09

d) Y ahora para regula falsi:

regulafalsi('x.^3-13*x.^2+40*x-25',0,1,1e-9,100)
La solucion es 0.839018883302484, y se ha alcanzado en 18 iteraciones.
Con un error de 4.274464e-10

Y en el segundo intervalo:

regulafalsi('x.^3-13*x.^2+40*x-25',3,4,1e-9,100)
La solucion es 3.401748647478851, y se ha alcanzado en 10 iteraciones.
Con un error de 1.420744e-10

Las soluciones obtenidas son prcticamente las mismas a las obtenidas en la biseccin, pero el
nmero de iteraciones es mucho menor, especialmente para la segunda solucin.
e) Calculemos una funcin de punto fijo:
x3 13x2 + 40x 25 = 0 40x = x3 + 13x2 + 25 x =

1 ( x 3
40

13x2 25)

Luego tenemos como funcin de punto fijo:

g( x ) =

1 3
( x 13x2 25)
40

Los puntos iniciales van a ser 0.5 y 3.5 respectivamente:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

97

pfijo('(-1/40)*(x.^3-13*x.^2-25)','x.^3-13*x.^2+40*x-25',0,1,0.5,1e-9,100)
La solucion es 0.839018882515451, y se ha alcanzado en 29 iteraciones.
pfijo('(-1/40)*(x.^3-13*x.^2-25)','x.^3-13*x.^2+40*x-25',3,4,3.5,1e-9,100)
La solucion es 8.759232469400999, y se ha alcanzado en 23 iteraciones.

Como vemos aqu con sta funcin de punto fijo slo obtenemos la primera solucin y no con
muy buenos resultados, de hecho perdemos la convergencia cuadrtica del mtodo, slo llegamos
a convergencia lineal. Para obtener la otra solucin del problema debemos buscar otra funcin de
punto fijo, eso lo dejo como tarea.
Claramente el mtodo de la Regula Falsi ha sido el vencedor.

Ejercicio 3.0.14 I Mtodo De Halley


El mtodo de Halley, para encontrar una raz de la ecuacin f ( x ) = 0, fue diseado para
acelerar la convergencia del mtodo de Newton. Puede interpretarse como un mtodo de
punto fijo, cuya funcin g( x ) es:

g( x ) = x

f (x)
f 0 (x)

f ( x ) f 00 ( x )

! 1

2 ( f 0 ( x ))2

A partir de f ( x ) = x2 A, con A = 2,3,5,7, determina la funcin de iteracin de Halley pa


ra hallar A. Empieza con x0 = 1.4. Cul es la velocidad de convergencia del mtodo en
este caso? Compara estos resultados con los obtenidos aplicando otros mtodos: biseccin,
regula falsi, punto fijo y Newton.
Resolucin
Vamos a averiguar la funcin g:
f ( x ) = x2 A

f 0 ( x ) = 2x

f ( x ) f 00 ( x )
2 ( f 0 ( x ))2

f 00 ( x ) = 2
! 1

RESOLUCIN ECUACIONES

f 0 (x)

2x2 2A
8x2

2

! 1

f ( x ) f 00 ( x ) = 2x2 2A

= 4x2

6x2 + 2A
8x2

! 1

8x2
6x2 + 2A

4x2
3x2 + A

CAPTULO 3

f (x)
f 0 (x)
f (x)
f 0 (x)

g( x ) = x

f ( x ) f 00 ( x )
2 ( f 0 ( x ))2

2x ( x2 A)
3x2 + A

! 1

98

x2 A
2x

x2 A
2x

4x2
3x2 + A

3x3 + Ax 2x3 + 2Ax


3x2 + A

2x ( x2 A)
3x2 + A

x3 + 3Ax
3x2 + A

x ( x2 + 3A)
3x2 + A

Luego hemos obtenido la funcin de Halley:


x ( x2 + 3A)
g( x ) =
, dicha funcin de Halley le vamos a aplicar nuestro mtodo de punto fijo: 16
3x2 + A
I) Para A=2:

pfijo('(x.^3+6*x)./(3*x.^2+2)','x.^2-2',1,2,1.4,1e-6,50)
La solucion es 1.414213562373095, y se ha alcanzado en 3 iteraciones.
II) Para A=3:

pfijo('(x.^3+9*x)./(3*x.^2+3)','x.^2-3',1,2,1.7,1e-6,50)
La solucion es 1.732050807568877, y se ha alcanzado en 4 iteraciones.
III) Para A=5:

pfijo('(x.^3+15*x)./(3*x.^2+5)','x.^2-5',2,3,2.2,1e-6,50)
La solucion es 2.236067977499790, y se ha alcanzado en 4 iteraciones.
IV) Para A=7:

pfijo('(x.^3+21*x)./(3*x.^2+7)','x.^2-7',2,3,2.6,1e-6,50)
La solucion es 2.645751311064591, y se ha alcanzado en 4 iteraciones.
Como vemos aqu el mtodo de Halley es muy rpido. Pero tiene varios inconvenientes, nuestra
funcin de partida debe ser de clase C2 en un entorno de x0 . Adems no debe tener una expresin
muy complicada, en el caso de nuestra funcin de partida es un polinomio de grado muy bajo,
por lo que el coste computacional es ptimo.
16 Esto

lo hacemos porque el Mtodo de Halley no es mas que el Mtodo de Punto Fijo pero en donde nuestra funcin
de punto fijo es la funcin de Halley. De esta forma nos evitamos tener que programar un cdigo especfico para el
Mtodo de Halley.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

99

Ejercicio 3.0.15 I Polinomio Grado Dos


Dada la funcin f ( x ) = x2 x 2
a) Converge la frmula xn+1 = ( xn )2 2 a una raz de f ( x ) = 0 ?
b) Escribir una frmula de Newton-Raphson que resuelva el problema del clculo de
los ceros de f .

Resolucin

a) Observa la frmula
x n +1 = ( x n )2 2
, nos esta diciendo que se esta aplicando la iteracin de punto fijo sobre la funcin de punto fijo
x = g( x ) = x2 2 .
Tomemos un intervalo cualquiera I =] a, b[ y veamos si g ( I ) I

a
g(b)

<

g ( a ) = a2 2 0 < a2 a 2 0 < ( a 2) ( a + 1) a > 2

a < 1

= b2 2 < b b2 b 2 < 0 ( b 2) ( b + 1) < 0 1 < b < 2

Tenemos:

g( a) = a2 2 < bmax = 2 | a| <

g(b) = b2 2 > amin = 2 |b| > 2 2

Luego no existe ningn intervalo ] a, b[ / g (] a, b[) ] a, b[ . Luego la sucesin dada es divergente.


b) f 0 ( x ) = 2x 1, el esquema es:

x n +1 = x n

xn2 xn 2
2x2 xn xn2 + xn + 2
x2 + 2
= n
= n
; n N
2xn 1
2xn 1
2xn 1

RESOLUCIN ECUACIONES

CAPTULO 3

100

Ejercicio 3.0.16 I Sistema No Lineal


Escribir las ecuaciones del esquema de Newton-Raphson para resolver el sistema:
(

x 3x2 y = 0
y x3 = 0

Resolucin
(
Tenemos el sistema de ecuaciones

x 3x2 y = 0
y x3 = 0
g1 ( x, y)
g2 ( x, y)

)
, que en general es de la forma:

0
0

Tiene como solucin en el mtodo Newton-Raphson:

x
y

g1
x
x

g2
y
n
x
!

=
n +1

g1 1
y

g2
y n

g1
g2

!
n

Por tanto, hemos de calcular la matriz inversa de la matriz jacobiana:

g1 ( x, y) = x 3x2 y

g2 ( x, y) = y x3

La matriz jacobiana es:

A=

1 6xy
3x2

3x2
1

1
3x2

3x2
1 6xy

Tenemos que: det ( A) = 1 6xy 9x4 . Por tanto:

1
=

1 6xy 9x4

Entonces:

RESOLUCIN ECUACIONES

ECUACIONES

x 3x2 y
y x3

CAPTULO 3

1
=

1 6xy 9x4

1
3x2

101

3x2
1 6xy

x 3x2 y
y x3

1
=

1 6xy 9x4

=
x 3x5
2x3 3x4 y 6xy2 + y

Por tanto, en forma de sucesiones es:

y n +1

xn 3xn5
1 6xn yn 9xn4
3
2x 3xn4 yn 6xn y2n + yn
= yn n
1 6xn yn 9xn4

x n +1 = x n

; n N

Ejercicio 3.0.17 I Esfera Sumergida


Se tienen una esfera de radio unidad cuya densidad es la cuarta parte de la del agua dulce
y una pileta muy grande, de fondo plano, con un agujero de radio 0.5 unidades en el cual
se ha quedado la esfera despus de haber rodado por el fondo. Se empieza a llenar de agua
la pileta.
a) Obtener la ecuacin que proporciona la altura de agua a la que hay que llenar la
pileta para que la bola deje su agujero y empiece a flotar.
b) Utilizar el mtodo de Newton con estimador inicial 0.1660 para encontrar dicha altura. Dar 3 pasos en el esquema iterativo detallando los valores intermedios obtenidos.
c) Convertir el problema en uno de punto fijo que se resolver por el mtodo de aproximaciones sucesivas.
d) Aplicar la iteracin de punto fijo con el mismo estimador inicial y dando el mismo
nmero de pasos que en b). Valorar y justificar los resultados.
El volumen de un casquete esfrico es:
V (z) = Rz2

Resolucin
a) Se tiene Peso E + ghr2 = 0. Luego:

RESOLUCIN ECUACIONES

3
z
3

CAPTULO 3

R3 g +
3
4

102

 2

 
h3
R
2
2
+ (c R) h + c 2cR h g + gh
=0
3
2

Operamos:
R2
h + 3 (c R) h + 3 c 2Rc +
12
3

Sustituimos c = 1 sin (/3) = 0.1340

h + R3 = 0

R=1:

h3 2.5980h2 0.5001h + 1 = 0
b) Definimos la funcin: f (h) := h3 2.5980h2 0.5001h + 1, tenemos que:
f 0 (h) = 3h2 5.196h 0.5001
Aplicamos Newton con h0 = 0.1660

newton('x.^3-2.5980*x.^2-0.5001*x+1', '3*x.^2-5.196*x-0.5001',0.1660,0,1,0.
000001,20)
La solucion es 0.592360397221254, y se ha alcanzado en 6 iteraciones.

c) Para aplicar punto fijo despejamos h:


g(h) = 1.9996h3 5.1950h2 + 1 9996
d) Aplicamos el algoritmo de punto fijo:

pfijo('1.9996*x.^3-5.1950*x.^2+1.9996','x.^3-2.5980*x.^2-0.5001*x+1',0,1,0.
1660,0.000001,20)
La solucion es -Inf, y se ha alcanzado en 10 iteraciones.

En ste caso el mtodo de punto fijo diverge, ya que:




g0 (h) = 3 1.9996h2 2 5.1950h g0 (h) > 1 h ]0, 1[

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

103

Ejercicio 3.0.18 I Problema Partcula


Una partcula parte del reposo descendiendo sobre un plano inclinado empujada por su
propio peso. El ngulo que forma el plano inclinado con la horizontal cambia con el
tiempo con una velocidad constante , siendo = 0 en el instante inicial. La partcula se
encuentra en dicho instante sobre el eje de giro del plano. Planteando este problema en un
sistema de coordenadas polares con origen en dicho eje se llega a la ecuacin diferencial:
d2 r
r 2 + g sin(t) = 0
dt2
que describe la variacin de la posicin de la partcula sobre la rampa. Esta ecuacin admite una integral analtica cuyas constantes se fijan utilizando las condiciones iniciales de
posicin y velocidad nulas
r (t) =

g
(sinh(t) sin(t))
2 2

Se tomar la gravedad g = 10 m/s2 . Se supone que en un segundo la partcula ha recorrido


d
0.5m, lo que significa, con el sentido dado a los ejes, que =
es negativa.
dt
Nuestro objetivo es calcular el valor de correspondiente a ese desplazamiento.
1. Formular el problema como la bsqueda de la raz de una ecuacin f ( ) = 0.
2. Variar empezando por 1, evaluando la funcin f en los distintos valores hasta
detectar un cambio de signo que permita definir un intervalo que contenga a la raz
buscada.
3. Tomando como estimador inicial 0.375, iterar con el mtodo de Newton hasta que
la diferencia entre dos iteraciones consecutivas sea en mdulo menor que 102 .
4. Reformular el problema f ( ) = 0 en una ecuacin de punto fijo = T ( ).
Asumiendo que el valor de obtenido en el apartado anterior es la raz buscada,
estudiar la convergencia local del esquema = T ( ).
5. Tomando como estimador inicial 0 = 0.375, dar tres pasos en ste esquema.
6. Caso de que no se observen indicios claros de convergencia, relajar el esquema 4
tomando como factor de relajacin el ptimo correspondiente a la raz obtenida en el
apartado 3.
Escribir el esquema resultante i+1 = T (i ).
7. Tomando el mismo estimador inicial 0 = 0.375, iterar con este esquema relajado
hasta que la diferencia entre dos iteraciones consecutivas sea en mdulo menor que
0.05.
Resolucin

RESOLUCIN ECUACIONES

CAPTULO 3

104

1.) Sustituimos r = 0.5 para t = 1 y obtenemos la ecuacin:


10 (sinh sin ) + 2 = 0
2.) La tabla de valores con f ( ) = 10 (sinh sin ) + 2 es la siguiente:

0.5

0.25

f ( )

2.33

23.1756

0.1666

0.0104

Luego hay cambio de signo en el intervalo [0.5, 0.25], es decir; en dicho intervalo hay una
raz.
3.) Calculemos la sucesin de Newton en nuestro caso:
f 0 ( ) = 10 (cosh cos ) + 2
Por lo que la sucesin es:

n +1 = n

10 (sinh n sin n ) + n2
; n N
10 (cosh n cos n ) + 2n

Debemos iterar dicha sucesin hasta que se cumpla:

|n n1 | < 102
Lo ponemos en una tabla:
n

n
| n n 1 |

0.375

0.3214
0.0536

0.3025
0.0189

0.3000
0.0025

Luego obtenemos con el mtodo de Newton que la velocidad angular es = 0.3 rad/seg, con 3
iteraciones.
4.) Tomamos T ( ) = + f ( )
T ( ) = + 10 (sinh sin ) + 2
Veamos si converge o diverge:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

105

T 0 ( ) = 1 + 10 (cosh cos ) + 2
Entonces, | T 0 (0.3000)| = 1.3 > 1. Luego el mtodo diverge, por lo que nuestra raz es un punto
de repulsin.
5.) Planteamos la iteracin:
n+1 = T (n ) = n + 10 (sinh n sin n ) + (n )2 n + f (n ) ; n N
Introducimos en Octave el siguiente cdigo:
1
2
3
4

w = -0.375
for n=1:6
w=w+10*(sinh(w)-sin(w))+w^2
endfor

Y obtenemos los siguientes resultados:

w = -0.37500
w = -0.41016
w = -0.47194
w = -0.59962
w = -0.95882
w = -2.9807
w = -90.748
Claramente, viendo el resultado de la ltima iteracin podemos concluir, como en el apartado
anterior, que el mtodo diverge.
6.) Nombramos el factor de relajacin a buscar para que el mtodo converja. El esquema es:
= (1 ) + T ( ) = T ( )
Para = 0.3000
T 0 (0.3000) = 10 (cosh (0.3000) cos (0.3000)) + 0.4000 = 1.3
Luego:
=

1
1
=
= 3.333 = 3.333
1 T 0 (0.3)
1 1.3

RESOLUCIN ECUACIONES

CAPTULO 3

106

El esquema relajado es:

n +1

= 4.3333n 3.3333 T (n ) = T (n )

n +1

= 4.3333n 3.333 (n + f (n ))

n +1

= n 3.3333 f (n )

Iteramos dicho proceso hasta que |n n1 | < 102

n
| n n 1 |

0.375

0.2578
0.1172

0.2890
0.0312

0.2992
0.0102

0.3000
0.0008

Y ahora al relajar el mtodo obtenemos un comportamiento razonable.

Ejercicio 3.0.19 I Problema Reynolds-Colebrook


Se considera un flujo turbulento en una tubera, sea R 3500 el nmero de Reynolds
asociado a su dimetro D. Se desea calcular el coeficiente de prdida de carga lineal
utilizando la relacin de Colebrook:


e
2.51
12

= 2 log10
+
3.71 D R 12
donde:

es el coeficiente de prdida de carga lineal o factor de friccin de Moody. Es adimensional.


e es la rugosidad de la tubera.
Para obtener una estimacin inicial de se usar el valor suministrado por la frmula
emprica de Hermann
0 = 0.0054 + 0.395R0.3
El objetivo del ejercicio es calcular aproximadamente para los siguientes valores de R y
de e/D

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

R
104
105
106

107

e/D

0.05
0.003
0.003

Se utilizarn para ello los siguientes mtodos:


1. Mtodo de las aproximaciones sucesivas.
1.1 Efectuar un anlisis previo de la existencia y unicidad de la solucin y de la
convergencia de la sucesin aproximadamente.
1.2 Hacer una estimacin a priori del nmero de iteraciones necesarias para obtener
la solucin con un error e < 106 para cada pareja de valores (R, e/D).
1.3 Resolver la ecuacin.
1.4 Efectuar estimaciones a priori y a posteriori del error en cada caso comparando
los resultados.
1.5 Efectuar una aceleracin de la convergencia por el mtodo 2 de Aitkens en el

caso (R, e/D) = 104 , 0.05 .

1.6 Aplicar el mtodo de Steffensen al caso (R, e/D) = 104 , 0.05 .
2. Mtodo de Wegstein con estimadores iniciales sugeridos en cada caso, por el apartado anterior y test de parada e < 106 comparando el nmero de iteraciones.
3. Mtodo de Newton-Raphson.
3.1 Hallar un intervalo que contenga a la raz con el estimador inicial 0 y en el
que el mtodo de Newton-Raphson converja independientemente del estimador inicial.
3.2 Determinar la raz con el estimador inicial 0 obtenido mediante la frmula
de Hermann, y test de parada e < 106 .
4. Con el mismo estimador inicial que en el apartado 3.2, determinar la raz en el

caso (R, e/D) = 105 , 0.003 utilizando:
4.1 El mtodo Illinois.
4.2 El mtodo Pegasus.

Resolucin
1
1. Para simplificar clculos tomamos x = > 0 con lo que reescribimos la ecuacin del enun
ciado como:


e
2.51
x = 2 log10
+
x
3.71 D
R

RESOLUCIN ECUACIONES

CAPTULO 3

108


Veamos el caso (R, e/D) = 104 , 0.05 . Tenemos:
x = 2 log10 (0.013477 + 0.000251x ) = F1 ( x )
El dominio de la funcin es x > 53.69322709, que es cuando se cumple que lo que hay dentro
del logaritmo en base 10 es estrictamente positivo. Como lmx53.69322709 F1 ( x ) = + tenemos
que la funcin tiene una asntota vertical x = 53.69322709
F10 ( x ) =

0.000218015
< 0 x > 53.69322709
0.013477 + 0.000251x

Luego la funcin es Decreciente, adems, F10 ( x ) = 1, por tanto:


0

F ( x ) < 1 x > 53.69322709
1
Con todo esto concluimos que F1 satisface el teorema del punto fijo, por lo que el Mtodo de
Punto Fijo siempre converge sea cual sea el punto inicial que se tome. Aplicamos la frmula de
Hermann para determinar el mejor punto inicial de partida en el mtodo de Punto Fijo, que viene
en el enunciado del problema:
0 = 0.0054 + 0.395R0.3 0 = 0.03032281
Luego como hemos de determinar x0 :
1
x0 = = 5.742688256 [52.82464143, + [
0
Por tanto, es un valor inicial vlido. Ahora aplicamos Bolzano:
F1 (3) F1 (0 ) < 0 x [3, 0 ] / F1 ( x ) = 0
Luego aplicaremos el mtodo del punto fijo en el intervalo I1 = [3, 0 ] para encontrar nuestra raz
aproximada.

1.2 Para calcular el nmero k de iteraciones necesarias para que k x xk k < e = 106 a priori es
necesario la constante de Lipschitz de F1 en I1 . La constante L viene dada por:
L = max | F10 ( x )| = | F10 (3)| = 0.015320801
x I1

Ahora consideramos:
x0 = 5.742688256

x1 = F( x0 ) = 3.652554646

Utilizamos el siguiente resultado terico:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

109

Funcin F1 ( x ) con (R, e/D ) = 104 , 0.05


y=x

F1 ( x )
x = 3.68318

6
4
2

60

20

40

20

40

60

x = 3.68318

2
Figura 30: Funcin Reynolds Punto Fijo

Corolario 3.0.1 I Nmero Iteraciones


El nmero k de iteraciones necesarias para que k xk x k < e satisface la siguiente desigualdad:


e (1 L )
ln
k x1 x0 k
k
ln L
Vamos sustituyendo nuestros datos:

k x1 x0 k = k3.652554646 5.742688256k = 2.09013361



ln

= 106 (1 0.015320801) = 0.00000984679


0.00000984679
= ln
= ln(0.00000471108)
2.09013361
ln(0.00000471108)
k
3.48643 k = 4
ln(0.015320801)

e (1 L )

e (1 L )
k x1 x0 k

Por tanto, necesitamos al menos 4 iteraciones para que el mtodo de punto fijo tenga un error
menor que e = 106 .
1.3 Vamos a resolverlo aplicando nuestro algoritmo de punto fijo. Con 4 iteraciones vemos que no
son suficientes:

pfijo('-2*log10(0.013477+0.000251*x)','x+2*log10(0.013477+0.000251*x)',3,5.7426
88256,5.742688256,10^(-6),4)

RESOLUCIN ECUACIONES

CAPTULO 3

110

Insuficientes iteraciones
Vemos que son suficientes 5 iteraciones:

pfijo('-2*log10(0.013477+0.000251*x)','x+2*log10(0.013477+0.000251*x)',3,5.
742688256,5.742688256,10^(-6),5)
La solucion es 3.683185769546551, y se ha alcanzado en 6 iteraciones.
Pero esta no es la solucin del problema, hemos obtenido x y nosotros buscamos , sabemos
que:
1
1
1
x =
= 2 =
0.07371447078918

(
x
)
(
3.683185769546551
)2

Por tanto, nuestra solucin aproximada al problema utilizando el mtodo del punto fijo es
0.07371447078918
1.4
Estimacin a priori: Tomando x5 como solucin es:

| x x5 |

L5
| x1 x0 | 1.79179 109
1L

Estimacin a posteriori: Tomando x5 como solucin es:

| x x5 |

L
| x5 x4 | < 1.67893 109
1L

Para obtener los valores de x4 y x5 debes correr el algoritmo de punto fijo, por ello son a posteriori.
1.5
Para solucionarlo te adjunto el cdigo realizado con Octave del mtodo de Aitken:
1
2
3
4
5
6
7
8
9
10
11
12
13
14

function [] =aitken(f,x0,epsilon,max1)
X=zeros(1,max1+1);
Z=zeros(1,max1+1);
X(1)=x0;
X(2)=feval('colebrook1',X(1));
X(3)=feval('colebrook1',X(2));
Z(3)=X(1)-(X(2)-X(1))^2/(X(3)-2*X(2)+X(1));
for k=4:max1+1
X(k)=feval('colebrook1',X(k-1));
denom=X(k)-2*X(k-1)+X(k-2);
if denom==0
'Lo siento, division por cero'
break;
else

RESOLUCIN ECUACIONES

ECUACIONES

15
16
17
18
19
20
21
22

CAPTULO 3

111

Z(k)=X(k-2)-(X(k-1)-X(k-2))^2/denom;
endif
err=abs(Z(k-1)-Z(k));
relerr=err/(abs(Z(k-1))+epsilon);
if (err<epsilon) or (relerr<epsilon)
break;
endif
endfor

23
24
25
26
27
28
29
30
31

printf ('La solucion es %.15f, y se ha alcanzado en %d iteraciones.\n',


X(k), k);
printf('Con error absoluto ');
err
printf('y error relativo ');
relerr
clear;
end
aitken.m

Se ha aplicado en nuestro caso particular con la funcin:


1
2
3

function f = colebrook1(x)
f=x+2*log10(0.013477+(0.000251)*x);
end
colebrook1.m


Consideramos el caso (R, e/D) = 104 , 0.05
Con los datos dados en el problema lo aplicamos a nuestro cdigo con los siguientes resultados:

aitken('colebrook1',5.742688256,1e-7,6)
La solucion es 3.683185877452450, y se ha alcanzado en 5 iteraciones.
Con error absoluto err = 1.8466e-009
y error relativo relerr = 5.0135e-010
Como vemos, obtenemos una solucin muy parecida a la que obtuvimos con el mtodo de punto fijo. Rehaciendo el cambio de variable obtenemos que nuestra aproximacin a la solucin es
0.07371446651
Los otros 2 casos te los dejo como ejercicio para que practiques y entiendas mejor el problema.
1.6
Tan slo hemos de aplicar el mtodo de Steffensen con los datos del problema, dndonos el siguiente resultado:

RESOLUCIN ECUACIONES

CAPTULO 3

112

steffensen('x+2*log10(0.013477+(0.000251)*x)',5.742688256,3,5.742688256,1e7,5)
La solucion es 3.683185770874608, y se ha alcanzado en 2 iteraciones.
Apreciamos que los resultados mediante ste mtodo son muy buenos, tan slo hacen falta 2
iteraciones para obtener lo deseado.

Veamos el caso (R, e/D) = 105 , 0.003 .
1.1
Tenemos:
x = 2 log10 (0.00080862 + 0.0000251x ) = F2 ( x )
Veamos el dominio:
0.00080862 + 0.0000251x > 0 x >

0.00080862
x > 32.21513944
0.0000251

Adems, lmx32.21513944 F2 ( x ) = +, luego F2 ( x ) tiene una asntota vertical de ecuacin x =


32.21513944. Y su dominio es el intervalo [32.21513944, + [.
F20 ( x ) =

0.00002180158
0.0008062 + 0.0000251x

Veamos el dominio de la derivada:


0.0008062 + 0.0000251x = 0 x =

0.0008062
x = 34.34262948
0.0000251

Luego el dominio de la derivada es todos los reales menos 34.34262948. Adems, la derivada
siempre es negativa en el dominio de F2 ( x ), por lo que F2 ( x ) es estrictamente decreciente. Ahora:
F20 ( x ) = 1 0.00002180158 = 0.0008062 + 0.0000251 x =

0.00002180158 0.0008062
0.0000251

x = 31.25093307
Concluimos pues:

| F20 ( x )| < 1 x [31.25093307, + ]


Por tanto, F2 ( x ) cumple el Teorema del punto fijo en cualquier subintervalo cerrado de [31.25093307, +
].
La estimacin inicial por la frmula de Hermann es:
0 = 0.0054 + 0.395

1
1
= 0.017891 x0 = x0 = 7.476231341
1050.3
0

Como x0 [31.25093307, + ], podemos asegurar que este estimador inicial es vlido. Aplicamos Bolzano:
F2 (5) F2 ( x0 ) < 0 x [5, x0 ] / F2 ( x ) = 0

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

113

Por tanto, en el intervalo I2 = [5, x0 ] la funcin F2 tiene una raz.


Funcin F2 ( x ) con (R, e/D ) = 105 , 0.003


y=x
F2 ( x )
x = 6.0354

10

30

20

10

x = 6.0354

10

5
Figura 31: Funcin Reynolds2 Punto Fijo

1.2
Calculemos la constante de Lipschitz de F2 en I2
L = max | F20 ( x )| = | F20 (5)| = 0.02334
x I2

Ahora, x1 = F2 ( x0 ) = 6.003242924, por lo que para que se cumpla | x xk | < e = 106 tenemos:

ln
k

e (1 L )
|| x1 x0 ||
ln L
k


ln

106 (1 0.02334)
||6.003242924 7.476231341||
ln 0.02334

14.22642052
3.786048524 k = 4
3.757586652

Luego necesitamos, al menos, 4 iteraciones para que el mtodo del punto fijo converja.
1.3
Aplicamos el mtodo de punto fijo para x0 = 7.476231341 y e = 106

pfijo('-2*log10(0.00080862+0.0000251*x)','x+2*log10(0.00080862+0.0000251*x)',
5,7.476231341,7.476231341,10^(-6),4)
Insuficientes iteraciones

Como era de esperar, el mtodo diverge para 4 iteraciones, y converge a partir de 5 iteraciones:

RESOLUCIN ECUACIONES

CAPTULO 3

114

pfijo('-2*log10(0.00080862+0.0000251*x)','x+2*log10(0.00080862+0.0000251*x)',
5,7.476231341,7.476231341,10^(-6),5)
La solucion es 6.035360228993012, y se ha alcanzado en 6 iteraciones.
Si deshacemos el cambio de variable, obtenemos que nuestra solucin es 0.02745323999234.
1.4
Estimacin a priori: Tomando x5 como solucin es:

| x x5 |

L5
| x1 x0 | 1.044297 108
1L

Estimacin a posteriori: Tomando x5 como solucin es:

| x x5 |

L
| x5 x4 | < 0.919397 1010
1L

Para obtener los valores de x4 y x5 debes correr el algoritmo de punto fijo, por ello son a posteriori.
2

(R, e/D) = 104 , 0.05
Tenemos x0 = 5.742688256, e = 107 , aplicamos el algoritmo de Wegstein:

wegstein('-2*log10(0.013477+(0.000251)*x)',5.742688256,1e-7,2)
La solucion es 3.683185771155717, y se ha alcanzado en 2 iteraciones.
Con un error de 6.06449e-08
Por tanto, 0.07371447557970

(R, e/D) = 105 , 0.003
Tenemos x0 = 7.476231341, e = 107 , aplicamos el algoritmo de Wegstein:

wegstein('-2*log10(0.00080862+0.0000251*x)',7.476231341,1e-7,3)
La solucion es 6.035360237535613, y se ha alcanzado en 3 iteraciones.
Con un error de 0.000000000000000e+00
Por tanto, 0.02745323991462

(R, e/D) = 106 , 0.003
Tenemos x0 = 9.260717036, e = 107 , aplicamos el algoritmo de Wegstein:

wegstein('-2*log10(0.00080862+0.00000251*x)',9.260717036,1e-7,3)
La solucion es 6.168038299704970, y se ha alcanzado en 2 iteraciones.
Con un error de 1.330255905429567e-10

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

115

Por tanto, 0.02628487260934


3

(R, e/D) = 104 , 0.05
Tenemos la funcin f 1 ( x ) = x + 2 log10(0.013477 + 0.000251 x ), que tiene una raz en el intervalo I1 = [3, 5.742688256] Para tomar un buen estimador lo que haremos es saber en cul de los 2
extremos de I1 la funcin f 1 y su f 00 tienen el mismo signo.
f 10 ( x ) = 1 +
f 100 ( x ) =

0.000218015
0.013477 + 0.000251 x

5.4721765 108

(0.013477 + 0.000251 x )2

< 0; x I1

En ste caso da igual qu extremo de los dos tomemos, porque la segunda derivada siempre tiene
signo negativo, as que tomaremos el ms cercano a la raz; en ste caso nuestro estimador (valor)
inicial va a ser x0 = 3, para aplicar el mtodo de Newton.
3.2

newton('x+2*log10(0.013477+0.000251*x)',
'1+(0.000218015/(0.013477+0.000251*
x))',3,3,5,1e-7,10)
El algoritmo tiene un coste en tiempo de:
Elapsed time is 0.022152 seconds.
La solucion es 3.683185771155717, y se ha alcanzado en 4 iteraciones.

Apreciamos que no hay mucha diferencia con los anteriores mtodos, obtenemos muy buena
aproximacin con a penas iteraciones.
Por tanto, 0.07371447072477.
Te dejo como ejercicios los restantes casos.
4

(R, e/D) = 105 , 0.003
Nuestra funcin es:
f 2 ( x ) = x + 2 log10(0.00080862533 + 0.0000251 x )
Su nica raz esta en el intervalo I2 = [5, 7.476231431].
4.1
Aplicamos el mtodo Illinois:

illinois('x+2*log10(0.00080862533+0.0000251*x)',
5,7.4776231431,1e-9,1e-8,30)

RESOLUCIN ECUACIONES

CAPTULO 3

116

La solucion es 6.035355517748460, y se ha alcanzado en 18 iteraciones.


Con un error de 7.386344e-09
Con f(raiz)=-5.036084e-09

4.2
Hacemos lo mismo pero con el mtodo Pegasus:

alpha = 0.553348381381023
alpha = 0.500032212843228
alpha = 0.500012332434644
alpha = 0.500008620338480
alpha = 0.500004041974341
alpha = 0.500002215625791
alpha = 0.500001090307565
alpha = 0.500000558175124
alpha = 0.500000277980678
alpha = 0.500000139818658
alpha = 0.500000069839944
alpha = 0.500000034971973
alpha = 0.500000017481646
alpha = 0.500000008744077
alpha = 0.500000004371767
alpha = 0.500000002186087
alpha = 0.500000001093026
pegasus('x+2*log10(0.00080862533+0.0000251*x)',
5,7.4776231431,1e-9,1e-8,30)
La solucion es 6.035355531468648, y se ha alcanzado en 17 iteraciones.
Con un error de 1.319402e-08
Con f(raiz)=8.995652e-09

Con el mtodo Pegasus obtenemos resultados parecidos al de Illinois, tan slo hemos ganado una
iteracin. Esto se puede apreciar viendo los valores que hemos obtenido con el mtodo Pegasus,
que son casi todos 0.5 como el que se toma en el mtodo Illinois.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

117

Ejercicio 3.0.20 I Mtodo Savitsky


Mtodo de Savitsky En el clculo de la resistencia hidrodinmica de lanchas planeadoras
por el mtodo de Savitsky, es crucial la estimacin del ngulo de inclinacin del barco en
la direccin de la marcha . Esto es as porque existen frmulas empricas que relacionan
con todas las variables que intervienen en el diseo.
La ecuacin base del mtodo y cuya resolucin es el objetivo del correspondiente algoritmo
es:


1 sin sin( + e)c

f sin + D f ( a f ) = 0
cos
Las variables c, D f dependen de , dependencia que no es expresable mediante funciones
elementales pero que se puede describir a travs de las siguientes relaciones empricas.
c

Df

Cp

CV

LCG C p b

(3.1)

(CF + CF )
cos
1
0.75
2
CV
5.21 2 + 2.39

V
p
gb
V M2 b2

(3.2)
(3.3)

(3.4)

donde y CF se obtienen de las siguientes ecuaciones:


Coeficiente de empuje para ngulo de astilla muerta cero.

CL0 0.0065(CL0 )0.6 CL

= 0

(3.5)

donde CL y CL0 son coeficientes de empuje adimensionalizados relativos a un ngulo de astilla muerta igual a y 0 respectivamente, y donde:
CL =

1
2 2
2 V b

Lnea de friccin de Schoenherr para flujo turbulento.


F (R, CF )

donde R es el nmero de Reynolds.

RESOLUCIN ECUACIONES

0.242

log10 (R CF )
CF

(3.6)

CAPTULO 3

118

Relacin entre la eslora mojada y la manga.


1.1
CL0

0.25
0.012 + 0.0055 2
CV

1 = 0

(3.7)

Existen adems una ecuacin que relaciona el nmero de Reynolds R con las otras variables:
V b
R= M

y una ltima ecuacin que relaciona VM con V


VM

= kV

(3.8)

donde k [0.8, 1.0] se obtiene mediante unas curvas en funcin de , , y .


El resto de las variables se incluye a continuacin con una pequea definicin que permita
situarse correctamente en el problema global y una figura donde se aclara su significado
fsico.
Peso del buque en libras.
D f Componente viscosa de la resistencia (libras). Se supone que acta paralelamente
a la lnea de la quilla.
ngulo de trimado, en grados.
e Inclinacin de la lnea de empuje relativa a la quilla (grados).
CG Centro de gravedad.
LCG Distancia longitudinal del centro de gravedad desde la popa medida a lo largo
de la quilla (pies).
a Distancia entre D f y CG, medida normalmente a D f pies.
T Empuje del propulsor (libras).
N Resultante de las fuerzas de presin actuando normalmente a la base (libras).
f Distancia entre T y CG medida normalmente a la lnea de ejes en pies.
c Distancia entre N y CG medida normalmente a N pies.
ngulo transversal a que da lugar la astilla muerta (grados).
b Manga (pies)
V Velocidad (pies/segundo).
d Calado de la quilla en la popa (pies).

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

119

Enunciado
En un momento del proceso numrico asociado al mtodo de Savisky se debe resolver la
ecuacin:
CL0 0.0065(CL0 )0.6 CL = 0
donde CL0 > 0 es la incgnita y CL > 0, con 0 < < 20 .
El objetivo es analizar la existencia y unicidad de la solucin de la ecuacin, determinndola despus por varios mtodos cuyos comportamientos se compararn.
1. Buscar una escritura conveniente de la ecuacin del tipo:
CL0 = T (CL0 )
que permita demostrar la existencia y unicidad de la solucin para valores estrictamente positivos de CL y .
2. Para qu valores de CL0 ser necesariamente convergente el mtodo de punto fijo
asociado a 1.?
3. Se supone que CL = 0.07 y = 20
a) Resolver la ecuacin por el mtodo de las aproximaciones sucesivas seleccionando un estimador inicial que cumpla con los valores obtenidos en 2. con test
de parada e < 107 .
b) Usar el mtodo de Wegstein con el mismo estimador inicial y test de parada y
comparar el nmero de iteraciones.
c) Determinar un intervalo que contenga a la raz de la ecuacin y usar para determinarla:
El mtodo Illinois.
El mtodo Pegasus.
d) Comprobar el mejor comportamiento del segundo mtodo respecto al primero
y compararlo con el de Wegstein.

Resolucin
1. Vamos a convertir la ecuacin en una de punto fijo, tenemos:
CL0 0.0065(CL0 )0.6 CL = 0
Se consigue fcilmente despejando el primer CL0
CL0
T (CL0 )

RESOLUCIN ECUACIONES

= 0.0065(CL0 )0.6 + CL
= 0.0065(CL0 )

0.6

+ CL

(3.9)
(3.10)

CAPTULO 3

120

Para no liarnos vamos a considerar x = CL0 , = CL , k1 = 0.0065, > 0, de forma que:


3

T, ( x ) = + k1 x 5
Veamos cundo T, ( x ) = 0, es decir; cundo corta al eje OX.

x=

k1

5
3

Observa que x < 0 para , , k1 R+ y T, (0) = . Adems,


lm T, ( x ) = +

x +

Derivamos para estudiar su crecimiento:


0
T,
(x) =

2
3
3
1
k x 5 = k1 2 > 0
5 1
5
x5

0
lm T,
( x ) = +

x 0+

Luego T, ( x ) son todas Estrictamente Crecientes. Volvamos a derivar para estudiar su concavidad.
7
6
00
T,
k x 5 < 0
(x) =
25 1
Por tanto, T, ( x ) son cncavas hacia abajo. Todas parten de (0, ) con tangente vertical.
Dibujamos la grfica de una de las funciones para parmetros particulares.
Caso Particular T0.07, 20 ( x )

y=x

0.2

3
T0.07, 20 ( x ) = 0.07 + 0.13 x 5

0.15

0.1

0.2

0.4

0.6

0.8

Figura 32: Caso particular para (, ) = (0.07, 20)

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 3

121

2. Demostremos la existencia y unicidad de la raz x

| T,0 ( x )| = T,0 ( x ) < 1


x

25

2
2
3
3
k x 5 < 1 k1 x 5 < 1
5 1
5

2
5
3 k1
<
x5 >
x>
3 k1
5

Sustituimos k1 = 0.0065

3 k1
5

5
2

3 k1
3 0.0065
=
= 0.0039 y tenemos:
5
5
5

x > (0.0039 ) 2
Por tanto, la familia de funciones T, son contractivas en el intervalo
5

I1 = [(0.0039 ) 2 , + [
Por tanto, cumplen el Teorema del Punto Fijo, aseguramos pues, que el mtodo del punto
de cada T
fijo converge y que las soluciones x,
, estn contenidas en cualquier intervalo

cerrado contenido en su respectivo I1 .


3. Vamos a tomar, por ejemplo, = 20, = 0.07, puedes probar con cualesquiera otros valores.
Por tanto; I1 = [1.69916872 103 , + [. Tomamos, por ejemplo, el estimador inicial x0 =
0.02 y aplicamos el mtodo:
pfijo('0.07+0.13*x.^(3/5)','x-0.07+0.13*x.^(3/5)',0,1,0.02,1e-7,15)
La solucion es 0.103296123978309, y se ha alcanzado en 11 iteraciones.
Fjate en las grficas de convergencia que aparecen al ejecutar el mtodo, que la velocidad
de convergencia es lineal, no cuadrtica. Por lo que podemos mejorar los resultados, en ste
caso los intentaremos mejorar con el mtodo de Wegstein.
4. Aplicamos el mtodo de Wegstein a la misma funcin:
wegstein('0.07+0.13*x.^(3/5)',0.02,1e-7,15)
La solucion es 0.103296132315191, y se ha alcanzado en 3 iteraciones.
Con un error de 2.890849435527310e-08
Claramente hemos mejorado, hemos necesitado tan slo 3 iteraciones.
5. Vamos a aplicar los mtodos Illinois y Pegasus para
3

f , ( x ) = x 0.07 + 0.13x 5
con delta = 107 y epsilon = 106 , con un nmero mximo de iteraciones de 30, en el
intervalo [0.02, 1]
Mtodo Illinois

RESOLUCIN ECUACIONES

CAPTULO 3

122

illinois('x-0.07+0.13*x.^(3/5)',0.02,1,1e-7,1e-6,30)
La solucion es 0.048773734273443, y se ha alcanzado en 14 iteraciones.
Con un error de 1.083560e-06
Con f(raiz)=-9.110032e-07
Mtodo Pegasus
pegasus('x-0.07+0.13*x.^(3/5)',0.02,1,1e-7,1e-6,30)
alpha = 0.949177854265324
alpha = 0.523590708370158
alpha = 0.523047478743633
alpha = 0.500343770075646
alpha = 0.500205654511487
alpha = 0.500075176684662
alpha = 0.500039349670936
alpha = 0.500018320371238
alpha = 0.500009266335892
La solucion es 0.048775049973069, y se ha alcanzado en 9 iteraciones.
Con un error de 8.832061e-07
Con f(raiz)=7.482342e-07
El mtodo Pegasus es ms rpido que el mtodo de Illinois, ste ltimo es el ms lento de
los 4 que hemos utilizado. El mejor en cuanto a rapidez ha sido el de Wegstein.

RESOLUCIN ECUACIONES

4
4.1

MTODOS PARA
POLINOMIOS

Propiedades De Los Polinomios

Definicion 4.1.1 I Ecuacin Algebraica


Sea el polinomio de grado n P( x ) = an x n + an1 x n1 + + a1 x + a0 R[ x ], se define
Ecuacin Algebraica a la ecuacin P( x ) = 0.

Teorema 4.1.1 I Teorema Fundamental Del lgebra


Todo polinomio P( x ) C[ x ] de grado n 1 tiene al menos una raz real o dos complejas
(la compleja y su conjugada).

Nota 4.1.1 I Galois


Las ecuaciones algebraicas se pueden resolver mediante clculos algebraicos siempre que
P 4, para grados a partir de 5 no se pueden resolver algebraicamente, es necesario
utilizar la Teora de Resolubilidad de Galois. De todas formas, tambin podemos resolver
aproximadamente las races de los polinomios de cualquier grado con los mtodos que
puedes ver aqu, pero lo normal es que no podamos resolver las ecuaciones algebraicas a
partir de grado 5 de forma exacta con los mtodos vistos aqu a .
a Puedes

consultar sobre la teora de Galois en Galois Theory

123

CAPTULO 4

124

Teorema 4.1.2 I Divisin De Polinomios


Sean P( x ), Q( x ) R[ x ] con P Q. Entonces: ! C ( x ), R( x ) R[ x ], C = P Q, R <
Q tales que:
P( x ) = C ( x ) Q( x ) + R( x )
C ( x ) es el Cociente y R( x ) es el Resto.

Definicion 4.1.2 I Polinomio Divisor


Si en el teorema anterior se cumple que R( x ) = 0, se dice que Q( x ) es un Divisor de (o
Divide a) P( x ), y se denota por Q( x )| P( x )

Corolario 4.1.1 I El Resto


Si P( x ) R[ x ] y r R = !C ( x ) R[ x ], C = P 1/P( x ) = ( x r )C ( x ) + P(r )
Luego tenemos que:
P(r ) = 0 ( x r )| P( x )
Se tiene como consecuencia la multiplicidad de races:

Definicion 4.1.3 I Multiplicidad De Una Raz


Sea P( x ) R[ x ], r R. Se dice que r es de Multiplicidad m de P si:
P(r ) = P0 (r ) = P00 (r ) = = P(m1) (r ) = 0, P(m) (r ) 6= 0

Definicion 4.1.4 I MCD Polinomios


Sean P( x ), Q( x ) R[ x ] se define el Mximo Comn Divisor de ambos polinomios al polinomio S( x ) R[ x ] que cumple: S( x )| P( x ), S( x )| Q( x ) Si S1 ( x )| P( x ) S1 ( x )| Q( x )
S1 ( x )|S( x ) S1 ( x ) R[ x ] Lo denotamos por S( x ) = mcd( P( x ), Q( x ))

RESOLUCIN ECUACIONES

ECUACIONES

4.2

CAPTULO 4

125

Mtodo McLaurin De Acotacin De Races

Con el mtodo de McLaurin se pretende determinar un conjunto fuera del cual se puede asegurar
que la ecuacin polinmica P( x ) = 0 no posee races. Consideraremos:

P ( x ) = a n x n + a n 1 x n 1 + . . . + a 2 x 2 + a 1 + a 0 R [ x ] , a n 6 = 0

Teorema 4.2.1 I Teorema Acotacin McLaurin


Si {r1 , r2 , . . . ,rn } C son las n races de P, entonces:

|r k | < 1 + 1 k n
a
donde: = max0kn1 k .
an
Es decir, las races se encuentran en el interior de la bola abierta:
B1+ (0) = {z C : |z| < 1 + }

Corolario 4.2.1 I Corolario Acotacin McLaurin


Si a0 6= 0 y {r1 , r2 , . . . ,rn } C son las n races de P, entonces:

|r k | >

1
1kn
1+

a
donde: = max1kn k .
a0
Luego las races se encuentran en el exterior de la bola cerrada:
B

RESOLUCIN ECUACIONES

1
1 (0) = { z C : | z | 1 + }
1+

CAPTULO 4

126

Nota 4.2.1 I Corona Circular


Si unimos todo ello, y siempre que a0 6= 0, tenemos que las races se encuentran en el
interior de la corona circular:

C=

1
zC :
< |z| < 1 +
1+

Ejemplo 4.2.1 I Acotacin De Races De Un Polinomio


Consideremos la ecuacin polinmica 2x4 + 4x3 59x2 61x + 30 = 0, determinar el
conjunto de acotacin de las races.
Resolucin
Tenemos que los coeficientes del polinomio son:
a4 = 2, a3 = 4, a2 = 59, a1 = 61, a0 = 30 6= 0
Al tener que el trmino independiente es no nulo podemos aseverar que las races se encuentran
en el interior de una corona circular.

= max

Luego: 1 + = 1 +

4 59 61 30
, , ,
2 2 2 2
61
2

63
2

= 310 5,

circular es:

61
= 300 5
2
1
=
1+

= max
1
61
1+
30

2 4 59 61
, , ,
30 30 30 30

61
30

1
30
=
00 329. Luego la corona
91
91
30



C = z C : 00 329 < |z| < 310 5
Lo puedes apreciar en la figura 1:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

= 0.329

127

= 31.5

Figura 1: Corona Circular Acotacin McLaurin

4.3

Separacin De Races Reales

Se trata de saber cuntas races reales tiene un polinomio en el interior de cada intervalo, y que
estas sean nicas en sus respectivos intervalos.

Proposicin 4.3.1 I Separacin Races En Intervalos


a) Si P( a) P(b) < 0 P tiene un nmero impar de races en ] a, b[, contadas con su multiplicidad. (Se debe al Teorema de Bolzano).
b) Si P( a) P(b) > 0 P no tiene races reales en ] a, b[, o bien tiene un nmero par de races
en ] a, b[, contadas con su multiplicidad.

4.3.1. Regla De Los Signos De Descartes

RESOLUCIN ECUACIONES

CAPTULO 4

128

Definicion 4.3.1 I Cambios De Signo


Dada la secuencia {c1 , c2 , . . . ,ck } R, se define el Nmero De Cambios De Signo al nmero total de cambios de signo en cada par consecutivo de elementos eliminando previamente los elementos nulos.

Ejemplo 4.3.1 I Determinamos Cambios De Signo


En la secuencia {1, 0, 2, 3, 4, 0}, eliminando ceros tenemos {1, 2, 3, 4}, su nmero
de cambios de signo es 2 porque hay un cambio de signo entre el primero y el segundo; y
otro entre el tercero y el cuarto.

Teorema 4.3.1 I Regla de los signos de Descartes


Dado P( x ) = an x n + an1 x n1 + + a2 x2 + a1 x + a0 ; an 6= 0, se cumple:
El nmero de races positivas (contando cada raz con su multiplicidad) en P( x ) = 0 es
igual al Nmero De Cambios De Signo en { an , an1 , . . . ,a2 , a1 , a0 } o menor que dicho nmero en un natural par.
Para contar las races negativas basta considerar P( x ) = 0.

Ejemplo 4.3.2 I Hallamos Races


Determinar el nmero de races reales del polinomio P( x ) = x5 + x3 x2 10x + 1
Resolucin
La secuencia de coeficientes del polinomio, eliminando los nulos, es: {1, 1, 1, 10, 1}, que tiene
2 cambios de signo, luego el polinomio tiene 2 races positivas o ninguna. Pero como P(0) P(1) =
1 (8) < 0, el Teorema de Bolzano nos dice que hay al menos una raz en ]0, 1[. Luego por la
Regla de Descartes el polinomio tiene 2 races reales positivas.
Para las negativas consideramos P( x ) = x5 x3 x2 + 10x + 1, con secuencia:

{1, 1, 1, 10, 1}, y que tiene un nico cambio de signo (impar), luego por la Regla de Descartes el polinomio tiene una nica raz real negativa.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

129

En resumen, el polinomio tiene 2 races reales positivas y una negativa, al ser de grado 5 y las
races reales simples, se tiene que tambin posee una raz compleja y su conjugada.

4.3.2. Mtodo De Sturm


Con este mtodo queremos determinar el nmero de races reales distintas y separarlas de la
ecuacin polinmica P( x ) = 0. Consiste en construir una sucesin de polinomios que surge de
calcular el mcd ( P( x ), P0 ( x ))al aplicar el Algoritmo de Divisin de Euclides. Primero tomamos
como primer polinomio de la sucesin a P1 ( x ) = P0 ( x ) y seguidamente aplicamos el algoritmo
de Euclides hasta que lleguemos a una divisin exacta:

P( x ) = P1 ( x ) Q1 ( x ) P2 ( x )

P1 ( x ) = P2 ( x ) Q2 ( x ) P3 ( x )

Pm2 ( x ) = Pm1 ( x ) Qm1 ( x ) Pm ( x )

Pm1 ( x ) = Pm ( x ) Qm ( x )

P2 < P1
P3 < P2

Pm < Pm1

Notar que mcd ( P( x ), P0 ( x )) = Pm ( x )

Definicion 4.3.2 I Secuencia De Sturm


La sucesin { P( x ), P1 ( x ), . . . , Pm ( x )} se denomina Secuencia De Sturm para el polinomio
P.

Nota 4.3.1 I Multiplicidad Polinomios


Se tiene lo siguiente:
a) Si Pm ( x ) = c (cte.) Las races de P son Simples.
b) Si Pm ( x ) = c ( x r1 )m1 ( x r2 )m2 ( x rs )ms Cada rk es raz de P de multiplicidad mk + 1, y adems:
P( x ) = ( x r1 )m1 +1 ( x r2 )m2 +1 ( x rs )ms +1 Q( x ); Q(rk ) 6= 0; 1 k s
Y las races de Q( x ) = 0 son las Races Simples de P( x ) = 0

RESOLUCIN ECUACIONES

CAPTULO 4

130

Notacin
Denotemos por:
N () el nmero de cambios de signo en la sucesin de Sturm { P(), P1 (), . . . ,Pm ()}
N ( a,b)al nmero de races reales distintas de P( x ) = 0, en el intervalo ] a, b[,

SIN CONTAR

LA MULTIPLICIDAD .

N () = lm P( x )
x

Teorema 4.3.2 I Teorema De Sturm


Sea P( x ) = an x n + an1 x n1 + + a2 x2 + a1 x + a0 R[ x ], an 6= 0. Si P( a) P(b) 6= 0 en el
intervalo ] a, b[, entonces:
N ( a, b) = N ( a) N (b)

Corolario 4.3.1 I Nmero Races


Sea P( x ) = an x n + an1 x n1 + + a2 x2 + a1 x + a0 R[ x ], an 6= 0.
a) Si P(0) 6= 0 entonces:

N = N (0) N (+)
+
N = N () N (0)

es el nmero de races positivas de P


es el nmero de races negativas de P

b) Las n races de P son reales y simples N () N (+) = n

Ejemplo 4.3.3 I Determinamos Races


Determinar el nmero de races reales positivas y negativas de:
P( x ) = x4 4x + 1
Resolucin
P0 ( x ) = 4x3 4, para simplificar clculos dividimos por 4, P1 ( x ) = x3 1. Dividimos P( x ) entre
P1 ( x ):

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

131



x4 4x + 1 = x3 1 x + (3x + 1)
Tomamos P2 ( x ) = 3x 1y dividimos P1 ( x ) entre P2 ( x ):


x 1 = (3x 1)

Tomamos P3 ( x ) = 1 en vez de

1 2 1
1
x + x+
3
9
27

26
27

26
para simplificar clculos. La secuencia de Sturm es:
27
n

x4 4x + 1, x3 1, 3x 1, 1

Realizamos la tabla de signos:


x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

N (x)

0
+

+
+
+

+
+
+

2
2
0

Luego tenemos que:

N = N () N (0) = 0

N+ = N (0) N (+) = 2
Como N () N (+) = 2 0 = 2, todas sus races son simples.
Luego P tiene 2 races positivas, ninguna negativa y 2 complejas conjugadas por ser de grado 4
todas simples.

4.3.3. Mtodo de Sturm


Combinando el teorema de Sturn y la biseccin obtenemos el mtodo de Sturm para poder separar
en intervalos las races de un polinomio. Supongamos que todas las races estn en ] a, b[, dicho
intervalo lo podemos tomar como ] a, b[=] 1 , 1 + [, siendo 1 + la cota de McLaurin.
a) Si N ( a) N (b) = 1, proceso terminado.
a+b
y los intervalos ] a, c[
2
N (c) N (b). Si alguno es mayor que 1 se le repite el proceso.

b) Si N ( a) N (b) > 1, se toma c =

]c, b[. Calcular N ( a) N (c) y

Se llega as a tantos intervalos como races reales y distintas tenga el polinomio, intervalos con
slo una raz en cada uno de ellos.

RESOLUCIN ECUACIONES

CAPTULO 4

132

Ejemplo 4.3.4 I Separamos En Intervalos


Separar en intervalos las races de:
P( x ) = x4 4x + 1
Resolucin
n
o
= max 11 , 41 , 11 = 4 1 + = 5 es la cota de McLaurin. Para las races positivas consideramos ]0, 5[, por el Teorema de Sturm sabemos que ste intervalo contiene las 2 races positivas.
N (0) N (5) = N (0) N (+) = 2 0 = 2 > 1 c =

a+b
= 2.5
2

Luego tenemos ]0, 2.5[, ]2.5, 5[


N (0) N (2.5) = 2 0 = 2 > 1 y N (2.5) N (5) = 0 0 = 1 Las 2 races positivas estn en
]0, 2.5[
0 + 2.5
= 1.25 Obtenemos ]0, 1.25[, ]1.25, 2.5[
2
N (0) N (1.25) = 2 1 = 1 y N (1.25) N (2.5) = 1 0 = 1

Calculamos c2 =

Luego una raz positiva est en ]0, 1.25[ y la otra en ]1.25, 2.5[
Al no haber raz negativa no consideramos el intervalo abierto ] 1 , 0[=] 6, 0[

4.4

Polinomios Con Coeficientes Racionales

Consideremos el polinomio con coeficientes racionales:


P ( x ) = a n x n + a n 1 x n 1 + . . . + a 2 x 2 + a 1 + a 0 Q [ x ] , a n 6 = 0
Antes de pasar adelante con la seccin hay que decir que dicho polinomio lo podemos simplificar
a coeficientes enteros. Tenemos
ai =

pi
; 0 i n; pi Z, qi N
qi

Luego podemos considerar el mnimo comn mltiplo de todos los denominadores:


m = mcm (qn , qn1 , . . . ,q1 , q0 )

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

133

Obtenemos el nuevo polinomio en los enteros:

Q( x ) = bn x n + bn1 x n1 + . . . + b2 x2 + b1 + b0 Z[ x ], bn 6= 0; bi = m

pi
Z; 0 i n
qi

Se verifica que Q( x ) = mP( x ), luego P( x ) = 0 y Q( x ) = 0 son ecuaciones equivalentes. Luego en


toda la seccin podemos considerar, sin prdida de generalidad:
P ( x ) = a n x n + a n 1 x n 1 + . . . + a 2 x 2 + a 1 + a 0 Z [ x ] , a n 6 = 0

Proposicin 4.4.1 I Divisores Trmino Independiente


Si r Z / P(r ) = 0 r | a0

Proposicin 4.4.2 I Estudio Races Racionales En Polinomios


p
Q mcd( p,q) = 1 / P(r ) = 0 p| a0 y q| an
q
Si an = 1 sus posibles races racionales se reducen a las enteras.
Si r =

Ejemplo 4.4.1 I Resolvemos Polinomio De Grado Cuatro


Resolver 10x4 11x3 41x2 + x + 6 = 0
Resolucin
Tenemos que P( x ) = 10x4 + 11x3 41x2 x + 6, las secuencias de coeficientes son:

{10, 11, 41, 1, 6} 2 cambios de signo

{10, 11, 41, 1, 6} 2 cambios de signo


Aplicando la Regla de Descartes nuestro polinomio P puede tener:

RESOLUCIN ECUACIONES

CAPTULO 4

134

2 races positivas o ninguna


2 races negativas o ninguna
Vamos a acotar las races con el mtodo de McLaurin buscando las cotas de la corona circular:


11 41 1 6
41
41
51
= max
, ,
,
=
1+ = 1+
1+ =
= 5.1
10 10 10 10
10
10
10


10 11 41 1
41
1
1
1
6
= max
, , ,
=

=
0.127
41
6 6 6 6
6
1+
1+
47
1+
6
Por tanto, las races se encuentran en la corona circular:
C = {z C : 0.127 < |z| < 5.1}
Veamos si el polinomio tiene races enteras, de a0 = 6 sus divisores y candidatos a ser races
enteras son:

{1, 2, 3, 6}
Como 6
/ C, ya sabemos que no son races enteras del polinomio, adems; de los que pertenecen a C, como P (1) 6= 0, P (2) 6= 0, P (3) 6= 0, concluimos que nuestro polinomio no tiene
races enteras.
Ahora hemos de ver si el polinomio posee races racionales, los divisores de a4 = 10 son:

{1, 2, 5, 10}
Para saber cules son nuestros candidatos a races racionales lo que hemos de hacer es dividir
cada uno de nuestros candidatos de las races enteras por cada uno de los divisores de a4 = 10.
Simplificando fracciones, quitando las repetidas y las fracciones que nos dan enteros tenemos que
nuestro conjunto de candidatos a ser races racionales del polinomio son:


1
1
1
2
3
3
3
6
, , , , , , ,
2
5
10
5
2
5
10
5

1
Como

/ C, podemos decir que no son races racionales del polinomio. De los restantes que
10
s pertenecen a C tenemos:






 




1
1
2
3
3
3
P
6= 0, P
6= 0, P
6= 0, P
6= 0, P
= 0, P
6= 0,
5
2
2
5
 2 
 5 
3
6
P
6= 0, P
6= 0
10
5

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

Luego la nica raz racional de P es

135



3
3
. Si dividimos P( x )| x +
, por la Regla de Ruffini:
2
2
10

11 41 1

15

39

10

26

3
2

Con lo cual tenemos que podemos factorizar el polinomio como:





3  3
P( x ) = 20 x +
5x 13x2 x + 2
2
Ahora trabajamos con Q( x ) = 5x3 13x2 x + 2. Los divisores de a0 = 2 son {1, 2} y los de
a3 = 5 son {1, 5}.


1
2
2
Luego los candidatos a races racionales de Q son ,
. De ellos slo
es raz racional
5
5
5
de Q.
Notar que Q NO tiene races enteras porque P no las tiene, ya que si Q tuviese races enteras stas
seran a su vez races enteras de P, pero eso ya hemos comprobado que no es cierto.


2
Si hacemos Q( x )| x +
por Ruffini obtenemos:
5

2
5

13 1

15

Ahora factorizamos Q como:





2  2
Q( x ) = 25 x +
x 3x + 1
5
2
Finalmente, podemos hallar
las races de x 3x + 1 por el mtodo tradicional de la frmula de
b b2 4ac
segundo grado x =
y obtenemos:
2a
!
!


2
3+ 5
3 5
Q( x ) = 25 x +
x
x
5
2
2

3
Como tenamos que P( x ) = 20 x +
2
ner:


3
P( x ) = 500 x +
2

RESOLUCIN ECUACIONES



Q( x ), si sustituimos Q( x ) por lo que acabamos de obte-

2
x+
5

!
3+ 5
x
2

!
3 5
x
2

CAPTULO 4

136

Luego las races son:

3
2
3+ 5
3 5
r1 =
, r2 =
, r3 =
, r4 =
2
5
2
2
Como r3 y r4 son irracionales viene ahora muy bien aproximarlas mediante alguno de los mtodos iterativos del captulo anterior: biseccin, regula-falsi, punto fijo, etc. Adems, para aplicar
estos mtodos no los aplicaremos directamente al polinomio P, para simplificar clculos los aplicaremos directamente al polinomio x2 3x + 1.

Ejemplo 4.4.2 I Otro Ms De Hallar Races


Resolver la ecuacin P( x ) = 0 siendo
P( x ) = x4 4x3 x2 + 12x 6
Resolucin
Primero aplicamos la regla de los signos de Descartes, tenemos P( x ) = x4 + 4x3 x2 12x 6,
obtenemos las secuencias de coeficientes:

{1, 4, 1, 12, 6}
{1, 4, 1, 12, 6}

3 cambios de signo
1 cambio de signo

Luego nuestro polinomio tiene 3 1 races reales positivas y 1 raz real negativa. Seguidamente
acotamos las races por el mtodo de McLaurin:

= max {4, 1, 12, 6} = 12 1 + = 13




1 2 1
1
1
= max
, , ,2 = 2
=
6 3 6
1+
3

Por tanto, las races se encuentran en el interior de la corona circular:



C=

1
zC :
< |z| < 13
3

Veamos si posee races enteras, los divisores de a0 = 6 son: {1, 2, 3, 6}. Sustituyendo
en el polinomio tenemos que ninguna de ellos es raz. Luego, el polinomio no tiene races enteras.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

137

Pasemos a ver si tiene races racionales, los divisores de a4 = 1 son 1, luego sus posibles races
racionales se reducen a races enteras, pero ya sabemos que no tiene; luego el polinomio tampoco
tiene races racionales. Por tanto, sus races slo pueden ser irracionales o complejas.
El siguiente paso es hacer la separacin de races, vamos a aplicar el algoritmo de Euclides hasta
obtener el mximo comn divisor de P y P0

P0 ( x )



= 4x3 12x2 2x + 12 = 2 2x3 6x2 x + 6

P1 ( x )

= 2x3 6x2 x + 6

Si dividimos P( x )| P1 ( x ) obtenemos:


P( x )

P1 ( x )

x 1

2 2



7
17
+ x2 + x 3
2
2

= 7x2 17x + 6

P2 ( x )

Pasamos a hacer la divisin P1 ( x )| P2 ( x )

P1 ( x )

P3 ( x )

2
8
x
7
49
269x 342
P2 ( x )



269
342
+
x+
49
49

Y finalmente P2 ( x )| P3 ( x )


P2 ( x )

P3 ( x )

P4 ( x )

= 1

7
2179
x
269
72361

311052
72361

As pues, nuestra secuencia de Sturm es:


n

x4 4x3 x2 + 12x 6, 2x3 6x2 x + 6, 7x2 17x + 6, 269x 342, 1

Realizamos la tabla de signos de Sturm:


x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

P4 ( x )

N (x)

0
+

+
+

+
+

+
+
+

+
+
+

4
3
0

RESOLUCIN ECUACIONES

CAPTULO 4

138

Aplicando el Teorema de Sturm podemos concluir:

N = N (0) N (+) = 3
+
N = N () N (0) = 1
Luego nuestro polinomio tiene 3 races positivas y una raz negativa. Seguidamente aplicamos el
mtodo de Sturm (NO el Teorema), donde los extremos van a ser todos los divisores de a0 = 6
junto con el 0 del Teorema de Sturm:
x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

P4 ( x )

N (x)

-6
-3
-2
-1
0
1
2
3
6

+
+
+
+
+

+
+
+
+

+
+
+
+
+
0
+
+

+
+
+

+
+
+
+
+
+
+
+
+

4
4
4
3
3
2
1
1
0

Concluimos que el polinomio tiene exactamente 1 raz en cada intervalo:

] 2, 1[ , ]0, 1[ , ]1, 2[ , ]3, 6[


Con todo esto no hemos podido saber cules son las races, slo hemos sabido por dnde caen, al
ser irracionales deberemos aplicar algn mtodo iterativo, por ejemplo el de Newton. Dibujemos
la funcin con Octave primero para determinar los puntos iniciales del mtodo de Newton, en la
figura 2
Luego viendo la figura podemos tomar como valor inicial del mtodo de Newton los siguientes
valores:
x0 {2, 0, 2, 6}
Y si aplicamos en cada uno de ellos el mtodo de Newton obtenemos las siguientes races aproximadas:


10 732050807 . . . , 00 585786437 . . . , 10 732050807 . . . , 30 414213562 . . .

Si quieres las races exactas para comparar lo puedes hacer con el programa wxMaxima
con el siguiente comando:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

139

Polinomio De Cuarto Grado


f ( x ) = x4 4x3 x2 + 12x 6

10

10

20
Figura 2: Polinomio f ( x ) = x4 4x3 x2 + 12x 6

(%i1) solve([x^4-4*x^3-x^2+12*x-6], [x]);

Dando como soluciones:


h

x = 2

2, x =

i
2 + 2, x = 3, x = 3

Ejemplo 4.4.3 I Ejemplo Deflacin


Encontrar una aproximacin de las races de la ecuacin algebraica:
2x4 x3 + 2x2 7x + 3 = 0
Resolucin

P( x ) = 2x4 x3 + 2x2 7x + 3
P( x ) = 2x4 + x3 + 2x2 + 7x + 3
Tenemos las secuencias de coeficientes:

RESOLUCIN ECUACIONES

CAPTULO 4

P( x )
P( x )

140

{2, 1, 2, 7, 3} 4 cambios de signo


0 cambios de signo

{2, 1, 2, 7, 3}

Luego por la regla de signos de Descartes el polinomio no tiene races negativas porque P( x )
no tiene cambios de signo, y al ser de grado 4 puede tener 4, 2 0 races positivas.
Apliquemos el mtodo de McLaurin para acotar las races:

3
= max
,
2

2
= max
,
3


7
1
7
7
9
, 1, , = 1 + = 1 + = = 40 5
2
2
2
2
2

1 2 7
7
1
1
3
, , , =
=
=
= 00 3
7
3 3 3
3
1+
10
1+
3

Luego las races se encuentran en el interior de la corona circular:



C=

3
9
zC :
< |z| <
10
2

Los divisores positivos de a0 = 3 son {1, 3}. Como P(1) 6= 0, P(3) 6= 0, se tiene que el polinomio
no tiene races enteras.
Los
positivos de a4 = 2 son {1, 2}, sus candidatas a races racionales positivas son
 divisores

1 3
,
. De aqu tenemos:
2 2
P

 
 
1
3
= 0, P
6= 0
2
2

1
Luego es una raz racional positiva del polinomio. Por lo que por la Regla de Ruffini vamos a
2
factorizar el polinomio:
2
1
2

1 2 7




1  3
P( x ) = 4 x
x +x3
2
Seguimos trabajando con Q( x ) = x3 + x 3, que no tiene races negativas por no tenerlas P. La
secuencia de signos es {+, + ,}, luego slo hay un cambio de signo, por lo que slo posee una
raz positiva por la regla de signos de Descartes. As pues, P tiene 2 races positivas, ninguna

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 4

141

negativa y 2 races complejas. Q no posee races enteras porque P no tampoco las tiene. Como en
Q tenemos que a3 = 1 tambin se tiene que Q no tiene races racionales, en consecuencia, P slo
tiene 1 raz racional. Por tanto, la raz real que nos falta averiguar de P sabemos que es una raz
irracional positiva; y la vamos a averiguar de Q, por ser ms sencillo. Aplicando el Teorema de
Bolzano:
Q(1) Q(2) = 1 7 < 0 r ]1, 2[ / Q(r ) = 0
Luego la nica raz positiva de Q se encuentra en el intervalo ]1, 2[. Antes de pasar a calcular las
otras 2 races complejas conjugadas hemos de calcular por un mtodo iterativo sta raz irracional de Q, si aplicamos el Mtodo de Newton con x0 = 2 obtenemos que la raz aproximada es
10 21341166276223. Esto que acabamos de hacer es la DEFLACIN , es decir; en cada paso vamos
reduciendo el polinomio de partida de grado, y si vemos que la raz o races del nuevo polinomio
reducido de grado son irracionales las calculamos por medio de un mtodo iterativo de forma
aproximada.
Por tanto, Q queda factorizado de forma aproximada como:

e ( x ), Q
e=2
Q( x ) = x 10 21341166276223 Q
Con un poco de paciencia, por la Regla de Ruffini obtenemos de forma aproximada:
e ( x ) = x2 + 10 21341166278x + 20 47236765561
Q
Como es de grado 2 basta aplicar la frmula de todos conocida para ecuaciones de segundo grado
y obtener que las aproximaciones a las 2 races complejas conjugadas son:
i ' 00 606705831781 10 45061217736i

RESOLUCIN ECUACIONES

EJERCICIOS RESUELTOS
POLINOMIOS

Ejercicio 5.0.1 I Polinomio Grado Tres


Calcular las races de la ecuacin x3 x2 + 3x = 3
Resolucin
Tenemos el polinomio P( x ) = x3 x2 + 3x 3, con P( x ) = x3 x2 3x 3. Las secuencias
de signos son:

P( x )
P( x )

{1, 1, 3, 3} 3 cambios de signo


{1, 1, 3, 3} 0 cambios de signo

Luego por la regla de signos de Descartes el polinomio no tiene races negativas, y puede tener 3
1 raz positivas.
Los divisores positivos de a0 = 3 son {1, 3}, como P(1) = 0, P(3) = 24 6= 0, concluimos que 1 es
una raz entera del polinomio. Como a1 = 1, sabemos que no tiene races racionales. Aplicamos
Ruffini para factorizar el polinomio:

1 1 3 3
1 0 3
1 0 3 0

Luego factorizamos el polinomio como:





 

P( x ) = ( x 1) x2 + 3 = ( x 1) x 3i x + 3i

143

CAPTULO 5
As pues todas las races son: 1,

144

3i, todas ellas simples.

Una cosa importante que debes saber es que no tenemos porqu aplicar todos los mtodos si
hay un camino ms corto, en este ejemplo omitimos McLaurin y Sturm. Incluso podramos haber
omitido los pasos anteriores y haberlo solucionado directamente por la Regla de Ruffini, ya que 1
es uno de los primeros candidatos a ser raz cuando hacemos Ruffini por tanteo.
Otra cosa, las dos races conjugadas que hemos obtenido su parte imaginaria es un nmero irracional, con lo que podramos haber obtenido sus aproximaciones por un mtodo iterativo como
el mtodo de Mller, pero en ste caso es innecesario porque obtenemos las races exactas.

Ejercicio 5.0.2 I Polinomio Grado Trece


Hallar las races, determinando su multiplicidad, de x13 x11 + x2 1 = 0
Resolucin
Consideramos P( x ) = x13 x11 + x2 1, los candidatos a races enteras son 1 y -1. No tiene races
racionales por ser polinomio mnico 1 . Como P(1) = P(1) = 0 , tenemos que 1 y -1 son races
del polinomio. Factorizemos el polinomio aplicando la Regla de Ruffini:
1 0 1
1
1
1 1
0
1 1 0
1 0
0
1

0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1

0
1
1
1
0

1
1
0

Por tanto, el polinomio queda factorizado como:




P( x ) = ( x 1) ( x + 1) x11 + 1
Vamos a calcular las races de x11 + 1 = 0 x11 = 1 = 1 = | 1| . Pero esto es calcular
las races onceavas (undcimas) de -1, para ello debemos recordar que todas ellas estn dentro de
una circunferencia formando un polgono de 11 lados y radio el mdulo de -1, que es 1. Es decir:

z = re = r (cos + i sin ) , r > 0, [0, 2 [ zk =

+ 2k
n
re
; 0 k n1
i

En nuestro caso particular, n = 11 y las races son:


1 Un

polinomio mnico es aquel polinomio en el que su coeficiente director es 1. El coeficiente director es el coeficiente
que acompaa al monomio de mayor grado.

RESOLUCIN ECUACIONES

ECUACIONES

k =

11

CAPTULO 5

145

+ 2k
(2k + 1)




i
(2k + 1)
(2k + 1)
11
11
1e
=e
= cos
+ i sin
; 0 k 10
11
11
i

Notar que para k = 5 obtenemos 5 = 1. Por tanto, -1 es una raz de multiplicidad doble del
polinomio P.

2
1

4
0

5
10
6
9
7

Figura 1: Races Unidad De x11 + 1 = 0

Te pongo como extra el cdigo Octave para dibujar el polgono regular de 11 lados que se forma
con dichas races.
1
2
3
4

%
%
%
%

PARA QUE FUNCIONE HAY QUE TENER INSTALADO EL PAQUETE GEOMETRY DE OCTAVE-SOURCEFORGE
ESTA EN LA WEB http://octave.sourceforge.net/geometry/index.html
ANTES DE EJECUTAR EL CODIGO DESDE OCTAVE EJECUTA LA ORDEN
pkg load all

5
6
7
8
9
10
11

clear;
clf();
hold on; axis equal;
axis ([-1.5, 1.5,-1.5,1.5], 'square');
grid;
n=11;

12

RESOLUCIN ECUACIONES

CAPTULO 5

13
14
15

146

for k =1:11
h(k)=0;
end

16
17
18
19
20
21
22
23
24
25

for k=0:10
x(k+1)=cos(((2*k+1)*pi)/n);
y(k+1)=sin(((2*k+1)*pi)/n);
if(x(k+1)>0 && y(k+1)>0 || x(k+1)>0 && y(k+1)<0)
h(k+1) = drawLabels(x(k+1)+0.1,y(k+1)+0.1,['\omega_' num2str(k)]);
else
h(k+1) = drawLabels(x(k+1)-0.25,y(k+1)+0.1,['\omega_' num2str(k)]);
end
end

26
27
28
29

for k = 8:11
delete(h(k));
end

30
31
32
33
34

drawLabels(x(8)-0.25,y(8),'\omega_{7}');
drawLabels(x(9),y(9)-0.1,'\omega_{8}');
drawLabels(x(10),y(10)-0.1,'\omega_{9}');
drawLabels(x(11)+0.1,y(11),'\omega_{10}');

35
36
37
38
39

p1 = [1 0];
p2 = [0 1];
p3 = [-1 0];
origin = [0 0];

40
41

circle = createCircle(p1, p2,p3);

42
43
44

drawCircle (circle,'r','LineWidth',2);
patch(x,y,'b','EdgeColor','b','Marker','o','MarkerFaceColor','flat','MarkerSize',8,'
LineWidth',2,'FaceAlpha',0.15);

45
46
47
48
49

for k=0:10
edge = [0 0 x(k+1) y(k+1)];
drawEdge(edge, 'linewidth', 1.15,'color','b');
end

50
51

title('Raices onceavas de la unidad');

raicesunidad.m

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

147

Ejercicio 5.0.3 I Secuencia Sturm


Dados a > 0, b R, se considera el polinomio
P( x ) = x3 bx2 + ax ab
a) Encontrar una relacin entre a y b que garantice que la secuencia de Sturm de P tenga
slo tres trminos { P0 ( x ), P1 ( x ) P2 ( x )}.
b) Decidir, en el caso en que a y b verifiquen la relacin anterior, el nmero de races reales
y distintas de P. Son simples?
Resolucin
Tomamos P1 ( x ) = P0 ( x ) y dividimos P( x ) entre P1 ( x ), obteniendo:

P( x ) =

x
b

3 9

P1 ( x ) +


i
2 h
3a b2 x 4ab
9


a) Para que la secuencia de Sturm tenga slo tres trminos se ha de cumplir que 3a b2 x 4ab
sea un polinomio constante y ello se cumple si 3a b2 = 0. Es decir:

3a b2 = 0 b2 = 3a b = 3a
De esta forma la secuencia de Sturm es:


x3 bx2 + ax ab, 3x2 2bx + a,

8ab
9

b) Distinguimos dos casos:

CASO I: b = 3a
x

P( x )

P1 ( x )

P2 ( x )

N (x)

0
+

+
+
+

+
+
+

1
1
0

N = N () N (0) = 0

N+ = N (0) N (+) = 1
Por tanto, P tiene una raz positiva y dos complejas conjugadas, porque P = 3 y las races de P
son simples.

RESOLUCIN ECUACIONES

CAPTULO 5

148

CASO II: b = 3a

P( x )

P1 ( x )

P2 ( x )

N (x)

0
+

+
+

+
+
+

2
1
1

N = N () N (0) = 1

N+ = N (0) N (+) = 0
Ahora P tiene una raz negativa y dos complejas conjugadas por el mismo razonamiento de antes.
En ambos casos tenemos:

P (b) = b3 b3 + ab ab = 0
Luego b es raz del polinomio, aplicando Ruffini:

ai

ai

Por lo que: P( x ) = ( x b) x

b
a ab
b
0
ab
0
a
0

ai a

ai
0

ai
0





ai x + ai , luego las races del polinomio son b, ai

Ejercicio 5.0.4 I Polinomio Grado Nueve


Consideremos el polinomio
P( x ) = 9x3 + 9x2 + 9x +
a) Estudiar, en funcin del parmetro , el nmero de races (reales y complejas) de la
ecuacin P( x ) = 0. Para qu valores de las races de P son mltiples? Hallar todas las
races de P para esos valores de .

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

149

b) Fijado = 3 encontrar un intervalo donde pueda aplicarse el mtodo de Newton para


calcular una raz negativa de P. Determinar los primeros trminos de la sucesin definida
por dicho mtodo.
Resolucin

a) P0 ( x ) = 27x2 + 18x + 9 = 9 3x2 + 2x + P1 ( x ) = 3x2 + 2x +
Dividiendo P( x ) entre P1 ( x ) obtenemos:
P( x ) = (3x + 1) P1 ( x ) + 2 (3 1) x
Luego tomamos P2 ( x ) = (1 3) x si 6=

1
. Dividimos P1 ( x ) entre P2 ( x ):
3

P1 ( x ) =

3x + 2
P2 ( x ) +
1 3

Distinguiremos casos segn el valor de


i) Si =

1
{ P( x ), P1 ( x )} es la secuencia de Sturm, y tenemos:
3


1
1 2
P1 ( x ) = 3x + 2x + = 0 P1 ( x ) = 9 x +
3
3
2

 


1
1 3
1
1
Pero P
= 0 P( x ) = 9 x +
. Luego para = tenemos que es una raz triple
3
3
3
3
del polinomio P
ii) Si = 0 { P( x ), P1 ( x ), P2 ( x )} es la secuencia de Sturm. Tenemos P2 ( x ) = (1 3) x =
(1 3 0) x = x. Tenemos r1 = 0 es raz de P2 ( x ), adems:
P1 ( x ) = 3x2 + 2x = x (3x + 2), luego r1 = 0 es raz de P1 ( x ). Pero adems:
P( x ) = 9x3 + 9x2 = 9x2 ( x + 1), luego r1 = 0 es raz doble de P( x ) y r2 = 1 es raz simple de
P ( x ).


1
iii)
/ 0,
{ P( x ), P1 ( x ), P2 ( x ), P3 ( x )} es la secuencia de Sturm, con P3 ( x ) = constan3
te, luego en ste caso todas las races de P son simples. Distinguimos 3 casos:
j) Si < 0, obtenemos la siguiente tabla:
x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

N (x)

0
+

+
+

0
+

+
+
+

3
1
0

RESOLUCIN ECUACIONES

CAPTULO 5

150

N = N () N (0) = 2

N+ = N (0) N (+) = 1
Luego por la regla de signos P tiene dos races positivas y una negativa (recuerda que todas son
simples).
jj) Si 0 < <

1
, tenemos:
3
x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

N (x)

0
+

+
+

+
+
+

0
+

2
1
1

N = N () N (0) = 1

N+ = N (0) N (+) = 0
Luego por la regla de signos P tiene una raz negativa y las otras son complejas conjugadas.
jjj) Si >

1
, tenemos:
3
x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

N (x)

0
+

+
+

+
+
+

+
0
+

2
1
1

N = N () N (0) = 1

N+ = N (0) N (+) = 0
Luego por la regla de signos P tiene una raz negativa y las otras son complejas conjugadas.

1
b) Si = 3 >
Luego por jjj) del apartado a) tenemos que P tiene una raz negativa y 2
3
complejas conjugadas.

P( x ) = 9x3 + 9x2 + 9 3x + 3
Notar que 2 de los coeficientes de P son irracionales, luego no podemos aplicar los anteriores
mtodos de separacin de races.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5


0 ( x ) = 9 3x2 + 2x + 3 > 0,

P00 ( x ) = 18 (3x + 1) =

151

xR

< 0,

= 0,

> 0,

1
3
1
x=
3
1
x>
3
x<




1
1
0
00
Como P
< 0 < P(0) y P ( x ) > 0 y P ( x ) > 0, x , 0 la sucesin del mtodo de
6
6
Newton converge de forma cuadrtica a la raz negativa de P con valor inicial x0 = 0.

9xn3 1 + 9xn2 1 + 9 3xn1 + 3



x n = x n 1
; n N

9 3xn2 1 + 2xn1 + 3
Si aplicas el mtodo de Newton, con 5 iteraciones obtienes la raz negativa aproximada r1
0.11822700646197

Ejercicio 5.0.5 I Polinomio Coeficientes PI


Calcular las races del polinomio:
P( x ) = 2x5 x4 8x3 + 4x2 + 8x 4
Resolucin

Calculemos la secuencia de Sturm:

P1 ( x ) =

P0 ( x )
= 5x4 2x3 12x2 + 4x + 4
2

Dividimos P( x ) entre P1 ( x ) :

P( x ) =

2x

5
25


P1 ( x ) +





2   2
+ 40 x3 + 24x2 + 2 2 + 40 x 48
25

Por tanto, tomamos:






P2 ( x ) = 2 + 40 x3 24x2 2 2 + 40 x + 48
Dividimos P1 ( x ) entre P2 ( x ) :

RESOLUCIN ECUACIONES

CAPTULO 5

P1 ( x ) =

2 20 2
5
x
+
2
2 + 40
( 2 + 40)

!
P2 ( x ) + 50

152

4 16 2 + 64 

( 2 + 40)

2 x2

As pues, tenemos:

P3 ( x ) = x2 2

Dividimos P2 ( x ) entre P3 ( x ) :

P2 ( x ) =





2 + 40 x 24 P3 ( x )

Luego P4 ( x ) = 0. Luego la secuencia de Sturm es: { P( x ), P1 ( x ), P2 ( x ), P3 ( x )}






Sabemos que mcd ( P( x ), P0 ( x )) = P3 ( x ) = x2 2 = x 2 x + 2 . Luego 2 son races


 
dobles de P( x ) porque P 2 = 0. Aplicamos Ruffini:

2
2

2
/2

2 2

2 2

2 2

4 2

2 2

2 2

2 2

4 2

4 2

8 2

4 2 2

4 + 2

2
0

4 2 2

4 2 + 2

4 2 4
2
2
0

8 + 2 2

2 2

2 2
0

4
4
0

Factorizamos el polinomio P( x ) :

 
 

P ( x ) = 2 x 2 2 x + 2 2 x
2

Luego tenemos como races de P( x ) : 2 , ambas son races dobles y , que es raz simple.
2

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

153

Ejercicio 5.0.6 I Polinomio Grado Cinco


Aproximar las races reales de la ecuacin algebraica:
2x5 100x2 + 2x 1 = 0
Resolucin
Definimos P( x ) = 2x5 100x2 + 2x 1, luego P( x ) = 2x5 100x2 2x 1. Tenemos las
secuencias de signos:

P( x )
P( x )

{2, 100, 2, 1} 3 cambios de signo


{2, 100, 2, 1} 0 cambios de signo

Por el mtodo de Descartes sabemos que no hay races negativas y puede tener 1 3 races positivas. Acotemos las races:

1
, 1, 50
2

= 50 1 + = 51

= max

= max {2, 100, 2} = 100

1
1
=
1+
101

Luego las races estn en la corona circular:



C=

1
zC :
< |z| < 51
101

Esta acotacin nos da muy poca informacin porque el tamao de la corona es demasiado grande.
No tiene races enteras porque
P(1) = 97 6= 0. Como a5 = 2, el nico candidato a raz racional
 
1
1
es 2 , que no lo es porque P
6= 0. Luego las races son o irracionales o complejas, pero al ser
2
de grado 5 (impar) podemos asegurar que existe al menos una raz irracional positiva. Realicemos
la separacin de races.
P0 ( x ) = 10x4 200x + 2 = P1 ( x )
Antes de empezar a hacer las divisiones polinomiales, como van a ser muy engorrosas hacerlas
a mano las vamos a hacer con el comando deconv de Octave. Lo que debes saber es que todo
polinomio lo podemos expresar como el producto matricial de una matriz fila formada por los

RESOLUCIN ECUACIONES

CAPTULO 5

154

coeficientes del polinomio y una matriz columna con sus correspondientes monomios de la incgnita. Por ejemplo, para P( x ) lo podemos expresar como:

x5
4
x


x3

1
x2


x
1


P( x ) = 2x5 100x2 + 2x 1 = 2

100 2

Para el comando deconv slo necesitamos el de los coeficientes. Luego en nuestro caso, para obtener la secuencia de Sturm ejecutamos los siguientes comandos en Octave:
1
2
3

[c1 r1]=deconv([2,0,0,-100,2,-1], [10,0,0,-200,2])


[c2 r2]=deconv([10,0,0,-200,2],[60,-1.6,1])
[c3 r3]=deconv([60,-1.6,1],[200.0087,-2.0027])

Luego nuestra secuencia de Sturm es { P( x ), P1 ( x ), P2 ( x ), P3 ( x ), P4 ( x )} :

P( x )

= 2x5 100x2 + 2x 1

P1 ( x )

= 10x4 200x + 2

P2 ( x )

= 60x2 1.6x + 1

P3 ( x )

= 200.0087x 2.0027

P4 ( x )

= 0.98999

Ahora montamos la tabla de signos sin considerar porque ya sabemos que no hay races
negativas:
x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

P4 ( x )

N (x)

0
+

+
+

+
+

2
1

Luego N+ = N (0) N (+) = 2 1 = 1. Por tanto, slo hay una raz racional positiva simple,
las otras 4 son complejas conjugadas simples o dobles. Debemos encontrar un intervalo lo ms
pequeo posible en el que se encuentre la raz real que buscamos. Lo ms sencillo es dibujar su
grfica y ver que podemos establecer como intervalo el ]3, 4[. Aplicando el mtodo de Newton
con x0 = 4 obtenemos como raz aproximada 1 = 3.67825295048808. Con esto terminamos el
problema.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

155

Ejercicio 5.0.7 I Races Complejas


Hallar las races reales y complejas, determinando su multiplicidad, de la ecuacin:
x13 x12 x11 + x10 x3 + x2 + x 1 = 0
Resolucin
Tomamos:
P( x ) = x13 x12 x11 + x10 x3 + x2 + x 1 = 0
Vamos a empezar de forma distinta, nos fijamos que a0 = 1, luego 1 son los candidatos a ser
races enteras, de hecho lo son, ya que P (1) = 0. Como a13 = 1, no tenemos races racionales.
Ahora para simplificar clculos vamos a factorizar nuestro polinomio y determinar las multiplicidades de 1. Para ello vamos a aplicar Ruffini:

1
1
1

1
1

1
1
0
1
1
1
2
1
1
1
0

1
0
1
1
0
2
2
1
1
0
1

1
1
0
0
0
2
2
1
1
1
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
0

0
2

0
2

0
2

0
2

0
2

0
2

2
1
1
0
1

2
1
1
1
0

2
1
1
0
1

2
1
1
1
0

2
1
1
0
1

2
1
1
1
0

1
0
1
0
1
2
1
1
0

1
1
0
1
1
1
0

1
0
1
1
0

1
1
0

Por tanto, tenemos la siguiente factorizacin del polinomio P( x ) :




P ( x ) = ( x 1)3 ( x + 1)2 x 8 + x 6 + x 4 + x 2 + 1
Luego 1 es raz triple y -1 es raz doble. Aplicando la deflacin vamos a pasar a calcular las races
de Q( x ) := x8 + x6 + x4 + x2 + 1, las cuales es obvio que sern tambin las races de P( x ). De
esta forma hemos pasado de trabajar con un polinomio de grado 13 a trabajar con un polinomio
de grado 8. Es obvio que Q (1) 6= 0, y al ser su trmino independiente 1 aseguramos que Q( x )
no tiene races enteras. Pero a8 = 1, luego tampoco tiene races racionales, lo cual ya sabamos
porque P( x ) no las tiene. Luego sus races son irracionales o complejas.
Como Q( x ) = Q( x ) no poseen cambios de signo, por la Regla de Signos de Descartes aseguramos que no tiene races reales positivas o negativas. Luego todas las races que quedan por

RESOLUCIN ECUACIONES

CAPTULO 5

156

calcular son complejas. La cosa se nos complica bastante. Fjate que todos los grados de Q( x ) son
pares y van de 2 en 2, por tanto; vamos a realizar el siguiente cambio de variable:

t = x2

De esa forma obtenemos un nuevo polinomio de grado 4 que es con el que vamos a trabajar.
Posteriormente, para saber cules son las races de Q( x ) tendremos que deshacer el cambio de
variable.

R ( t ) : = t4 + t3 + t2 + t + 1

Este polinomio no es bicuadrado, luego no podemos aplicarle el tpico cambio de variable para
resolver su ecuacin algebraica. Una forma de hacerlo es introduciendo una raz de forma que
podamos convertir el polinomio a la forma t5 + a = 0, el cual podemos resolver. Fjate:



= t5 + a
( t + a ) t4 + t3 + t2 + t + 1
t5 + t4 + t3 + t2 + t + at4 + at3 + at2 + at + a

= t5 + a

t5 + (1 + a ) t4 + (1 + a ) t3 + (1 + a ) t2 + (1 + a ) t + a

= t5 + a

Identificando (igualando) coeficientes tenemos:

1 + a = 0 = a = 1

Por tanto, hemos de resolver la ecuacin t5 1 = 0 = t5 = 1 = t =


calcular las races quintas del complejo (real en nuestro caso) z = 1.

1. Es decir, hemos de

Tenemos: |z| = 1, arg (z) = 0. As pues:

zk = r arg (z) + 2k = 1 2k ; 0 k 4
5
5
Y obtenemos las siguientes races:

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

z0

= 10 = 1

z1

= 1 2
5
= 1 4
5
= 1 6
5
= 1 8
5

z2
z3
z4

157

Luego las races de R(t) son:

t1
t2
t3
t4

= 1 2
5
= 1 4
5
= 1 6
5
= 1 8
5

Fjate que z0 = 1 no es raz de R(t) , ya que es la que hemos introducido de forma ficticia para
poder hallar de forma algebraica las races de R(t) .

Nos queda deshacer el cambio de variable para poder saber cules son las 8 races complejas
simples de Q( x ) = x8 + x6 + x4 + x2 + 1. Tenemos:

t = x2 = x = t

Sustituyendo de 1 en 1 tenemos, k = 0, 1:
 
Notar que 1 = 1 , y que (r ) r 0 = (r r 0 )+

RESOLUCIN ECUACIONES

CAPTULO 5

1/2

x1,2

1 2

1/2

x3,4

1 4

1/2

x5,6

1 6

1/2

x7,8

1 8

158

1
=
1 , 1 6

+k
5
5
5

1
=

+k

1 1
= 1
= 1 6 , 1 11 = 1 6 , 1

5
+k
+k
5
5
5
5
5

1
=
1
,
1

2
7

+k
5
5
5

1 2
=

+k

5
1 1
= 1
= 1 7 , 1 12 = 1 7 , 1 2

2
7

+k
+k
5
5
5
5
5
5

1
=
1
,
1

3
3 8

+k
5
5
5

1 3
=

+k

5
1 1
= 1
= 1 8 , 1 13 = 1 8 , 1 3

3
8

+k
+k
5
5
5
5
5
5

1
=
1
,
1

4
4 9

+k
5
5
5

1 4
=

+k

5
= 1
= 1 9 , 1 14 = 1 9 , 1 4
1 1

4
9

+k
+k
5
5
5
5
5
5

Quitando las repetidas tenemos que las races de Q( x ) = x8 + x6 + x4 + x2 + 1 son:

1 , 1 6 , 1 2 , 1 7 , 1 3 , 1 8 , 1 4 , 1 9
5

Como las races de Q( x ) lo son tambin de P( x ) , tenemos que las races de P( x ) son:

1, 1 , 1 6 , 1 2 , 1 7 , 1 3 , 1 8 , 1 4 , 1 9

5
5
5
5
5
5
5
5

Todas las races complejas conjugadas son simples, 1 es triple y -1 es doble. Con esto ya hemos
calculado todas las races de P( x ) porque la suma de todas las multiplicidades nos da 13, que es
el grado de nuestro polinomio P( x ).

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

159

Ejercicio 5.0.8 I Acotar Races


Acotar las races de las siguientes ecuaciones:
a) x5 x4 + x3 x2 + 1 = 0
b) x7 5x6 27x5 + 3x3 + 4x2 + 7x 2 = 0

Resolucin

a) P( x ) := x5 x4 + x3 x2 + 1

= 1 1+ = 2

=1


Por tanto, tenemos: C =

zC :

1
< |z| < 2
2

1
1
=
1+
2

b) P( x ) := x7 5x6 27x5 + 3x3 + 4x2 + 7x 2



5

,
= max
1

1
=
1+

1
27
1+
2


3
,
1


4
,
1


7
,
1



2


1 = 27 1 + = 28







1 5 27 3 4
,
,
,
,
,
= max
2 2 2 2 2


1 5 27 3
7
27
= max
, , , , 2,
=
= 13.5
2 2 2 2
2
2



27


1 ,

2
29


Por tanto, tenemos: C =

zC :

RESOLUCIN ECUACIONES

2
< |z| < 28
29



7


2 =

CAPTULO 5

160

Ejercicio 5.0.9 I Separacin De Races


Separar en intervalos de longitud uno, mediante el mtodo de Sturm, las races reales de
las ecuaciones:
a) x5 3x4 + 2x3 3x2 + 4x + 1 = 0
b) x5 x4 + x3 x2 + 1 = 0
Resolucin
a) P( x ) := x5 3x4 + 2x3 3x2 + 4x + 1
P( x ) = x5 3x4 2x3 3x2 4x + 1
Tenemos que en P( x ) hay 4 cambios de signo y en P( x ) hay slo un cambio de signo. Por tanto,
hay una raz negativa y pueden haber 4 2 ninguna raz positiva.
Tenemos que a0 = a5 = 1, con P (1) 6= 0. Luego todas las races reales que tiene son irracionales.
P0 ( x ) = 5x4 12x3 + 6x2 6x + 4 = P1 ( x )
Vamos a aplicar el algoritmo de Euclides para calcular la secuencia de Sturm. En esta ocasin
te voy a ensear a hacerlo con wxMaxima ya que as vas a obtener los polinomios en forma
simblica (algebraica) que son exactos. Con Octave no se puede realizar el clculo simblico si no
es instalando un paquete extra. En wxMaxima vamos a utilizar el comando divide para dividir
polinomios, el resultado nos da el cociente y el resto de la divisin polinmica. Aqu tienes lo que
he utilizado:
(%i1)

divide(x^5-3*x^4+2*x^3-3*x^2+4*x+1,5*x^4-12*x^3+6*x^2-6*x+4,x);

(%o1)

(%i2)

divide(5*x^4-12*x^3+6*x^2-6*x+4,(16*x^3+27*x^2-62*x-37)/25,x);

(%o2)

(%i3)

divide((16*x^3+27*x^2-62*x-37)/25,(-15325*x^2+18850*x+11075)/(256),x);

(%o3)

(%i4)

divide((-15325*x^2+18850*x+11075)/(256),(-2622976*x+1227008)/(9394225),x);

(%o4)

5x3
16 x3 + 27 x2 62 x 37
,
]
25
25

2000 x 8175 15325 x2 18850 x 11075


,
]
256
256

2510848 x + 7325440 2622976 x 1227008


,
]
234855625
9394225

1475080739788750 x 1124341947734375 1736306424075


,
]
6880003096576
26875012096

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

161

De esta forma, obtenemos la secuencia de Sturm:


P( x ), P1 ( x ),

16 3 27 2 62
37
15325 2 18850
11075
2622976
1227008
x + x x ,
x +
x+
,
x+
, 1
25
25
25
25
256
256
256
9394225
9394225
x

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

P4 ( x )

P5 ( x )

N (x)

0
+

+
+

+
+
+

+
-

+
+
-

4
3
1

Tenemos pues:

N = N () N (0) = 4 3 = 1
N+ = N (0) N (+) = 3 1 = 2
Luego obtenemos que nuestro polinomio tiene 1 raz negativa y 2 races positivas, las 3 son simples porque P5 ( x ) = 1 es constante. Adems, tiene 2 races complejas conjugadas simples. Nos
falta determinar los intervalos de longitud 1 para cada una de las 3 races reales (irracionales).
= max {3, 2, 3, 4, 1} = 4 1 + = 5
Por tanto, tomamos como intervalo de partida:

[1 , 1 + ] = [5, 5]
Como slo hay 1 raz negativa, sabemos que estar en [5,0], y las 2 positivas en [0, 5]. Y ahora
vamos a hacerlo fcil, te puedes ayudar dibujando la grfica del polinomio:
P (1) P(0) < 0 [1, 0] es nuestro intervalo de longitud 1 en el que se encuentra la raz
negativa (Teorema Bolzano).
P(1) P(2) < 0 P(2) P(3) < 0 [1, 2] y [2, 3] son los 2 intervalos de longitud 1 en los que se
encuentran las positivas (Teorema Bolzano).
b) P( x ) := x5 x4 + x3 x2 + 1
P ( x ) = x5 x4 x3 x2 + 1
Tenemos que P( x ) tiene 4 cambios de signo y que P ( x ) tiene un cambio de signo, luego nuestro
polinomio tiene una raz negativa y puede tener 0,2 4 races positivas.
Como a0 = a5 = 1 y P (1) 6= 0, P (1) 6= 0, podemos asegurar que sus races son irracionales o
complejas.

RESOLUCIN ECUACIONES

CAPTULO 5

162

P0 ( x ) = 5x4 4x3 + 3x2 2x = P1 ( x )


Hallemos como en el apartado anterior la secuencia de Sturm:
(%i6)

divide(x^5-x^4+x^3-x^2+1,5*x^4-4*x^3-2*x,x);

(%o6)

(%i7)

divide(5*x^4-4*x^3-2*x,-21*x^3+15*x^2+2*x-25,x);

(%o7)

(%i8)

divide(-21*x^3+15*x^2+2*x-25,-x^2+47*x-3,x);

(%o8)

[21 x + 972,2891 45619 x ]

(%i9)

divide(-x^2+47*x-3,931*x-59,x);

(%o9)

5 x 1 21 x3 15 x2 2 x + 25
,
]
25
25

35 x 3 25 x2 1175 x + 75
,
]
147
147

931 x 43698
22101
,
]
866761
866761

Obtenemos la siguiente secuencia de Sturm:


n

P( x ), P1 ( x ), 21x3 + 15x2 + 2x 25, x2 + 47x 3, 931x 59, 1

P( x )

P1 ( x )

P2 ( x )

P3 ( x )

P4 ( x )

P5 ( x )

N (x)

0
+

+
+

+
0
+

+
-

+
+
+

3
2
2

N = N () N (0) = 3 2 = 1
N+ = N (0) N (+) = 2 2 = 0
Luego tenemos que nuestro polinomio slo tiene una raz negativa y 4 races complejas conjugadas, todas ellas simples. Aplicando el Teorema de Bolzano:
P (1) P (0) = 3 < 0 [1, 0] es un intervalo de longitud 1 en el que se encuentra la raz
negativa.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

163

Ejercicio 5.0.10 I Aproximamos Races


Aproximar las races del polinomio:
P( x ) = 5x5 17x4 79x3 + 269x2 34x 24
Resolucin
P ( x ) = 5x5 17x4 + 79x3 + 269x2 + 34x 24
En P( x ) hay 3 cambios de signo y en P ( x ) hay 2 cambios de signo, luego por la regla de signos
de Descartes pueden haber 2 races negativas y 3 positivas, o pueden haber 2 negativas, 1 positiva
y 2 complejas conjugadas.
Apliquemos la acotacin de McLaurin:


17 79 269 34 24
269
269
, ,
, ,
=
1+ = 1+
= 54.8
5 5 5 5 5
5
5


5 17 79 269 34
269
1
1
max
, , ,
,
=

=
0.082
269
24 24 24 24 24
24
1+
1+
24

= max

Luego las races estn dentro de la siguiente corona circular:


C = {z C : 0.082 < |z| < 54.8}
Tenemos a0 = 24, luego todos sus divisores son:

{1, 2, 3, 4, 6, 8, 12, 24}


Se tiene que P (4) = 0 y que P(3) = 0, todos los dems son no cero, luego 0 = 4, 1 = 3 son
races enteras del polinomio.
Tenemos que a5 = 5, luego sus divisores son {1, 5}, por los que los candidatos a races racionales son:


1
2
3
4
6
8
12
24
, , , , , , ,
5
5
5
5
5
5
5
5

 
2
2
= 0, las dems no se anulan, luego 2 = es la nica raz racional del
5
5
polinomio. Vamos a aplicar Ruffini con las 3 races para obtener un polinomio de grado 2 cuyas
races van a ser tambin de P( x ), es decir; vamos a aplicar la deflacin.
De todas ellas slo P

RESOLUCIN ECUACIONES

CAPTULO 5

4
2/5

164

17 79 269 34 24
20 148 276 28
24
37 69
7
6
0
2
14
22
6
35 55
15
0
15 60 15
20 5
0

Factorizamos P( x ) :


2
P( x ) = 25 ( x + 4) x
5



( x 3) x2 4x 1

Por tanto, vamos a calcular las races del polinomio:


Q( x ) := x2 4x 1
Ahora
2

Q( x ) = x 4x 1 = 0 x =

20

42 5
=
= 2 5
2

Luego hemos obtenido todas las races de P( x ) de forma exacta. Si queremos obtener valores
aproximados de las irracionales, tan slo hemos de aplicarles el mtodo de Newton.

Ejercicio 5.0.11 I Estudiamos Races


Se considera la ecuacin algebraica:
x5 + x4 + 5x3 + 2x2 13x 10 = 0
a) Determinar el nmero de races positivas.
b) Encontrar una raz racional negativa.
c) Hallar el nmero de races reales y complejas de la ecuacin anterior.
Resolucin
Definimos P( x ) := x5 + x4 + 5x3 + 2x2 13x 10
P ( x ) = x5 + x4 5x3 + 2x2 + 13x 10
Luego P( x ) tiene 1 cambio de signo y P ( x ) tiene 4 cambios de signo. Por la regla de signos de
Descartes tenemos que P( x ) tiene 1 raz positiva y puede tener 4 2 races negativas.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 5

165

Tenemos que a0 = 10, luego sus divisores son {1, 2, 5, 10}


P (1) = 0 y todos los dems son no nulos, por tanto; tenemos que -1 es la nica raz entera del
polinomio. Vamos a aplicar la deflacin para simplificar clculos:

1 5
1 0
0 5

13 10
3
10
10
0

2
5
3

Factorizamos: P( x ) = ( x + 1) x4 + 5x2 3x 10

Trabajamos pues con Q( x ) = x4 + 5x2 3x 10. Se tiene que a4 = 1, luego no tiene races
racionales, en consecuencia, tampoco P( x ) tiene races racionales. Pero cuidado, porque podemos
considerar que 1 = 11 , de esa forma vemos que -1 es una raz racional negativa.
Averigemos la secuencia de Sturm de Q( x )
Q0 ( x ) = 4x3 + 10x 3 = Q1 ( x)
(%i33) divide(x^4+5*x^2-3*x-10,4*x^3+10*x-3,x);
x 10 x2 9 x 40
]
(%o33) [ ,
4
4
(%i34) divide(4*x^3+10*x-3,-10*x^2+9*x+40,x);
(%o34) [

10 x + 9 731 x + 285
,
]
25
25

(%i35) divide(-10*x^2+9*x+40,-731*x-285,x);
(%o35) [

7310 x 9429 18687175


,
]
534361
534361

La secuencia de Sturm es la siguiente:


n

x4 + 5x2 3x 10, 4x3 + 10x 3, 10x2 + 9x + 40, 731x 285, 1


x

Q( x )

Q1 ( x )

Q2 ( x )

Q3 ( x )

Q4 ( x )

N (x)

0
+

+
+

+
-

+
-

3
2
1

Por tanto, de la tabla se extrae la siguiente informacin:

N = N () N (0) = 3 2 = 1
N+ = N (0) N (+) = 2 1 = 1

RESOLUCIN ECUACIONES

CAPTULO 5

166

Luego nuestro polinomio Q( x ) tiene 1 raz negativa, 1 raz positiva y 2 complejas conjugadas,
porque al ser Q4 ( x ) constante sabemos que todas las races de Q( x ) son simples. Como sabemos
que P( x ) tiene una raz negativa, y uniendo la informacin que hemos obtenido con Q( x ) concluimos: P( x ) tiene 1 raz real positiva, 2 races reales negativas y 2 races complejas conjugadas,
todas ellas simples.

RESOLUCIN ECUACIONES

6
6.1

CLCULO DE RACES
COMPLEJAS

Mtodo De Mller

6.1.1. Introduccin
El mtodo de Mller es el primer mtodo que se estudia para aproximar races complejas, se
usa para funciones polinmicas, y aproxima tanto races complejas como reales. El mtodo se
inicia con 3 aproximaciones iniciales: x0 , x1 , x2 , lo suficientemente cercanas a la raz que se desea
aproximar. Al ser 3 valores iniciales lo que hacemos es calcular la parbola que pasa por las 3
como segundo paso. Consideremos que queremos calcular las races de
f ( x ) = a n x n + a n 1 x n 1 + . . . + a 1 x + a 0
La parbola a calcular es de la siguiente forma general:
P ( x ) = a ( x x2 ) + b ( x x2 ) + c
Dichan parbola es un polinomio
de grado 2 centrado en x2 , es decir; se considera como base
o


B = 1, x x2 , ( x x2 )2 , en detrimento de la base cannica B 0 = 1, x, x2 .
Para saber cul es debemos calcular a, b, c, que los podemos determinar gracias a que la parbola
debe pasar por los puntos: ( x0 , f ( x0 )) , ( x1 , f ( x1 )) , y ( x2 , f ( x2 )). Si sustituimos los 3 puntos en
P( x ) obtenemos el siguiente sistema no lineal a resolver:

f ( x0 ) =

a ( x0 x2 ) + b ( x0 x2 ) + c

f ( x1 ) =

a ( x1 x2 ) + b ( x1 x2 ) + c

f ( x2 ) =

De la tercera ecuacin del sistema ya tenemos determinada c, por sustitucin y con un poco de
paciencia tenemos:

167

CAPTULO 6

a=

b=

168

[ f ( x0 ) f ( x2 )] ( x1 x2 ) [ f ( x1 ) f ( x2 )] ( x0 x2 )
( x0 x1 ) ( x0 x2 ) ( x1 x2 )

( x0 x2 )2 [ f ( x1 ) f ( x2 )] ( x1 x2 )2 [ f ( x0 ) f ( x2 )]
( x0 x1 ) ( x0 x2 ) ( x1 x2 )
c = f ( x2 )

Una vez calculado el polinomio P( x ), debemos calcular la primera aproximacin a la raz a buscar, eso lo hacemos calculando el punto ( x3 , 0), lo que es equivalente a calcular las races del
polinomio, es decir;
P ( x3 ) = a ( x3 x2 )2 + b ( x3 x2 )2 + c = 0
Las soluciones son:

x3 x2 =

b2 4ac
2a

Para evitar la cancelacin catastrfica racionalizamos y simplificamos:






b + b2 4ac b b2 4ac
b2 b2 + 4ac
2c



 =

x3 x2 =
=

b + b2 4ac
2a b b2 4ac
2a b b2 4ac
Considerando las 2 opciones de ms y menos, tenemos:

x3 x2 =

2c

b b2 4ac

Para que la raz aproximada x3 est lo ms cercana a x2 en el mtodo de Mller se considera


el signo de b, despejando x3 en la anterior expresin y teniendo en cuenta el signo obtenemos
finalmente:

x3 = x2

2c
b + signo (b)

b2 4ac

Eso sera la obtencin de nuestra primera aproximacin de la raz, para obtener las siguientes
iteraciones es suficiente hacer x0 = x1 , x1 = x2 , x2 = x3 . Aadiendo las pertinentes condiciones
de parada tenemos ya el mtodo totalmente desglosado.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 6

169

6.1.2. Ejemplo Grfico Del Mtodo De Mller


Para entender mejor el mtodo vamos a ver un ejemplo grfico del mtodo. Consideremos la
funcin polinmica f ( x ) = 16x4 40x3 + 5x2 + 20x + 6. Tomemos como aproximaciones iniciales
x0 = 0.5, x1 = 0.5, x2 = 0. Como los clculos a mano son muy laboriosos podemos crear con
Octave el siguiente cdigo:
1
2
3
4
5

function [] = mullergrafico(f)
x0 = 0.5;
x1 = -0.5;
x2 = 0;
x = -3:0.1:3;

6
7
8
9
10
11
12
13
14

fx = inline(f);
color = ['r','c','g','m'];
clf();
hold on;
for i=1:4
fx0 = feval(fx,x0);
fx1 = feval(fx,x1);
fx2 = feval(fx,x2);

15
16
17
18

delta1 = fx0-fx2;
delta2 = fx1-fx2;
delta3 = (x0-x1)*(x0-x2)*(x1-x2);

19
20
21
22

a = (delta1*(x1-x2)-delta2*(x0-x2))/delta3;
b = (delta2*(x0-x2)^2-delta1*(x1-x2)^2)/delta3;
c = fx2;

23
24

P = a*(x-x2).^2+b*(x-x2).^2+c;

25
26

plot(x,P,color(i))

27
28

x3 = x2 - (2*c)/(b+sign(b)*sqrt(b^2-4*a*c))

29
30
31

x0 = x1; x1 = x2; x2 = x3;


end

32
33
34
35

fplot(fx,[-1.5,1.5],'b','linewidth=3')
legend({'P1(x)','P2(x)','P3(x)','P4(x)','f(x)'});

36
37
38

legend boxon;
set (gca, 'xaxislocation', 'zero');

RESOLUCIN ECUACIONES

CAPTULO 6

39
40
41
42
43
44
45

170

set (gca, 'yaxislocation', 'zero');


set(gca, 'box', 'off');
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);
grid;
hold off;

46

end
mullergrafico.m

Con dicho cdigo dibujamos la funcin polinmica y las 4 parbolas que nos salen al iterar el
mtodo 4 veces, se puede ver en la siguiente figura:
P1 ( x )
P2 ( x )
P3 ( x )
P4 ( x )
f (x)

1,000

47

500

2
y

Figura 1: Mller para f ( x ) = 16x4 40x3 + 5x2 + 20x + 6

El algoritmo tambin nos da las 4 aproximaciones a la raz:

mullergrafico('16*x.^4-40*x.^3+5*x.^2+20*x+6')
x3 = -0.55556 + 0.59835i
x3 = -0.22806 + 0.11688i
x3 = -0.29146 + 0.19761i
x3 = -0.36873 + 0.19696i
Una cosa importante es que cuando la raz aproximada es una raz compleja sabemos que sin
aplicar el mtodo conocemos que otra de las races aproximadas es su raz conjugada, esto se
debe gracias al Teorema Fundamental del Algebra.
Como vemos en la figura el punto donde se cortan aproximadamente las 4 parbolas es la aproximacin de la raz. Aunque estamos representando en el plano real sabemos que todo nmero
complejo lo podemos representar en dicho plano real identificando su parte real como la abscisa
y su parte imaginaria como la ordenada.

RESOLUCIN ECUACIONES

ECUACIONES

CAPTULO 6

171

El principal problema para buscar aproximaciones a races complejas en la grfica de la funcin


es que estas NO cortan al eje de abscisas, as que grficamente slo podemos apreciar las races
reales y no las complejas. Tampoco nos sirve aplicar el Teorema De Bolzano. Afortunadamente
hay tcnicas para solventar estos inconvenientes y que se vi en los 2 captulos anteriores.

6.1.3. Algoritmo De Mller


El algoritmo que se ha realizado bajo el programa Octave para ste documento es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

% Probar con muller('fun_muller',-1,-0.5,0,0.00001,30)


function []=muller(f,p0,p1,p2,tol,maxiter)
a = p0;
b = p2;
fx = inline(f);
fplot(fx,[a-3,b+3])
set (gca, 'xaxislocation', 'zero');
set (gca, 'yaxislocation', 'zero');
set(gca, 'box', 'off');
grid;
title('La Funcion');
legend({f},'location', 'southoutside');
legend boxon;
xlabel('y');
ylabel('x');
set (get (gca, 'ylabel'), 'rotation', 360);

17
18

fx = inline(f);

19
20
21

h1=p1-p0;
h2=p2-p1;

22
23
24
25
26
27

d1=(feval(fx,p1)-feval(fx,p0))/h1;
d2=(feval(fx,p2)-feval(fx,p1))/h2;
d=(d2-d1)/(h2+h1);
count=3;
h=1;

28
29
30
31
32
33
34
35

while count < maxiter && abs(h)>tol


b=d2+h2*d;
D=sqrt(b^2-4*feval(fx,p2)*d);
if abs(b-D)<abs(b+D)
E=b+D;
else
E=b-D;

RESOLUCIN ECUACIONES

CAPTULO 6

172

end
h=-2*feval(fx,p2)/E;
sol=p2+h;

36
37
38
39

if abs(h)>tol
p0=p1;
p1=p2;
p2=sol;
h1=p1-p0;
h2=p2-p1;
d1=(feval(fx,p1)-feval(fx,p0))/h1;
d2=(feval(fx,p2)-feval(fx,p1))/h2;
d=(d2-d1)/(h2+h1);
count++;
end

40
41
42
43
44
45
46
47
48
49
50

end
printf ('La solucion es %s.\nY su solucion conjugada es %s\nSe ha alcanzado en %d
iteraciones.\n',num2str(sol),num2str(conj(sol)),count);

51
52

53

end
muller.m

RESOLUCIN ECUACIONES

Bibliografa
[1] Richard L Burden and J Douglas Faires. Anlisis numrico, chapter 2, pages 7488. Cengage
Learning Brooks Cole, 3 edition, 1996. ISBN 9789706861344.
[2] Alicia Cordero Barbero, Jos Luis Hueso Pagoaga, Eulalia Martnez Molada, and Juan Ramn Torregrosa Snchez. Problemas Resueltos De Mtodos Numricos, chapter 2, pages 3769.
Editorial Paraninfo, 1 edition, 2006. ISBN 84-9732-409-9. URL www.paraninfo.es.
[3] Juan Antonio Infante Del Ro and Jose Mara Rey Cabezas. Mtodos Numricos Teora, problemas
y prcticas con MATLAB, chapter 10, pages 435483. Ediciones Pirmide, 3 edition, 2007. ISBN
978-84-368-2090-4.
[4] Juan Miguel Snchez and Antonio Souto. Problemas de clculo numrico para ingenieros con
aplicaciones Matlab, chapter 1, pages 260. Schaum, 1 edition, 2005. ISBN 84-481-2951-2.
[5] Wikipedia.
Root finding algorithms, 2013.
Category:Root-finding_algorithms.

URL https://en.wikipedia.org/wiki/

173

You might also like