teoría entera

148
DEPARTAMENTO DE MATEMÁTICAS UNIVERSIDAD DE EXTREMADURA 06071-BADAJOZ (Spain) Universidad de Extremadura Departamento de Matem´ aticas Apuntes de C ´ alculo Num ´ erico Pedro Mart ´ ın Jim ´ enez http://cum.unex.es/profes/profes/pjimenez/ Badajoz, septiembre 2005

Upload: antonio-gamonales-contreras

Post on 02-Jul-2015

1.247 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teoría entera

DEPARTAMENTO DE MATEMÁTICAS UNIVERSIDAD DE EXTREMADURA 06071-BADA JOZ (Spain)

Universidad de ExtremaduraDepartamento de Matematicas

Apuntes de Calculo Numerico

Pedro Martın Jimenez

http://cum.unex.es/profes/profes/pjimenez/

Badajoz, septiembre 2005

Page 2: Teoría entera
Page 3: Teoría entera

Indice

Introduccion 7

1 Errores, redondeo, estabilidad, condicionamiento. 9

1.1 Cifras significativas. Exactitud y precision. Errores. . . . . . . 9

1.2 Calculos estables e inestables. Condicionamiento. . . . . . . . . 12

1.2.1 Inestabilidad . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2.2 Condicionamiento . . . . . . . . . . . . . . . . . . . . . 12

1.3 Aritmetica de la computadora . . . . . . . . . . . . . . . . . . . 13

1.3.1 Aritmetica de punto flotante. . . . . . . . . . . . . . . . 13

1.3.2 Operaciones con computadoras . . . . . . . . . . . . . . 15

1.3.3 Epsilon de la maquina . . . . . . . . . . . . . . . . . . . 16

2 Resolucion de ecuaciones no lineales 17

2.1 Metodo de la biseccion . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Descripcion del metodo . . . . . . . . . . . . . . . . . . 19

2.1.2 Convergencia del metodo . . . . . . . . . . . . . . . . . 19

2.1.3 Aproximacion y error . . . . . . . . . . . . . . . . . . . 20

2.1.4 Variaciones del metodo: Regula Falsi . . . . . . . . . . . 21

2.2 Metodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . 22

2.2.1 Descripcion del metodo . . . . . . . . . . . . . . . . . . 22

2.2.2 Convergencia del metodo . . . . . . . . . . . . . . . . . 23

2.2.3 Aproximacion y error . . . . . . . . . . . . . . . . . . . 24

2.2.4 Variaciones del metodo: Metodo de la secante . . . . . . 27

2.3 Metodo iterativo de punto fijo . . . . . . . . . . . . . . . . . . . 28

2.3.1 Descripcion del metodo . . . . . . . . . . . . . . . . . . 28

2.3.2 Convergencia del metodo . . . . . . . . . . . . . . . . . 29

2.3.3 Aproximacion y error . . . . . . . . . . . . . . . . . . . 30

2.4 Raıces de polinomios . . . . . . . . . . . . . . . . . . . . . . . . 32

2.4.1 Separacion de raıces. Sucesion de Sturm. . . . . . . . . 34

3

Page 4: Teoría entera

4 INDICE

2.4.2 Acotacion de raıces . . . . . . . . . . . . . . . . . . . . . 37

2.4.3 Raıces de polinomios con el algoritmo de Horner . . . . 38

2.4.4 Raıces multiples . . . . . . . . . . . . . . . . . . . . . . 39

3 Sistemas Lineales 41

3.1 Algebra de matrices . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1.1 Valores propios y vectores propios . . . . . . . . . . . . 45

3.1.2 Matriz definida . . . . . . . . . . . . . . . . . . . . . . . 45

3.2 Resolucion de sistemas de ecuaciones lineales: metodo de Gauss 46

3.2.1 Metodo de Gauss . . . . . . . . . . . . . . . . . . . . . . 47

3.2.2 Metodo de Gauss con pivoteo . . . . . . . . . . . . . . . 49

3.3 Factorizacion LU. Factorizacion de Cholesky . . . . . . . . . . . 53

3.3.1 Metodo de Crout . . . . . . . . . . . . . . . . . . . . . . 55

3.3.2 Metodo de Cholesky . . . . . . . . . . . . . . . . . . . . 55

3.3.3 Sistemas triangulares . . . . . . . . . . . . . . . . . . . . 55

3.4 Normas y analisis del error . . . . . . . . . . . . . . . . . . . . 57

3.4.1 Numero condicion de una matriz . . . . . . . . . . . . . 60

3.5 Mejora de soluciones . . . . . . . . . . . . . . . . . . . . . . . . 62

3.5.1 Refinamiento iterativo . . . . . . . . . . . . . . . . . . . 62

3.5.2 Escalamiento . . . . . . . . . . . . . . . . . . . . . . . . 63

3.6 Metodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.6.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . 66

3.6.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . 68

3.6.3 Metodos de relajacion . . . . . . . . . . . . . . . . . . . 69

4 Aproximacion de funciones 71

4.1 Construccion del polinomio interpolador . . . . . . . . . . . . . 71

4.1.1 Metodo de Lagrange . . . . . . . . . . . . . . . . . . . . 73

4.1.2 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . 73

4.2 Error del polinomio interpolador . . . . . . . . . . . . . . . . . 74

4.2.1 Eleccion de nodos. Polinomios de Chebyshev . . . . . . 75

4.3 Interpolacion a trozos y con condiciones sobre la derivada . . . 78

4.3.1 Interpolacion a trozos . . . . . . . . . . . . . . . . . . . 78

4.3.2 Interpolacion con condiciones sobre la derivada . . . . . 79

5 Diferenciacion e integracion numerica 87

5.1 Diferenciacion numerica y extrapolacion de Richarson . . . . . 87

5.1.1 Diferenciacion mediante interpolacion . . . . . . . . . . 90

Page 5: Teoría entera

INDICE 5

5.1.2 Extrapolacion de Richarson . . . . . . . . . . . . . . . . 925.2 Integracion numerica mediante interpolacion . . . . . . . . . . . 96

5.2.1 Regla del trapecio . . . . . . . . . . . . . . . . . . . . . 975.2.2 Regla de Simpson . . . . . . . . . . . . . . . . . . . . . 985.2.3 Reglas compuestas . . . . . . . . . . . . . . . . . . . . . 995.2.4 Metodo de los coeficientes indeterminados . . . . . . . . 101

5.3 Cuadratura gaussiana . . . . . . . . . . . . . . . . . . . . . . . 1025.4 Integracion de Romberg . . . . . . . . . . . . . . . . . . . . . . 1045.5 Cuadratura adaptativa . . . . . . . . . . . . . . . . . . . . . . . 107

6 Resolucion numerica de ecuaciones diferenciales 1136.1 Existencia y unicidad de soluciones . . . . . . . . . . . . . . . . 1136.2 Metodo de la serie de Taylor . . . . . . . . . . . . . . . . . . . 115

6.2.1 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . 1186.2.2 Errores . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.3 Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . 1196.3.1 Errores . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

6.4 Metodos multipaso . . . . . . . . . . . . . . . . . . . . . . . . . 1256.4.1 Formulas de Adams-Bashforth . . . . . . . . . . . . . . 1286.4.2 Formulas de Adams-Moulton . . . . . . . . . . . . . . . 129

Problemas 135

Page 6: Teoría entera
Page 7: Teoría entera

Introduccion

El texto que sigue no es definitivo ni exhaustivo. Se ira reformando a medidaque se detecten fallos o se modifique el contenido para mejorarlo. Debeisemplearlo como una ayuda para preparar la asignatura Analisis Matematico Iy como complemento de las notas que tomeis en clase.

Espero que os sirva.

Pedro Martın.

7

Page 8: Teoría entera
Page 9: Teoría entera

Capıtulo 1

Errores, redondeo,

estabilidad, condicionamiento.

1.1 Cifras significativas. Exactitud y precision. Erro-

res.

Cualquier numero real x puede representarse en forma decimal con un numerofinito o infinito de dıgitos:

x = αmαm−1 . . . α1α0 . β1β2 . . . βn . . . con αi, βj ∈ 0, 1, 2, . . . , 9

Con la expresion anterior queremos representar que

x = αm10m+αm−110

m−1+· · ·+α110+α0100+β110

−1+β210−2+· · ·+βn10

−n+. . .

El Calculo Numerico consiste en desarrollar metodos para encontrar solucioneslo mas aproximadas posibles a la verdadera solucion de un cierto problema.Se trabaja, por tanto, con numeros aproximados en lugar de numeros exactos,por lo que se utilizan aproximaciones con un numero finito de decimales.

Toda expresion aproximada tiene un numero determinado de cifras sig-nificativas. El concepto de cifra significativa intenta trasmitir la idea decuando una cifra que aparece en la expresion decimal trasmite informacion”esencial”y ”de fiar”sobre el numero que se intenta aproximar. La significa-cion de una cifra depende del contexto y no solo de la expresion decimal en laque aparece.

9

Page 10: Teoría entera

10 Capıtulo 1

Ejemplo: Cuando decimos ”circulamos a 48.5 Km/hora”porque vemosque la aguja del velocımetro del coche estan entre 48 y 49, en nuestra aproxi-macion (48.5) al valor verdadero de la velocidad, estamos manejando solo doscifras significativas, las que permiten situar la velocidad entre 48 y 49. La ter-cera cifra (.5) es una estimacion que podrıamos evitar, pues no es ”de fiar”. Noes significativa. El velocımetro (para velocidades menores de 100) solo permiteaproximaciones con dos cifras significativas. Si hacemos observaciones con unacifra decimal, esta podrıa variar si es otro el observador.

¤

Los ceros que se anaden a la izquierda de una expresion decimal para situarla primera cifra distinta de cero no son significativos:

Ejemplo: Los numeros

0.00001845 0.0001845 0.001845

tienen todos cuatro cifras significativas.¤

Los ceros que se anaden al final pueden ser o no significativos:Ejemplo: En la expresion ”se manifestaron 45000 personas”, los tres

ultimos ceros parecen ser no significativos. Sin embargo en la expresion ”mecosto 45000 euros exactos”sı son significativos.

¤

Para evitar equıvocos acerca del numero de cifras significativas, se empleala notacion cientıfica (en el ejemplo anterior, 4.5× 104, 4.5000× 104).

Cualquier metodo del Calculo Numerico que se emplee en la resolucion deun problema, debe ser suficientemente exacto, es decir, los valores aproxi-mados que se obtengan en diferentes intentos de solucion deben estar cercadel valor verdadero. Cuanto mayor sea el numero de cifras significativas de laaproximacion, mayor sera la exactitud. Tambien deben ser preciso, es decirlos diferentes valores obtenidos para la resolucion de un problema deben estarcercanos entre sı.

Con el uso de aproximaciones para representar operaciones y cantidadesmatematicas se generan errores numericos. Se denomina error E a la can-tidad:

E = valor verdadero− valor aproximado

A menudo se trabaja con el error absoluto (|E|). El error relativo es

e =E

valor verdadero.

Page 11: Teoría entera

Errores, redondeo, estabilidad, condicionamiento 11

Este ultimo compara la magnitud del error cometido con la magnitud del valorque se pretende estimar y puede interpretarse en terminos de %.

Las causas de los errores pueden ser:• Truncamiento: surgen al sustituir un procedimiento matematico exacto

por uno aproximado. Ejemplo: utilizar un polinomio de Taylor para encontrarel valor de una funcion en un punto.• Redondeo: surgen al sustituir un numero exacto por uno aproximado.

Ejemplo: sustituir 1/3 por 0.33333333. Para minimizar este tipo de error serecurre a las reglas de redondeo:

1. En los calculos, se conservan las cifras significativas y el resto se descar-tan. El ultimo dıgito que se conserva se aumenta en uno si el primerdıgito descartado es mayor que 5. Si es 5 o es 5 seguido de ceros, enton-ces el ultimo dıgito retenido se incrementa en uno solo si este ultimo esimpar:

numero 6 cifras significativas 8 cifras significativas

5.6170431500 5.61704 5.6170432

5.6170462500 5.61705 5.6170462

2. En la suma y en la resta, el redondeo se lleva a cabo de forma tal que elultimo dıgito retenido en la respuesta corresponda al ultimo dıgito MASsignificativo de los numeros que se estan sumando o restando. Noteseque un dıgito en la columna de las centesimas es mas significativo queuna en la columna de las milesimas.

2.2− 1.768 = 0.432 −→ 0.4

4.68× 10−7 + 8.3× 10−4 − 228× 10−6 = 6.02468× 10−4 −→ 6.0× 10−4

3. En la multiplicacion y division se conserva el numero mınimo de cifrassignificativas que tenga los numeros que intervienen:

0.0642× 4.8 = 0.30816 −→ 0.31945/0.3185 = 2967.032967 −→ 297× 10

4. Para combinaciones de las operaciones aritmeticas, existen dos casosgenerales.

(multiplicacion o division )± (multiplicacion o division)

(suma o resta )×÷ (suma o resta)

Page 12: Teoría entera

12 Capıtulo 1

En ambos casos, se ejecutan primero las operaciones entre parentesis yse redondea el resultado antes de proceder con otra operacion.

• Otras causas de error: equivocacion de usuario, mala formulacion delmodelo, incertidumbre en los datos fısicos recogidos, etc.

1.2 Calculos estables e inestables. Condicionamien-

to.

1.2.1 Inestabilidad

Decimos que un proceso numerico es inestable cuando los pequenos erroresque se producen en alguna de sus etapas se agrandan en etapas posteriores ydegradan seriamente la exactitud del calculo en su conjunto.

Ejemplo: Consideremos la sucesion

x0 = 1, x1 =1

3, xn+1 =

13

3xn −

4

3xn−1 ∀n ≥ 1

La sucesion anterior verifica que xn = (13)n. Si calculamos el termino x11 con

el programa Maxima, obtenemos −1.086162170293413×10−6 con la definicioninductiva y 2.867971990792441 × 10−10 con la otra definicion. El calculo delos valores de la sucesion por el metodo inductivo es inestable, pues cualquiererror que se presente en xn se multiplica por 13/3 al calcular xn+1.

1.2.2 Condicionamiento

Un problema esta mal condicionado si pequenos cambios en los datos puedendar lugar a grandes cambios en las respuestas. En ciertos problemas se puedecalcular un numero de condicion. Si este es grande significa que el problemaesta mal condicionado.

Ejemplo: Dado un sistema de ecuaciones lineales en forma matricial Ax =b, se puede calcular el numero de condicion ası:

k(A) = ‖A‖ · ‖A−1‖,

donde ‖A‖ = maxi,j |aij |. Dado el sistema

x+ 1.01y = 10.99x+ y = 1

Page 13: Teoría entera

Errores, redondeo, estabilidad, condicionamiento 13

el numero de condicion de la matriz del sistema serıa k(A) = ‖A‖ · ‖A−1‖ =(1.01)(10100) = 10201. Esto significa que pequenos cambios en b producirangrandes cambios en la solucion. De hecho:

x+ 1.01y = 10.99x+ y = 1

⇒ [x = −100, y = 100]

yx+ 1.01y = 1.010.99x+ y = 1

⇒ [x = 0, y = 1]

1.3 Aritmetica de la computadora

1.3.1 Aritmetica de punto flotante.

Las computadoras utilizan la llamada aritmetica del punto flotante, es decir,almacenan cada numero desplazando sus dıgitos de modo que aparezca de laforma

0.β1β2...βn × 10e.

Por ejemplo:13.524→ 0.13524× 102

−0.0442→ −0.442× 10−1

Como todos los numeros se traducen segun la aritmetica del punto flotante,todos empezaran con 0. · · · y terminaran con 10e. El ordenador, para almace-narlos ahorrando memoria, prescinde de lo que es comun a todos los numeros,y ası el 13.524 se almacena como 13524E2 y el −0.0442 como −442E − 1.

Por otra parte, la mayor parte de las computadoras trabajan con numerosreales en sistema binario, en contraste con el sistema decimal que normalmentese utiliza. Ası, el numero 9.90625 en sistema decimal, se convierte en binarioen:

9 = 2 ∗ (2 ∗ (2 ∗ 1+ 0) + 0) + 1 = 1 ∗ 23 + 0 ∗ 22 + 0 ∗ 21 + 1 ∗ 20 = (1001)2

0.90625 ∗ 2 = 1.81250 1 ∗ 2−1

0.81250 ∗ 2 = 1.625 1 ∗ 2−2

0.625 ∗ 2 = 1.25 1 ∗ 2−3

.25 ∗ 2 = 0.5 1 ∗ 2−4

.5 ∗ 2 = 1 1 ∗ 2−5

Page 14: Teoría entera

14 Capıtulo 1

0.90625 = 1 ∗ 2−1 + 1 ∗ 2−2 + 1 ∗ 2−3 + 0 ∗ 2−4 + 1 ∗ 2−5 = (0.11101)2

Con lo que

1.90625 = 1 ∗ 23 + 0 ∗ 22 + 0 ∗ 21 + 1 ∗ 20 + 1 ∗ 2−1 +

+1 ∗ 2−2 + 1 ∗ 2−3 + 0 ∗ 2−4 + 1 ∗ 2−5 = (1001.11101)2

En general, la representacion de un numero en una computadora sera dela forma:

±′d1d2...dp ×Be

y se almacenara de la forma

±d1d2...dpEe

donde B es la base, di ∈ 0, 1, 2, ..., B − 1, d1 > 0, p es el numero maximode bits significativos y e es el exponente de la potencia de B. El 0 es un casoespecial que se almacena como 00...0E0. La parte d1d2...dp se llama parte sig-nificativa o mantisa. p es el numero maximo de bits que puede tener esa partesignificativa del numero que se almacena y es, por tanto, finita. Cuanto masgrande sea p, mayor sera la precision de la maquina. Como consecuencia detodo lo anterior, en cualquier maquina solo se pueden almacenar una cantidadfinita de numeros, llamados numeros maquina. En los ordenadores de base 2,d1 siempre es 1, con lo que se puede suprimir, aumentando la precision. Segana con ello un bit que se denomina bit escondido.

Ejemplo: Si en una computadora se tiene que B = 2, p = 2 y −3 ≤ e ≤ 3,entonces solo se podran almacenar numeros de la forma

±.102 × 2e ± .112 × 2e con − 3 ≤ e ≤ 3.

Como.102 = 1× 2−1 + 0× 2−2 = 1/2

los numeros ±.102 × 2e son

±4,±2,±1,±1/2,±1/4,±1/8,

y como.112 = 1× 2−1 + 1× 2−2 = 1/2 + 1/4 = 3/4

los numeros ±.112 × 2e son

±6,±3,±3/2,±3/4,±3/8,±3/16.

Page 15: Teoría entera

Errores, redondeo, estabilidad, condicionamiento 15

En este sistema el numero 2′9 se almacenarıa, segun este disenada la com-putadora, bien como 2 si se hace por truncamiento, o bien como 3 si se hacepor redondeo. Tambien se almacenarıan como 2 los numeros 2′3 o 2′4.

¤

Los parametros B, p y e de una maquina real pueden ser los siguientes:B = 2, p = 23 bits, e = 8 bits, con lo cual el numero maximo que se podrıaalmacenar serıa 1′701E38. Todo numero mayor que el anterior estarıa en eldesbordamiento positivo de la maquina. El numero mınimo en valor absolutoserıa 1′755E−38. Todo numero positivo menor estarıa en el subdesbordamientopositivo de la maquina. De forma similar se definen desbordamiento negativoy subdesbordamiento negativo.

1.3.2 Operaciones con computadoras

Supongamos una computadora cuyos parametros sean B = 10, p = 3 y −9 ≤e ≤ 9. Veamos como trabajan y como se pueden generar errores al manejarlas operaciones basicas y el redondeo:

1. Para la suma, el de menor exponente se desplaza para alinear la comadecimal

1.37 + 0.0269 = 0.137× 101 + 0.269× 10−1 =

= 0.137× 101 + 0.00269× 101 = 0.13969× 101

que se almacenarıa como 0.139×101 por truncamiento y 0.140×101 porredondeo.

2. En la resta:

4850− 4820 = 0.485× 104 − 0.482× 104 = 0.003× 104 = 0.300× 102

que se almacenarıa como 0.300×102 tanto por redondeo como por trun-camiento.

3. En el producto, se multiplican las cifras significativas y se suman losexponentes:

403000 · 0.0197 = 0.403× 106 · 0.197× 10−1 = 0.079391× 105

que se almacena como 0.793 × 104 por truncamiento y 0.794 × 104 porredondeo.

Page 16: Teoría entera

16 Capıtulo 1

4. En la division, se dividen las cifras significativas y se restan los exponen-tes:

0.0356/1560 = 0.356× 10−1/0.156× 104 = 2.28205× 10−5

que se almacena como 0.228× 10−4.

Otra fuente de error puede ser el paso de sistema decimal a sistema binario.Ası el numero 1/10 en sistema binario es (0.0001100110011001...)2.

1.3.3 Epsilon de la maquina

La diferencia mas pequena entre dos numeros que puede detectar una maquinase denomina epsilon de la maquina. Tambien se puede definir como el menornumero ε > 0 tal que

1.0 + ε 6= 1.0

y se puede calcular programando este algoritmo:

input s← 1.0for k = 1, 2, . . . , 100 do

s← 0.5st← s+ 1.0

if t ≤ 1.0 thens← 2.0s

output k-1,sstopend ifend

Page 17: Teoría entera

Capıtulo 2

Resolucion de ecuaciones no

lineales

-10 -8 -6 -4 -2

-1

-0.5

0.5

1

1.5

f(x) = ex − sen(x)

Dada una funcion f : R → R, trataremosde encontrar metodos que permitan loca-lizar valores aproximados de las solucionesde f(x) = 0.

Ejemplo: Dada la ecuacion ex −sen(x) = 0, encuentra la solucion mas cer-cana a 0.

¤

Para resolver ejercicios como el anterior es conveniente recordar los siguien-tes resultados:

Teorema [Bolzano]: Sea f : R → R una funcion continua en [a, b] talque f(a)f(b) < 0. Entonces existe c ∈ (a, b) tal que f(c) = 0.

El teorema de Bolzano se utiliza en este contexto para localizar intervalosque contengan una solucion de f(x) = 0 cuando la funcion f(x) sea continua.

Ejercicio: Dada la ecuacion ex − sen(x) = 0, localiza un intervalo dondeexista una solucion.

17

Page 18: Teoría entera

18 Capıtulo 2

Teorema [Rolle]: Sea f : R→ R una funcion continua en [a, b], derivableen (a, b) y tal que f(a) = f(b). Entonces existe c ∈ (a, b) tal que f ′(c) = 0.

Del teorema de Rolle se deduce que, si f(x) cumple las hipotesis, entrecada dos soluciones de la ecuacion f(x) = 0 debe existir al menos una solucionde f ′(x) = 0. De este modo, el numero maximo de soluciones de f(x) = 0 serael numero de soluciones de f ′(x) = 0 mas uno. Por tanto, el teorema de Rollese utilizara para determinar el numero maximo de soluciones que puede teneruna ecuacion f(x) = 0.

Ejercicio: Determina el numero de soluciones de la ecuacion ex − x = 0.Teorema [Taylor]: Sea f : R→ R una funcion n veces derivable en [a, b]

y n + 1 veces derivable en (a, b). Entonces, para cada x0 ∈ [a, b] existe unpolinomio de grado menor o igual que n que tiene un punto de contacto conf(x) de grado n en x0. Dicho polinomio es

Pn,x0(x) = f(x0) + f ′(x0)(x− x0) + · · ·+fn)(x0)

n!(x− x0)

n.

Ademas, para cada x ∈ [a, b] existe un punto θx entre x y x0 tal que

f(x)− Pn,x0(x) =fn+1)(θx)

(n+ 1)!(x− x0)

n+1.

Teorema [de valor medio]: Sea f : R → R una funcion continua en[a, b] y derivable en (a, b). Entonces existe c ∈ (a, b) tal que

f(b)− f(a)

b− a= f ′(c).

Page 19: Teoría entera

Resolucion de ecuaciones no lineales 19

2.1 Metodo de la biseccion

2.1.1 Descripcion del metodo

Consiste en aplicar de forma reiterada el teorema de Bolzano en intervaloscada vez mas pequenos. Supongamos que f(a) < 0 y f(b) > 0 (de formasimilar se razonarıa si f(a) > 0 y f(b) < 0).

Paso 0. Partimos del intervalo [a, b] y calculamos c0 = a+b2 .

Paso 1. Si f(c0) < 0, definimos a1 = c0 y b1 = b. Si f(c0) > 0, definimosa1 = a y b1 = c0. En ambos casos, estudiamos el intervalo [a1, b1] y calculamosc1 = a1+b1

2 .Paso 2. Si f(c1) < 0, definimos a2 = c1 y b2 = b1. Si f(c1) > 0, definimos

a2 = a1 y b2 = c1. En ambos casos, estudiamos el intervalo [a2, b2] y calculamosc2 = a2+b2

2 .Paso n. Si f(cn−1) < 0, definimos an = cn−1 y bn = bn−1. Si f(cn−1) > 0,

definimos an = an−1 y bn = cn−1. En ambos casos, estudiamos el intervalo[an, bn] y calculamos cn = an+bn

2 .

2.1.2 Convergencia del metodo

Teorema: Si [a, b], [a1, b1], . . . , [an, bn], . . . denotan los intervalos utilizados enel metodo de la biseccion, entonces

limn→∞

an = limn→∞

bn = limn→∞

cn = r

y ademas f(r) = 0.

Demostracion. Por la construccion de las sucesiones se tiene que

a ≤ a1 ≤ a2 ≤ · · · ≤ b2 ≤ b1 ≤ b

y

(bn − an) =1

2(bn−1 − an−1) = · · · =

1

2n(b− a).

Por tanto, la sucesion (an)n∈N converge por ser creciente y acotada superior-mente y la sucesion (bn)n∈N converge por ser decreciente y acotada inferior-mente. Veamos que sus lımites son iguales

limn→∞

bn − limn→∞

an = lim(bn − an) = limn→∞

1

2n(b− a) = 0.

Page 20: Teoría entera

20 Capıtulo 2

Dado lo anterior y puesto que an ≤ cn ≤ bn se concluye que

limn→∞

an = limn→∞

cn = limn→∞

bn.

Llamemos a ese lımite r. Veamos ahora que r es la solucion de f(x) = 0utilizando las hipotesis de continuidad de f(x) y la condicion f(an)f(bn) ≤ 0 :

0 ≥ f(r)f(r) = f( limn→∞

an)f( limn→∞

bn) =

limn→∞

f(an) limn→∞

f(bn) = limn→∞

f(an)f(bn) ≤ 0.

Por tanto f(r) = 0 que era lo que se tenıa que probar.¤

2.1.3 Aproximacion y error

Una aproximacion a la solucion de la ecuacion f(x) = 0 en el paso n es cn.Una cota del error cometido sera:

|r − cn| ≤1

2|bn − an| =

1

22|bn−1 − an−1| =

1

2n+1|b− a|.

Ejemplo: Encuentra una aproximacion de la solucion de ex = sen(x) conun error menor que 10−2.

Aplicaremos el metodo de la biseccion a la funcion f(x) = ex− sen(x). Porel teorema de Bolzano sabemos que hay una solucion de f(x) = 0 en el intervalo[−4,−3], puesto que f(−4) < 0 y f(−3) > 0. Si cn es la aproximacion y r es lasolucion exacta, como queremos que el error sea menor que 10−2, tendremosque:

|r − cn| ≤1

2n+1|b− a| = 1

2n+1| − 3− (−4)| = 1

2n+1< 10−2

por lo que n ≥ 6, es decir, tendremos que calcular c6.Los calculos serıan los siguientes:

a0 = −4 b0 = −3 c0 = −3.5 f(c0) = −0.3206a1 = −3.5 b1 = −3 c1 = −3.25 f(c1) = −0.0694a2 = −3.25 b2 = −3 c2 = −3.125 f(c2) = 0.0554a3 = −3.25 b3 = −3.125 c3 = −3.1875 f(c3) = −0.0046a4 = −3.1875 b4 = −3.125 c4 = −3.15625 f(c4) = 0.0277a5 = −3.1875 b5 = −3.15625 c5 = −3.175 f(c5) = 0.0084a6 = −3.1875 b6 = −3.175 c6 = −3.18125

La solucion aproximada propuesta serıa −3.18125. ¤

Page 21: Teoría entera

Resolucion de ecuaciones no lineales 21

2.1.4 Variaciones del metodo: Regula Falsi

El metodo de la Regula-falsi difiere respecto de la biseccion en el calculo delpunto cn. Con este metodo se calcula ası:

cn = bn − f(bn)bn − an

f(bn)− f(an).

El paso siguiente es elegir el intervalo formado por los puntos an y cn o bienel formado por cn y bn asegurando que la funcion en los extremos sea de signocontrario.

Ejemplo: Aplicar el metodo de la regula falsi para encontrar una solucionde f(x) = 3x+ sen(x)− ex = 0 a partir del intervalo [0, 1].

a0 = 0 b0 = 1 c0 = 0.470990 f(c0) = 0.265160a1 = 0 b1 = 0.470990 c1 = 0.372277 f(c1) = 0.029533a2 = 0 b2 = 0.372277 c2 = 0.361598 f(c2) = 2.94 ∗ 10−3a3 = 0 b3 = 0.361598 c3 = 0.360538 f(c3) = 2.94 ∗ 10−4a4 = 0 b4 = 0.360538 c4 = 0.360433 f(c4) = 2.94 ∗ 10−5

0.2 0.4 0.6 0.8 1

-1

-0.5

0.5

1

regula falsi para f(x) = 3x+ sen(x)− ex

¤

Page 22: Teoría entera

22 Capıtulo 2

2.2 Metodo de Newton-Raphson

2.2.1 Descripcion del metodo

Consiste en utilizar el polinomio de Taylor de grado 1 como aproximacionf(x).Paso 1. Partimos de un punto inicial x0. Calculamos el polinomio de Taylorde f(x) de grado 1 en x0

P1,x0(x) = f(x0) + f ′(x0)(x− x0).

Paso 2. Utilizamos P1,x0(x) como aproximacion de f(x) y, en vez de resolverf(x) = 0, resolvemos P1,x0 = 0, es decir

f(x0) + f ′(x0)(x− x0) = 0⇒ x = x0 −f(x0)

f ′(x0).

Paso 3. Definimos

x1 = x0 −f(x0)

f ′(x0)

y repetimos los pasos 1, 2 y 3 sustituyendo el punto xn−1 por el punto xn, esdecir construimos la sucesion

xn = xn−1 −f(xn−1)

f ′(xn−1).

Cuando la sucesion x0, x1, x2, . . . es convergente y la funcion f(x) tiene ciertaregularidad, su lımite r es la solucion puesto que

r = limn→

xn = limn→

[xn−1 −

f(xn−1)

f ′(xn−1)

]= r − f(r)

f ′(r)⇒ f(r)

f ′(r)= 0⇒ f(r) = 0.

Ejemplo Aplica el metodo de Newton-Raphson para encontrar una apro-ximacion de

√2.

Puesto que queremos una aproximacion de√2, bastara encontrar una apro-

ximacion de x2 − 2 = 0. Utilizamos el metodo de Newton-Raphson aplicado ala funcion f(x) = x2 − 2, es decir, construimos la sucesion

xn = xn−1 −f(xn−1)

f ′(xn−1)= xn−1 −

x2n−1 − 2

2xn−1.

Page 23: Teoría entera

Resolucion de ecuaciones no lineales 23

Por el teorema de Bolzano, en el intervalo [1, 2] hay una solucion. Comenzamospor el punto x0 = 1.5 :

x0 = 1.5, x1 = 1.4167, x2 = 1.4142, x3 = 1.4142, . . .

La aproximacion serıa 1.4142.

¤

2.2.2 Convergencia del metodo

Teorema: Si en un cierto intervalo se verifica que f ∈ C2(R), estrictamentecreciente, f ′′(x) ≥ 0 y f tiene un cero, entonces el cero es unico y la iteracionde Newton-Raphson convergera a partir de cualquier punto inicial.

-1 1 2 3 4

-2

2

4

6

8

Newton Raphson converge

-2 -1 1 2

0.1

0.2

0.3

0.4

0.5

Newton Raphson no converge

Demostracion. Sea x0, x1, . . . , xn la sucesion construida por el metodo deNewton-Raphson, r la solucion de la ecuacion f(x) = 0 y en = xn − r el erroren el paso n. Por el teorema de Taylor sabemos que:

0 = f(r) = f(xn) + f ′(xn)(−en) +f ′′(θn)

2(−en)2.

Por tanto

enf′(xn)− f(xn) =

f ′′(θn)

2e2n.

De modo que

Page 24: Teoría entera

24 Capıtulo 2

en+1 = xn+1 − r = xn −f(xn)

f ′(xn)− r = en −

f(xn)

f ′(xn)=

enf′(xn)− f(xn)

f ′(xn)=

f ′′(θn)e2n

2f ′(xn)≥ 0

Por lo tanto

xn+1 ≥ r ⇒ f(xn) ≥ f(r) = 0⇒ en+1 = en −f(xn)

f ′(xn)≤ en.

Puesto que xn+1 ≥ r y el error va decreciendo, se concluye que la sucesion(xn)n∈N es decreciente y acotada inferiormente por r, por lo tanto tiene lımite.Ası mismo, la sucesion (en)n∈N es decreciente y acotada inferiormente por 0,por lo tanto tambien tiene lımite. Se deduce que

limn→∞

en+1 = limn→∞

(en −

f(xn)

f ′(xn)

)=

limn→∞

en −f(limn→∞ xn)

f ′(limn→∞ xn)⇒ f( lim

n→∞xn) = 0 (2.1)

y puesto que f(x) es estrictamente creciente se obtiene que limn→∞ xn = r(en caso contrario f(limn→∞ xn) > f(r) = 0), es decir, la sucesion de Newton-Raphson converge a la solucion.

¤

2.2.3 Aproximacion y error

La aproximacion a la solucion en el paso n del metodo de Newton-Raphson esxn. Por el razonamiento anterior sabemos que

en+1 =f ′′(xn)

2f ′(xn)e2n.

Si encontramos una constante C tal que

C ≥ maxx∈I |f ′′(x)|2minx∈I |f ′(x)|

siendo I un intervalo que contenga a la sucesion (xn)n∈N y a la solucion r,tendremos que

|en+1| ≤ Ce2n

Page 25: Teoría entera

Resolucion de ecuaciones no lineales 25

lo que significa que la convergencia de la sucesion de errores es cuadratica. Enestas condiciones

C|en+1| ≤ C2e2n ≤ C2(Ce2

n−1)2 ≤ · · · ≤ (Ce0)

2n+1

es decir

C|en| ≤ (Ce0)2n ⇒ |en| ≤

1

C(Ce0)

2n

que es una cota del error que se puede obtener previamente a aplicar el metodo.Si |Ce0| < 1, o lo que es lo mismo |e0| < 1

C , siendo e0 = x0− r, tendremos que

|en| ≤1

C(Ce0)

2n → 0

con lo que tenemos otro criterio de convergencia del metodo.

Ejemplo: Calcula el numero de pasos necesarios para encontrar la raızcuadrada de 3 con un error menor que 10−6

1. Con el metodo de Newton-Raphson

2. Con el metodo de la biseccion.

Puesto que la raız cuadrada de 3 es solucion de x2 − 3 = 0, aplicaremoslos metodos a la funcion f(x) = x2 − 3. Puesto que f(x) es continua en [1, 2]y tiene distinto signo en los extremos del intervalo, por el teorema de Bolzanose sabe que en [1, 2] hay una solucion de f(x) = 0.

Apartado 1). Aplicamos el primer criterio para saber si el metodo deNewton-Raphson convergera en el intervalo [1, 2]. f(x) es un polinomio y portanto es de clase C2. Como f ′(x) = 2x > 0 en [1, 2], la funcion es estrictamentecreciente en [1, 2]. Ademas f ′′(x) = 2 > 0 en [1, 2]. Por todo ello, podemosasegurar que el metodo de Newton-Raphson convergera a partir de cualquierpunto de [1, 2].

Veamos el numero de iteraciones necesarias para que el error sea menorque 10−6. Sabemos que

|en| ≤1

C(Ce0)

2n

siendo

C ≥maxx∈[1,2]|f

′′(x)|

2minx∈[1,2] |f ′(x)|=

2

2minx∈[1,2] |2x|=

2

2 · 2 =1

2.

Page 26: Teoría entera

26 Capıtulo 2

Por tanto

|en| ≤1

1/2

(1

2e0

)2n

= 2

(1

2e0

)2n

Si n = 4, entonces |e4| ≤ 3.051 ∗ 10−5

Si n = 5, entonces |e5| ≤ 4.66 ∗ 10−10. Luego basta con 5 iteraciones.

Aplicamos el metodo empezando en el punto x0 = 1

xn = xn−1 −f(xn−1)

f ′(xn−1)= xn−1 −

x2n−1 − 3

2xn−1=

x2n−1 + 3

2xn−1.

x0 = 1 x1 = 2 x2 = 1.75 x3 = 1.73414 x4 = 1.73205 x5 = 1.73205

Apartado 2). Sabemos que

|en| ≤1

2n+1(b− a) =

1

2n+1< 10−6

y si n = 19, entonces |e19| ≤ 9.54 ∗ 10−7, es decir, necesitamos 19 iteraciones.

¤

Ejemplo: Dada la ecuacion e−x − x = 0,

1. Aplica el metodo de Newton-Raphson con 4 iteraciones para encontrarla solucion.

2. Calcula una cota del error cometido.

Sea f(x) = e−x − x. Aplicando el teorema de Bolzano al intervalo [0, 1] sepuede asegurar que en dicho intervalo hay una solucion de la ecuacion f(x) = 0.Como f ′(x) = e−x−1 < 0 en [0, 1] no podemos aplicar el criterio para asegurarque el metodo funcione empezando en cualquier punto del intervalo [0, 1]. Noobstante, lo aplicamos empezando en el punto x0 = 0

xn+1 = xn −e−xn − xn−e−xn − 1

x0 = 0 x1 = 0.5 x2 = 0.566311 x3 = 0.567143 x4 = 0.567143

Page 27: Teoría entera

Resolucion de ecuaciones no lineales 27

Calculemos una cota del error

C|e4| ≤ (Ce0)2n

siendo

C ≥ maxx∈I |f ′′(x)|2minx∈I |f ′(x)|

=maxx∈[0,1] |e−x|

2minx∈[1,2] | − e−x − 1| =

1

2(1/e+ 1)=

e

2(e+ 1)≈ 0.365529.

Por tanto|e4| ≤ C2n−1e2n

0 ≤ 0.3715116 ≈ 0.33 ∗ 10−7

¤

2.2.4 Variaciones del metodo: Metodo de la secante

Teniendo en cuenta quef ′(xn) = limh→0f(xn+h)−f(xn)

h este metodo se diferen-cia del de Newton-Raphson en que se sustituye f ′(xn) por el valor aproximadof(xn−1)−f(xn−2)

xn−1−xn−2de modo que la sucesion que queda es

xn = xn−1 − f(xn−1)xn−1 − xn−2

f(xn−1)− f(xn−2).

Por tanto hay que utilizar dos puntos iniciales en lugar de uno. Es un metodomas rapido que el de la biseccion pero mas lento que el de Newton-Raphson.

Ejemplo: Calcula una aproximacion de√2, con 4 iteraciones del metodo

de la secante.Aplicamos el metodo a la solucion de la ecuacion f(x) = x2 − 2 = 0 en el

intervalo [1, 2].

xn = xn−1−(x2n−1−2)

xn−1 − xn−2

x2n−1 − 2− [x2

n−2 − 2]= xn−1−(x2

n−1−2)xn−1 − xn−2

x2n−1 − x2

n−2

y tomando tomando x0 = 1 y x1 = 2 nos queda

x0 = 1 x1 = 2 x2 = 1.3333 x3 = 1.4 x4 = 1.4146

¤

Page 28: Teoría entera

28 Capıtulo 2

0.5 1.5 2 2.5

-1

1

2

3

4

Metodo de la secante para f(x) = x2 − 2

2.3 Metodo iterativo de punto fijo

2.3.1 Descripcion del metodo

Ciertos problemas de aproximacion se pueden resolver encontrando una solu-cion de F (x) = x. Una solucion r de F (x) = x se denomina un punto fijo dela funcion F (x), debido a que F (r) = r. A menudo, para resolver la ecuacionF (x) = x se construye la sucesion

xn = F (xn−1).

Cuando la sucesion xn es convergente y F (x) es continua, si r = limn→∞

xn,

entoncesF (r) = F ( lim

n→∞xn) = lim

n→∞F (xn) = lim

n→∞xn+1 = r,

es decir, el lımite de xn es un punto fijo de F (x). La busqueda de solucionesde F (x) = x empleando sucesiones de la forma xn = F (xn−1), se denominametodo iterativo de punto fijo.

Ejemplo: Encuentra una solucion real de x3 − x − 1 = 0 usando cincopasos de un metodo iterativo de punto fijo.

Como pretendemos resolver la ecuacion f(x) = x3 − x − 1 = 0, por elteorema de Bolzano sabemos que hay una solucion en el intervalo [1, 2].

Resolver f(x) = x3 − x − 1 = 0 es equivalente a resolver una de estasecuaciones

x3 − 1 = x o bien 3√1 + x = x,

Page 29: Teoría entera

Resolucion de ecuaciones no lineales 29

con lo que podemos aplicar el metodo iterativo de punto fijo para resolver laecuacion F (x) = x siendo F (x) = x3−1 o bien F (x) = 3

√1 + x. Construyamos

la sucesion xn = F (xn−1) para ambas funciones, comenzando por un puntodel intervalo [1, 2], por ejemplo por x0 = 1 resulta lo siguiente:

xn = F (xn−1) x0 x1 x2 x3 x4 x5

F (x) = x3 − 1 1 0 −1 −2 −9 −730F (x) = 3

√1 + x 1 1.2600 1.3123 1.3224 1.3243 1.3246

Es claro que para la funcion F (x) = x3 − 1, la sucesion no resulta conver-gente. Sin embargo, para la funcion F (x) = 3

√1 + x la sucesion que sale sı es

convergente a un numero r. Dicho numero, puesto que F (x) es continua, veri-ficara que F (r) = r, es decir, f(r) = 0. La mejor aproximacion de r obtenidaserıa 1.3246.

¤

2.3.2 Convergencia del metodo

Definicion: Sea F : R→ R una funcion. Se dice que F es contractiva en unconjunto C ⊂ R si existe 0 ≤ λ < 1 tal que

|F (x)− F (y)| ≤ λ|x− y| ∀x, y ∈ C.

Ejemplo: Comprueba que la funcion F (x) = 3√1 + x es contractiva en

[0, 1].Por el teorema del valor medio

|F (y)− F (x)| = |F ′(θ)(y − x)| =∣∣∣∣∣

1

3 3√

(1 + θ)2(y − x)

∣∣∣∣∣ ≤

≤∣∣∣∣

1

3 3√1(y − x)

∣∣∣∣ =1

3|y − x|

para todo x, y ∈ [0, 1]. Por tanto la funcion es contractiva con λ = 1/3.¤

Teorema: Si F es una funcion contractiva que va de un cerrado C ⊂ Ren C (F (C) ⊂ C), entonces F tiene un unico punto fijo r ∈ C. Ademasr es el lımite de cualquier sucesion que se obtenga a partir de la expresionxn+1 = F (xn) siendo x0 ∈ C.

Page 30: Teoría entera

30 Capıtulo 2

Demostracion. Sea x0, x1, x2, . . . , xn, . . . la sucesion generada mediante laexpresion xn+1 = F (xn). Veamos que (xn)n∈N converge. Por ser contractivase tiene que

|xn − xn−1| = |F (xn−1)− F (xn−2)| ≤ λ|xn−1 − xn−2| ≤λ2|xn−2 − xn−3| ≤ · · · ≤ λn−1|x1 − x0|.

Por otra parte

xn = x0 + x1 − x0 + x2 − x1 + · · ·+ xn − xn−1 = x0 +n∑

k=1

(xk − xk−1)

por lo que

limn→∞

xn = x0 + limn→∞

n∑

k=1

(xk − xk−1) = x0 +

∞∑

k=1

(xk − xk−1)

La serie∑∞

k=1(xk − xk−1) es convergente porque

∣∣∣∣∣

∞∑

k=1

(xk − xk−1)

∣∣∣∣∣ ≤∞∑

k=1

|xk − xk−1| ≤∞∑

k=1

λk−1(x1 − x0) = |x1 − x0|1

1− λ

Como la serie es convergente, la sucesion (xn)n∈N tambien lo es. Sea r =limn→∞ xn. Por la construccion de la sucesion, se tiene que F (r) = r, es decir,hay un punto fijo. r ∈ C por ser C un conjunto cerrado y xn ∈ C. Falta verque es unico. Supongamos que hubiese dos puntos fijos r1 y r2. Entonces

|r1 − r2| = |F (r1)− F (r2)| ≤ λ|r1 − r2| < |r1 − r2|

llegando a contradiccion. ¤

2.3.3 Aproximacion y error

Si r es solucion de f(x) = 0 obtenida por iteracion de una funcion F (x),entonces si f(x) es continua y derivable, existe θn ∈ R entre r y xn tal que

f(r)− f(xn)

r − xn= f ′(θn).

Page 31: Teoría entera

Resolucion de ecuaciones no lineales 31

Suponiendo que xn ≤ r y puesto que f(r) = 0 y −en = r − xn, se deduce que

f(xn)

en= f ′(θn)⇒ en =

f(xn)

f ′(θn)⇒ |en| ≤

|f(xn)|minθ∈[xn,r] |f ′(θ)|

.

La formula anterior nos proporciona un metodo para encontrar una cota deerror a posteriori y se puede aplicar a cualquier metodo iterativo de punto fijo.

Si F (x) es contractiva de constante λ entonces

|xn+p − xn| = |xn+p − xn+p−1|+ |xn+p−1 − xn+p−2|+ · · ·+ |xn+1 − xn| ≤≤ λn+p−1|x1 − x0|+ λn+p−2|x1 − x0|+ · · ·+ λn|x1 − x0| =

= (λn+p−1 + λn+p−2 + · · ·+ λn)|x1 − x0| == λn(λp−1 + λp−2 + · · ·+ 1)|x1 − x0|

de modo que cuando p tiende a infinito

|en| = |r − xn| ≤ λn∞∑

k=0

λk = λn(

1

1− λ

)|x1 − x0|

que es una formula que permite calcular una cota de error a priori.

Ejemplo: Encuentra una solucion de la ecuacion 4 + 13 sin(2x) − x = 0

con un metodo iterativo de punto fijo estimando una cota del error a priori yotra a posteriori.

Sea f(x) = 4+ 13 sin(2x)− x y F (x) = 4+ 1

3 sin(2x). Aplicando el teoremade Bolzano a la funcion f(x) en el intervalo [−3.5, 4.5] se deduce que hayuna solucion de f(x) = 0 en dicho intervalo. Veamos si F (x) es contractivaaplicando el teorema del valor medio

|F (y)− F (x)| = |F ′(θ)(y − x)| = |23cos(2x)(y − x)| ≤ 2

3|y − x|.

Se deduce que F (x) es contractiva con constante λ = 23 .

Por otra parte, puesto que −3.5 ≤ 4 + 13 sin(2x) ≤ 4.5, se deduce que

F ([−3.5, 4.5]) ⊂ [−3.5, 4.5].Por tanto, la sucesion xn+1 = F (xn) convergera a un punto fijo a partir de

cualquier valor inicial x0. Calculamos cinco iteraciones empezando en x0 = 0 :

Page 32: Teoría entera

32 Capıtulo 2

x0 x1 x2 x3 x4 x5

0 4 4.329786082 4.230895147 4.273633799 4.256383406

Una cota del error para x5 a priori serıa

|e5| ≤(2

3

)5(

1

1− 23

)|4− 0| ≈ 1.5802

que no es una cota muy buena.

Una cota del error para x5 a posteriori serıa

|e5| ≤|f(x5)|

minθ∈[−3.5,4.5] |23 cos(2θ)− 1|≤ 0.00719542

1/3= 0.00239847.

¤

2.4 Raıces de polinomios

No existe ninguna formula algebraica para la resolucion de raıces de polinomiosde grado mayor que 4, por tanto, hay que aplicar metodos numericos para elcalculo de dichas raıces.

Definicion: Una solucion r de una ecuacion f(x) = 0 se dice que tienemultiplicidad n si

f(r) = f ′(r) = · · · = fn−1)(r) = 0 fn)(r) 6= 0.

Ejemplo: r = 1 es una solucion de multiplicidad 2 para la ecuacion

x2 − 2x+ 1 = 0.

¤

Para la localizacion de raıces de polinomios con multiplicidad par (comoen el ejemplo anterior) no podemos emplear el teorema de Bolzano. Sin em-bargo podemos intentar calcular las raıces de otro polinomio con las mismassoluciones que el nuestro pero todas con multiplicidad 1.

Page 33: Teoría entera

Resolucion de ecuaciones no lineales 33

0.5 1 1.5 2

0.2

0.4

0.6

0.8

1

f(x) = x2 − 2x+ 1

Teorema [Teorema fundamental del algebra]: Un polinomio de grado ncon coeficientes reales tiene exactamente n ceros o raıces entre los numeroscomplejos C, contando cada cero tantas veces como indique su multiplicidad.

De modo que dado un polinomio Pn(x), podemos descomponerlo ası:

Pn(x) = an(x− rk)mk(x− rk−1)

mk−1 . . . (x− r1)m1

siendo mi la multiplicidad de la raız i-esima. Si derivamos, obtenemos que

P ′n(x) = an(x− rk)mk−1(x− rk−1)

mk−1−1 . . . (x− r1)m1−1M(x)

siendo M(x) un polinomio tal que M(ri) 6= 0. El maximo comun divisor dePn(x) y de P ′n(x) es

D(x) = M.C.D(Pn(x), P′n(x)) =

an(x− rk)mk−1(x− rk−1)

mk−1−1 . . . (x− r1)m1−1

por lo que el polinomio

Q(x) =P (x)

M.C.D(Pn(x), P ′n(x))= an(x− rk)(x− rk−1) . . . (x− r1)

tiene las mismas raıces que P (x) pero todas con multiplicidad 1. Bastarıaaplicar los metodos a Q(x) para localizar las raıces de Pn(x). El problema esel calculo de Q(x) y de M.C.D(Pn(x), P

′n(x)).

Page 34: Teoría entera

34 Capıtulo 2

2.4.1 Separacion de raıces. Sucesion de Sturm.

La sucesion de Sturm nos permite calcular el numero de raıces de un polinomioen un intervalo [a, b]. Sea Pn(x) un polinomio de grado n y P ′n(x) su deriva-da. Para construir la sucesion de Sturm aplicamos la division de polinomiosrepetidas veces a Pn(x), P

′n(x) y a los restos obtenidos cambiados de signo:

Pn(x) = c1(x)P′n(x) + r1(x)

P ′n(x) = c2(x)(−r1(x)) + r2(x)−r1(x) = c3(x)(−r2(x)) + r3(x)

. . .−rk−2(x) = ck(x)(−rk−1(x)) + rk(x)

Puede ocurrir lo siguiente:1. Hay un resto rk(x) = 0. En este caso rk−1(x) es el maximo comun

divisor de Pn(x) y de P ′n(x). Construimos entonces la sucesion de Sturm co-rrespondiente al polinomio

Q(x) =Pn(x)

rk−1(x)

que es un polinomio que tiene las mismas raıces que Pn(x) pero todas simples.2. Llegamos a un resto rk(x) constante distinto de 0. En este caso la

sucesion de Sturm es

Pn(x), Pn−1(x),−r1(x), . . . ,−rk(x).

La diferencia entre el numero de cambios de signos de las sucesiones siguientes

Pn(a), Pn−1(a),−r1(a), . . . ,−rk(a) Pn(b), Pn−1(b),−r1(b), . . . ,−rk(b)es el numero de raıces de Pn(x) en el intervalo [a, b].

Page 35: Teoría entera

Resolucion de ecuaciones no lineales 35

Ejemplo: Localiza en intervalos disjuntos las raıces del P (x) = 36x4 −12x3 − 11x2 + 2x+ 1.

La derivada de P (x) es P ′(x) = 144x3−36x2−22x+2. Podemos multiplicarlos polinomios implicados por numeros positivos para facilitar los calculos sinque ello afecte al objetivo perseguido. Comenzamos los calculos:

1. Multiplicamos Pn(x) por 4 y efectuamos la primera division:

144x4−48x3−44x+8x+4 = (x−1)(144x3−36x2−22x+2)+(−300x2+50x+50).

2. El tercer miembro de la sucesion de Sturm es 300x2 − 50x − 50. Efec-tuamos la siguiente division:

144x3 − 36x2 − 22x+ 2 = 2/50(12x− 1)(300x2 − 50x− 50) + 0

3. Como hay un resto que es 0 el maximo comun divisor de P (x) y P ′(x) es300x2−50x−50 o bien dividiendo por 50 6x2−x−1. calculamos el polinomio

Q(x) =P (x)

6x2 − x− 1= 6x2 − x− 1.

4. Construimos la sucesion de Sturm para Q(x).

6x2 − x− 1 = (− 1

24+

x

2)(12x− 1) +

−2524

Con la sucesion es

6x2 − x− 1, 12x− 1,25

24

Estudiamos algunos cambios de signo:

−∞ -2 0 2 ∞6x2 − x− 1 + + - + +12x− 1 - - - + +

2524 + + + + +

cambios de signo 2 2 1 0 0

En el intervalo (∞,−2) y en (0, 2) no hay ninguna raız porque en los extremosde los intervalos la sucesion de Sturm tiene los mismos cambios de signo.

En el intervalo (−2, 0) hay una raız y hay otra en el intervalo (0, 2) porquela diferencia de cambios de signo en los extremos en ambos casos es 1.

¤

Page 36: Teoría entera

36 Capıtulo 2

Ejemplo: Localiza en intervalos disjuntos las raıces del P (x) = x4+2x3−3x2 − 4x− 1.

La derivada es P ′(x) = 4x3 + 6x2 − 6x− 4 = 2(2x3 + 3x2 − 3x− 2). Parafacilitar el calculo multiplicamos P (x) por 2 y calculamos es tercer miembrode la sucesion de Sturm:

2x4 + 4x3 − 6x2 − 8x− 1 = (x+1

2)(2x3 + 3x2 − 3x− 2) + (−9

2x2 − 9

2x− 1).

Podemos multiplicar por 2 el resto con lo que −r1(x) = 9x2 − 9x + 2. Pa-ra facilitar los calculos multiplicamos P ′(x) por 9 y calculamos el siguientemiembro de la sucesion:

18x3 + 27x2 − 27x− 18 = (2x+ 1)(9x2 + 9x+ 2) + (−40x− 20).

Dividiendo por 20 podemos suponer que −r2(x) = 2x + 1. Multiplicamos−r1(x) por 2 y calculamos −r3(x):

18x2 + 18x+ 4 = (9x+9

2)(2x+ 1) +

−12.

Con lo que la sucesion queda ası:

x4 + 2x3 − 3x2 − 4x− 1, 2x3 + 3x2 − 3x− 2, 9x2 + 9x+ 2, 2x+ 1,1

2.

Separamos las raıces en intervalos disjuntos:

−∞ -3 -2 -1 -1/2 0 1 2 ∞x4 + 2x3 − 3x2 − 4x− 1 + + - - - - - + +

2x3 + 3x2 − 3x− 2 - - 0 + - - 0 + +9x2 + 9x+ 2 + + + + + + + + +

2x+ 1 - - - - 0 + + + +12 + + + + + + + + +

cambios de signo 4 4 3 3 2 1 1 0 0

En el intervalo (∞,−3), (−2,−1), (0, 1) y en (2,∞) no hay ninguna raızporque en los extremos de los intervalos la sucesion de Sturm tiene los mismoscambios de signo.

En cada uno de los intervalos (−3,−2), (−1,−1/2), −1/2, 0 y (1, 2) hayuna raız porque la diferencia de cambios de signo en los extremos en amboscasos es 1.

¤

Page 37: Teoría entera

Resolucion de ecuaciones no lineales 37

2.4.2 Acotacion de raıces

Proposicion: Sea P (x) = anxn + an−1x

n−1 + · · · + a0. Si r es una raız deP (x), entonces

|r| < 1 +A

|an|siendo A = max0≤i≤n−1 |ai|.

Demostracion. Supongamos que |r| > 1.

0 = |P (r)| = |anrn + an−1rn−1 + · · ·+ a0| ≥

≥ |anrn| − |an−1rn−1 + · · ·+ a0|

≥ |anrn| −[|an−1||rn−1|+ · · ·+ |a0|

]≥

≥ |anrn| −A[|r|n−1 + · · ·+ |r|+ 1

]=

|anrn| −A|r|n − 1

|r| − 1> |an||r|n −A

|r|n|r| − 1

> |r|n(|an| − A

|r| − 1

)

es decir,

0 > |an| − A

|r| − 1⇒ |an| < A

|r| − 1⇒ |r| − 1 <

A

|an|con lo que concluimos que

|r| < 1 +A

|an|.

Si |r| ≤ 1, es trivial que |r| < 1 + A|an|

Ejemplo: Acota las raıces del polinomio P (x) = x4 + 2x3 − 3x2 − 4x− 1.

Com A = max1≤i≤n−1 |ai| = 4, usando la proposicion anterior obtenemosque cualquier raız r del polinomio verifica lo siguiente

|r| < 1 +A

|an|= 1 +

4

1= 5⇒ −5 < r < 5.

¤

Page 38: Teoría entera

38 Capıtulo 2

2.4.3 Raıces de polinomios con el algoritmo de Horner

Si usamos el metodo de Newton-Raphson para encontrar las raıces de unpolinomio P (x) hemos de calcular P (xn) y P ′(xn). El algoritmo de Hornerhace estos ultimos calculos de forma sencilla para polinomios.

Sea x0 ∈ R y P (x) = anxn + an−1x

n−1 + · · ·+ a1x+ a0. Sea

P (x) = Q(x)(x− x0) +R

(R sera constante) el resultado de dividir P (x) entre (x − x0). Supongamosque

Q(x) = bn−1xn−1 + bn−2x

n−2 + · · ·+ b1x+ b0.

Entonces P (x0) = R y P (x) = Q(x)(x− x0) + P (x0), con lo que

P (x)− P (x0) = Q(x)(x− x0)

es decir

anxn + an−1x

n−1 + · · ·+ a1x+ a0 − P (x0) =

= (bn−1xn−1 + bn−2x

n−2 + · · ·+ b1x+ b0)(x− x0)

Desarrollando e igualando los coeficientes de ambos terminos se deduceque

bn−1 = an, bn−2 = an−1+bn−1x0, . . . , b0 = a1+b1x0 P (x0) = a0+b0x0.

La obtencion de los coeficientes bi se pueden representar graficamente ası

an an−1 an−2 . . . a1 a0

x0 bn−1x0 bn−2x0 . . . b1x0 b0x0

bn−1 bn−2 bn−3 . . . b0 P (x0)

que tambien es una forma sencilla de calcular P (x0). Ademas,

P (x) = Q(x)(x−x0)+R⇒ P ′(x) = Q′(x)(x−x0)+Q(x)⇒ P ′(x0) = Q(x0).

De modo que para calcular P ′(x0) podemos aplicar el algoritmo grafico anteriora Q(x) :

an an−1 an−2 . . . a1 a0

x0 bn−1x0 bn−2x0 . . . b1x0 b0x0

bn−1 bn−2 bn−3 . . . b0 P (x0)x0 cn−2x0 cn−3x0 . . . c0x0

cn−2 cn−3 cn−4 . . . P ′(x0)

Page 39: Teoría entera

Resolucion de ecuaciones no lineales 39

Ejemplo: Siendo P (x) = x4+2x3−3x2−4x−1, calcula con el algoritmode Horner P (2) y P ′(2).

2 1 −3 4 −52 4 10 14 36

2 5 7 18 312 4 18 50

2 9 25 68

Se concluye que P (2) = 31 y P ′(2) = 68.

¤

2.4.4 Raıces multiples

Si una ecuacion f(x) = 0 tiene soluciones multiples, el calculo puede serproblematico. Si f(x) es un polinomio, podemos intentar calcular las raıcesde

Q(x) =P (x)

MCD(P (x), P ′(x))

que sera un polinomio con las mismas raıces que f(x) pero todas con multi-plicidad 1.

Sea o no f(x) un polinomio, se puede intentar aplicar el metodo de Newton-Raphson. Si la sucesion generada converge muy lentamente, la causa puedeencontrarse en esa multiplicidad de las raıces. Para detectar de que multi-plicidad es la raız en cuestion, para cada termino de la sucesion xn generadacalculamos f ′(xn), f

′′(xn), f′′′(xn), . . . , f

k)(xn). Si las derivadas hasta ordenk − 1 son casi 0 en los valores xn y fk)(xn) no es cercano a 0, entonces puedeocurrir que la solucion r verifique que

fn)(r) = 0 ∀ 0 ≤ n < k y fk)(r) 6= 0,

es decir que r sea una solucion de f(x) = 0 de multiplicidad k. En este caso,se puede acelerar la convergencia de la sucesion calculandola ası

xn+1 = xn − kf(xn)

f ′(xn).

Page 40: Teoría entera

40 Capıtulo 2

El error se obtendrıa ası

|en| <|f(xn)|

minθ∈[a,b] |f ′(θ)|

Ejercicio: Sea f(x) = (x − 1)3. Aplica Newton-Raphson para encontraruna solucion de f(x) = 0 empezando en x0 = 0.

Page 41: Teoría entera

Capıtulo 3

Sistemas Lineales

El objetivo de este tema es el desarrollo de tecnicas de busqueda de solucionesde sistemas de ecuaciones lineales como el siguiente:

a11x1 + a12x2 + · · ·+ a1nxn = b1a21x1 + a22x2 + · · ·+ a2nxn = b2

· · ·an1x1 + an2x2 + · · ·+ annxn = bn

Denotando A = (aij)1≤i,j≤n, b = (bi)1≤i≤n y x = (xi)1≤i≤n, el sistema anteriorse puede expresar

A · x = b

3.1 Algebra de matrices

Sea A una matriz.

A es de ordenm×n si tiene tienem filas y n columnas (A = (aij)1≤i≤m,1≤j≤n ∈Mm×n). Por ejemplo (

3 5 22 1 3

)

tiene orden 2× 3.

La matriz traspuesta de A es la matriz At que resulta de intercambiar lasfilas de A por las columnas de A.

41

Page 42: Teoría entera

42 Capıtulo 3

A es simetrica si At = A.Si α ∈ R y B es una matriz, podemos realizar las siguientes operaciones:- Multiplicar una matriz por un numero:

α ·A = (αaij)1≤i≤m,1≤j≤n.

- Sumar dos matrices A y B si A,B ∈Mm×n:

A+B = (ai,j + bij)1≤i,j≤m.

- Multiplicar dos matrices A ∈Mm×p y B ∈Mp×n:

A ·B = (

p∑

k=1

aikbkj)1≤i≤m,1≤j≤n ∈Mm×n.

La matriz identidad de orden n× n es

Id =

1 0 0 . . . 00 1 0 . . . 0

. . .0 0 . . . 0 1

Se verifica que A · Id = Id ·A = A, ∀A ∈Mn×n.B es una matriz inversa de A por la derecha si B ·A = IdB es una matriz inversa de A por la izquierda si A ·B = Id.Si A ∈ Mn×n, entonces la inversa por la izquierda es tambien inversa por

la derecha. En este caso la inversa es unica y se denota A−1

A−1 ·A = A ·A−1 = Id.

Si A ∈Mn×n tiene inversa, entonces A es regular, invertible o no singular.La matriz inversa es

A−1 =1

|A|(Ai,j)t,

siendo Ai,j el adjunto del elemento aij .En este caso el sistema A · x = b tiene como solucion x = A−1 · b.Se llaman operaciones elementales de una matriz al intercambio de dos

filas o columnas, al producto de una fila o columna por un numero distintode 0, a la suma de una fila o columna otra fila o columna multiplicada por unnumero, o cualquier combinacion finita de las operaciones anteriores. Cada

Page 43: Teoría entera

Sistemas lineales 43

operacion fundamental en una matriz A se puede expresar mediante productode A por otra matriz, que se llama matriz fundamental. Por ejemplo, dada lamatriz

A =

a11 a12 a13

a21 a22 a23

a31 a32 a33

,

el intercambio de la segunda y tercera filas se puede expresar ası:1 0 00 0 10 1 0

·

a11 a12 a13

a21 a22 a23

a31 a32 a33

=

a11 a12 a13

a31 a32 a33

a21 a22 a23

.

El producto de la segunda fila por un numero α se puede expresar ası:1 0 00 α 00 0 1

·

a11 a12 a13

a21 a22 a23

a31 a32 a33

=

a11 a12 a13

αa21 αa22 αa23

a31 a32 a33

Y la suma a la tercera fila de la segunda fila multiplicada por un numero α es:1 0 00 1 00 α 1

·

a11 a12 a13

a21 a22 a23

a31 a32 a33

=

a11 a12 a13

a21 a22 a23

αa21 + a31 αa22 + a32 αa23 + a33

El producto de matrices1 0 00 0 α0 1 αλ

·

a11 a12 a13

a21 a22 a23

a31 a32 a33

representa aplicar a la segunda matriz los siguientes cambios:- Sustituir la fila segunda por la tercera multiplicada por α.- Multiplicar la tercera fila por αλ y sumarle la segunda.Si A ∈ Mn×n tiene inversa, entonces existe un conjunto de matrices fun-

damentales Ek con k = 1, . . . , p, tales que

EpEp−1 . . . E1A = Id,

con lo que multiplicando por A−1 por la derecha en ambos terminos se obtieneque

EpEp−1 . . . E1Id = A−1,

es decir, aplicando las mismas operaciones fundamentales a la matriz Id ob-tendremos la matriz inversa A−1.

Page 44: Teoría entera

44 Capıtulo 3

Ejemplo: Calcula la inversa de la matriz

A =

1 2 31 3 32 4 7

.

Partimos de A y la matriz Id. El primer cambio consiste en restar a la segundafila la primera (correspondiente al producto por una cierta matriz fundamentalE1):

E1 ·A =

1 2 30 1 02 4 7

E1 · Id =

1 0 0−1 1 00 0 1

El segundo cambio (multiplicar por E2) consiste en restar a la tercera dosveces la primera:

E2 · E1 ·A =

1 2 30 1 00 0 1

E2 · E1 · Id =

1 0 0−1 1 0−2 0 1

A la primera le resto dos veces la segunda (E3):

E3 · E2 · E1 ·A =

1 0 30 1 00 0 1

E3 · E2 · E1 · Id =

3 −2 0−1 1 0−2 0 1

A la primera le resto tres veces la tercera (E4):

E4·E3·E2·E1·A =

1 0 00 1 00 0 1

E4·E3·E2·E1·Id =

9 −2 −3−1 1 0−2 0 1

= A−1.

Esta ultima matriz es la inversa de A.

¤

Page 45: Teoría entera

Sistemas lineales 45

Para toda matriz A ∈Mn×n son equivalentes:

1. A−1 existe.

2. |A| 6= 0.

3. Los vectores fila de la matriz A son linealmente independientes.

4. Los vectores columna de la matriz A son linealmente independientes.

5. Para cada b ∈ Rn, el sistema A · x = b tiene una unica solucion.

6. A es producto de matrices elementales.

3.1.1 Valores propios y vectores propios

Sea A ∈ Mn×n. Si existe un vector x ∈ Rn no nulo y un numero λ ∈ R talque A · x = λx, entonces, λ es un valor propio o autovalor de la matriz A, yx es un vector propio o autovector para el autovalor λ. Los valores propios deuna matriz A son las raıces del llamado polinomio caracterıstico |A− λ · Id|.Los vectores propios de A para el autovalor λ, son los elementos de nucleo dela aplicacion lineal A− λ · Id.

3.1.2 Matriz definida

Sea A ∈Mn×n. Se dice que A es definida positiva (equivalentemente, negati-va) si para todo x ∈ Rn no nulo, se verifica que

xt ·A · x > 0.

Ejemplo. La matriz A =

(2 11 2

)es definida positiva.

Sea (x1, x2) un vector no nulo.

(x1, x2) ·(2 11 2

)·(x1

x2

)= (x1, x2) ·

(2x1 + x2

x1 + 2x2

)=

2x21 + x1x2 + x1x2 + 2x2

2 = (x1 + x2)2 + x2

1 + x22 > 0.

¤

Si A es una matriz definida positiva y simetrica, entonces los autovaloresde A son todos numeros reales y positivos.

Page 46: Teoría entera

46 Capıtulo 3

3.2 Resolucion de sistemas de ecuaciones lineales:

metodo de Gauss

Dado el sistema A · x = b, si |A| = 0, puede no haber solucion. Si |A| 6= 0,existe una unica solucion y se puede calcular ası:

x1 =

∣∣∣∣∣∣∣∣

b1 a12 . . . a1n

b2 a22 . . . a2n

. . .bn an2 . . . ann

∣∣∣∣∣∣∣∣|A| , · · · , xn =

∣∣∣∣∣∣∣∣

a11 . . . a1n−1 b1a21 a2n−1 b2

. . .a2n . . . ann−1 bn

∣∣∣∣∣∣∣∣|A|

Los calculos anteriores son poco practicos cuando el numero de ecuacioneses grande. Por ejemplo, para n = 50 se necesitan 1064 operaciones. Paraevitar este problema se utilizan metodos numericos de resolucion de ecuacioneslineales que pueden ser:

• Directos: proporcionan un resultado que sera exacto salvo errores deredondeo tras un numero determinado de operaciones.

• Iterativos: construyen una sucesion de soluciones aproximadas, de modoque en cada paso se mejora la aproximacion anterior.

Se dice que dos sistemas de ecuaciones son equivalentes si tienen las mismassoluciones. En un sistema de ecuaciones se pueden efectuar operaciones ele-mentales en la matriz de los coeficientes y en la de los terminos independientesy resulta un sistema equivalente. Es decir, resulta un sistema equivalente siefectuamos alguna de las siguientes operaciones:

1. Multiplicamos una ecuacion por un numero distinto de cero.

2. Sumamos a una ecuacion otra ecuacion multiplicada por un numero.

3. Intercambiamos dos ecuaciones.

Page 47: Teoría entera

Sistemas lineales 47

3.2.1 Metodo de Gauss

El metodo de Gauss clasico es un metodo directo que transforma medianteoperaciones elementales el sistema de ecuaciones que se pretende resolver enun sistema equivalente triangular de facil resolucion.

El metodo de Gauss puede resumirse en lo siguiente:

• Paso 1. Si a11 6= 0, se elige a11 como elemento pivote. Si a11 = 0, se inter-cambian las filas para que esto no suceda. Sumando a cada una las filasrestantes la fila del elemento pivote multiplicada por ciertos numeros,llamados multiplicadores, se convierten en 0 los elementos que se en-cuentran en la primera columna distintos del pivote. En las operacionesde sumas de filas hay que incluir los terminos independientes.

• Paso i (i ≥ 2). Si aii 6= 0, se elige aii como elemento pivote. Si aii = 0,se intercambian las filas de orden mayor o igual que i para que estono suceda. Sumando a cada una de las filas que ocupan el lugar j(j > i) la fila del elemento pivote multiplicada por numeros, llamadosmultiplicadores, se convierten en 0 los elementos que se encuentran enla columna i de la fila j (j > i). En las operaciones de sumas de filashay que incluir los terminos independientes.

Se efectuan los pasos necesarios hasta que la matriz de los coeficientes seatriangular. Conseguido esto, el calculo de la solucion es sencillo siguiendo elsiguiente orden: xn, xn−1, . . . , x1.

Ejemplo: Resuelve el siguiente sistema de ecuaciones:

6x1 − 2x2 + 2x3 + 4x4 = 1212x1 − 8x2 + 6x3 + 10x4 = 343x1 − 13x2 + 9x3 + 3x4 = 27−6x1 + 4x2 + x3 − 18x4 = −38.

En forma matricial es sistema serıa

6 −2 2 412 −8 6 103 −13 9 3−6 4 1 −18

x1

x2

x3

x4

=

123427−38

.

En el sistema anterior el metodo de Gauss podrıa aplicarse ası:

Page 48: Teoría entera

48 Capıtulo 3

1. Paso 1. Elegimos como elemento pivote el termino 6 de la primera filay efectuamos las siguientes operaciones:

(fila 2a)− 2(fila 1a) (fila 3a)− 1/2(fila 1a) (fila 4a)− (−1)(fila 1a)

obtenemos el sistema

6 −2 2 40 −4 2 20 −12 8 10 2 3 −14

x1

x2

x3

x4

=

121021−26

.

Paso 2. Elegimos como elemento pivote el termino −4 de la segunda fila yefectuamos las siguientes operaciones:

(fila 3a)− 3(fila 2a) (fila 4a)− (−1/2)(fila 2a)

obtenemos el sistema

6 −2 2 40 −4 2 20 0 2 −50 0 4 −13

x1

x2

x3

x4

=

1210−9−21

.

Paso 3. Elegimos como elemento pivote el termino 2 de la tercera fila yefectuamos la siguiente operacion:

(fila 4a)− 2(fila 3a)

obtenemos el sistema

6 −2 2 40 −4 2 20 0 2 −50 0 0 −3

x1

x2

x3

x4

=

1210−9−3

.

que es un sistema de ecuaciones triangular superior de facil resolucion:

6x1 − 2x2 + 2x3 + 4x4 = 12−4x2 + 2x3 + 2x4 = 10

2x3 − 5x4 = −9−3x4 = −3

x1 = 1/6(12− 4x4 − 2x3 + 2x2) = 1x2 = −1/4(10− 2x4 − 2x3) = −3x3 = 1/2(−9 + 5x4) = −2x4 = 1

Page 49: Teoría entera

Sistemas lineales 49

Se verifica que A = L · U , siendo A la matriz de los coeficientes inicial, Ula matriz de los coeficientes final y L la matriz formada por los numeros quehemos utilizado para multiplicar las filas (multiplicadores):

L =

1 0 0 02 1 0 0

1/2 3 1 0−1 −1/2 2 1

¤

3.2.2 Metodo de Gauss con pivoteo

En un sistema como este(0.001 11 1

)(x1

x2

)=

(12

)

el metodo de Gauss no funcionarıa correctamente por errores de redondeo. Engeneral, si ε 6= 0 es pequeno, el sistema

(ε 11 1

)(x1

x2

)=

(12

)

aplicando el metodo de Gauss se transformarıa en

(ε 10 1− 1

ε

)(x1

x2

)=

(1

2− 1ε

)

con lo que las soluciones, si consideramos el redondeo, serıan:

x2 =2− 1

ε

1− 1ε

' 1 ⇒ x1 = (1− x2)1

ε' 0.

Si ε = 0.001, obtendrıamos que x2 = 0.998998998999, que, redondeando a dosdecimales, serıa x2 = 0, por lo que x1 = 0. Sin embargo las soluciones exactasson x2 = 998

999 ≈ 1 y x1 = 1000/999 ≈ 1. De hecho, al hacer los calculos con leprograma Maxima o Mathematica, con ε = 10−17 se obtiene x2 = 1 y x1 = 0.

Esto sucede cuando el elemento pivote en algun paso es muy pequenocomparado con el resto de los elementos a los que divide. En este caso el

Page 50: Teoría entera

50 Capıtulo 3

multiplicador correspondiente sera muy grande y la ecuacion que origina es”casiun multiplo de la ecuacion del elemento pivote:

(fila 2a)− 1

ε(fila 1a) ≈ −1

ε(fila 1a).

Este problema se puede resolver de dos formas:

1. Pivoteo parcial: si estamos en el paso i, se elige como elemento pivoteel elemento aki que tenga mayor valor absoluto entre los de la columnai, con k ≥ i, independientemente de si aii es cero o no, y se reordenanlas filas.

2. Pivoteo total: si estamos en el paso i, se elige como elemento pivote elelemento akj que tenga mayor valor absoluto entre los de la columna iy los de la fila i, con k, j ≥ i, independientemente de si aii es cero o no,y se reordenan las filas y columnas. Esta opcion tiene un importanteinconveniente pues hay que reordenar las incognitas.

Ejemplo: Resuelve el siguiente sistema de ecuaciones:

2x2 + x4 = 02x1 + 2x2 + 3x3 + 2x4 = −2

4x1 − 3x2 + x4 = −76x1 + x2 − 6x3 − 5x4 = 6.

aplicando el pivoteo parcial.

La matriz de los coeficientes y de los terminos independientes serıa

0 2 0 1 | 02 2 3 2 | −24 −3 0 1 | −76 1 −6 −5 | 6

El pivoteo parcial serıa este proceso:Paso 1. Elegimos como elemento pivote el termino 6 de la ultima fila por

ser el de mayor valor absoluto de entre los elementos de la primera columna.Obtenemos la matriz

6 1 −6 −5 | 62 2 3 2 | −24 −3 0 1 | −70 2 0 1 | 0

Page 51: Teoría entera

Sistemas lineales 51

Efectuamos las operaciones indicadas obtenemos la matriz siguiente:

(fila 2a)− 26 (fila 1a)

(fila 3a)− 46 (fila 1a)

Ã

6 1 −6 −5 | 60 1.6667 5 3.6667 | −40 −3.6667 4 4.3333 | −110 2 0 1 | 0

Paso 2. Elegimos como elemento pivote el termino −3.667 de la tercera fila porser el de mayor valor absoluto de entre los elementos de la segunda columna.Obtenemos la matriz

6 1 −6 −5 | 60 −3.6667 4 4.3333 | −110 1.6667 5 3.6667 | −40 2 0 1 | 0

Efectuamos las operaciones indicadas obtenemos la matriz siguiente:

(fila 3a)− 1.6667−3.6667 (fila 2a)

(fila 4a)− 2−3.6667 (fila 2a)

Ã

6 1 −6 −5 | 60 −3.6667 4 4.3333 | −110 0 6.8182 5.6364 | −9.00010 0 2.1818 3.3636 | −5.9999

Paso 3. El elemento pivote sera 6.8182 de la tercera fila y no es necesariointercambiar filas. Efectuamos la operacion indicada y obtenemos la matrizsiguiente:

(fila 4a)− 2.18186.8182 (fila 3a)

à U =

6 1 −6 −5 | 60 −3.6667 4 4.3333 | −110 0 6.8182 5.6364 | −9.00010 0 0 1.5600 | −3.1199

que se corresponde con el sistema de ecuaciones

6x1 + x2 +−6x3 − 5x4 = 6−3.6667x2 + 4x3 + 4.3333x4 = −11

6.8182x3 + 5.6364 = −9.00011.5600x4 = −3.1199.

.

Este sistema se resuelve facilmente por ser triangular despejando las incognitasen orden inverso. Se obtiene la solucion:

Page 52: Teoría entera

52 Capıtulo 3

x4 = −1.9999, x3 = 0.33325, x2 = 1.0000, x1 = −0.50000,que es una respuesta aceptable teniendo en cuenta que la solucion exacta

es

x4 = −2, x3 = 1/3, x2 = 1, x1 = −1/2.¤

La matriz L de los multiplicadores en el ejemplo anterior es la siguiente:

L =

1 0 0 00.6667 1 0 00.3333 −0.45454 1 0

0 −0.54545 0.32 1

y se verifica que

L · U =

6 1 −6 54 −3 0 12 2 3 20 2 0 1

:= A′.

El resultado no es exactamente A porque al aplicar el pivoteo hemos permu-tado filas. En todo caso se verifica que existe una matriz P , que representapermutaciones de filas si empleamos pivoteo parcial, tal que

P ·A = A′ = L · U.Esto ultimo nos permite calcular el determinante de A de forma sencilla al

ser |L| = 1, |P | = (−1)p (p es el numero de permutaciones de filas) y U unamatriz triangular:

|A| = |P−1 ·A′| = |P−1 · L · U | = |P−1||L||U | = (−1)p|U |.El metodo de Gauss permite:

1. Encontrar las soluciones de un sistema de ecuaciones.

2. Calcular el determinante de la matriz de los coeficientes.

3. Descomponer la matriz de los coeficientes A en un producto de matricesP · A′ donde P representa una permutacion de filas de A y A′ = L · U ,siendo L y U matrices triangulares inferior y superior, respectivamente.A = A′ si no se utiliza el pivoteo.

Page 53: Teoría entera

Sistemas lineales 53

3.3 Factorizacion LU. Factorizacion de Cholesky

Dado el sistema de ecuaciones Ax = b, si aplicamos el metodo de Gauss sinpivoteo solo a la matriz de los coeficientes y no a los terminos independientesb, obtendremos una descomposicion de la matriz A en dos matrices A = L ·U ,siendo L triangular inferior y U triangular superior. Esto permite, por ejemplo,calcular de forma sencilla el determinante de A:

|A| = |L||U | = (n∏

i=1

lii)(n∏

i=1

uii).

Ademas, podemos resolver el sistema de ecuaciones siguiendo estos dos pasos:Paso 1. Resolvemos el sistema Ly = b y obtenemos una solucion y.Paso 2. Resolvemos el sistema Ux = y. La solucion x obtenida sera la

solucion de Ax = b porque

Ax = LUx = Ly = b.

Los metodos de factorizacion LU consisten en descomponer la matriz enproducto de dos matrices triangulares, para despues aplicar los pasos 1 y 2anteriores y ası resolver el sistema.

Si A = L · U tendremos que

a11 a12 . . . a1n

a21 a22 . . . a2n

. . .an1 an2 . . . ann

=

l11 0 0 . . . 0l21 l22 0 . . . 0

. . .ln1 ln2 . . . lnn

u11 u12 . . . u1n

0 u22 . . . u2n

. . . u3n

0 0 . . . unn

.

Haciendo el producto de matrices e igualando termino a termino se obtienenn2 ecuaciones lineales con n2 + n incognitas. Si imponemos la condicion

l11 = l22 = · · · = lnn = 1

obtendremos un sistema de ecuaciones facilmente resoluble. Las solucionesdan lugar a una descomposicion L · U que es la misma que la obtenida por elmetodo de Gauss sin intercambio de filas.

Si A es no singular, una condicion necesaria y suficiente para que A admitauna descomposicion L·U de la forma anterior es que los menores fundamentales(todos los determinantes de las matrices formadas con las primeras k filas ycolumnas) sean no nulos. En este caso la factorizacion es unica.

Page 54: Teoría entera

54 Capıtulo 3

Ejemplo: Resuelve el siguiente sistema mediante factorizacion L · U deGauss

3 1 26 3 2−3 0 −8

·

x1

x2

x3

=

012

.

Como |A11| = 3, |A21| =∣∣∣∣3 16 3

∣∣∣∣ 6= 0 y A33 =

∣∣∣∣∣∣

3 1 26 3 2−3 0 −8

∣∣∣∣∣∣6= 0, el

sistema admite la factorizacion L · U buscada. Igualando termino a terminolas matrices siguientes

3 1 26 3 2−3 0 −8

=

1 0 0l21 1 0l31 l32 1

u11 u12 u13

0 u22 u23

0 0 u33

.

obtenemos

u11 = 3u12 = 1u13 = 2

l21u12 = 6l21u12 + u22 = 3l21u13 + u23 = 2

l31u11 = −3l31u12 + l32u22 = 0

l31u13 + l32u23 + u33 = −8

u11 = 3u12 = 1u13 = 2l21 = 2u22 = 1u23 = −2l31 = −1l32 = 1u33 = −4

Paso 1.

Ly = b⇒

1 0 02 1 0−1 1 1

·

y1

y2

y3

=

012

y1 = 0y2 = 1y3 = 1

.

Paso 2.

Ux = y ⇒

3 1 20 1 −20 0 −4

·

x1

x2

x3

=

011

x1 = 0x2 = 1

2x3 = −1

4

,

que es la solucion del sistema.¤

Page 55: Teoría entera

Sistemas lineales 55

3.3.1 Metodo de Crout

Si en la factorizacion LU fijamos

u11 = u22 = · · · = unn = 1

se obtiene la descomposicion por el metodo de Crout, que tiene el inconvenienteque puede producir grandes errores en la resolucion del sistema de ecuaciones.

3.3.2 Metodo de Cholesky

Si en la factorizacion LU exigimos que U = Lt de modo que

l11 = u11, l21 = u12, l31 = u13, . . . , lij = uji, . . . , lnn = unn,

se obtiene la descomposicion por el metodo de Cholesky que funciona si y solosi la matriz inicial A es simetrica y definida positiva. Por tanto, si consigo ladescomposicion de una matriz por el metodo de Cholesky, puedo asegurar quedicha matriz es simetrica y definida positiva.

La resolucion de un sistema de n = 50 ecuaciones con el metodo de Cho-lesky requiere 503/3 operaciones.

3.3.3 Sistemas triangulares

Son sistemas de ecuaciones lineales en los que la matriz de los coeficientes esde la forma:

A =

a11 a12 0 0 0 . . . 0a21 a22 a23 0 0 . . . 00 a32 a33 a34 0 . . . 0

. . .0 0 . . . 0 ann−1 ann

.

Aparecen frecuentemente en la resolucion numerica de ecuaciones diferencialesy en la aproximacion por splines cubicos. En la mayorıa de los casos, la matrizadmite una descomposicion de la forma

1 0 0 . . . 0l21 1 0 . . . 00 l32 1 0

. . .0 0 . . . lnn−1 1

u11 u12 0 . . . 00 u22 u23 0 00 0 u32 u33 . . . 0

. . .0 0 . . . unn−1 unn

.

Page 56: Teoría entera

56 Capıtulo 3

Ejemplo: Dada la matriz

60 30 2030 20 1520 15 12

a) Obten la descomposicion de Cholesky.b) Obten la factorizacion de Gauss sin intercambio de filas y, a partir de ella,las descomposiciones de Crout y de Cholesky.

a)

60 30 2030 20 1520 15 12

= LLt =

l11 0 0l21 l22 0l31 l32 l33

l11 l21 l310 l22 l320 0 l33

por tanto

l211 = 60l11l21 = 30l11l31 = 20l221l

222 = 20

l21l31 + l22l32 = 15l231 + l232 + l233 = 12

l11 =√60

l21 =√60/2

l31 =√60/3

l22 =√5

l32 =√5

l33 =√3/3

b) La factorizacion de Gauss se obtiene resolviendo el sistema de ecuacionesque se deduce de

60 30 2030 20 1520 15 12

=

1 0 0l21 1 0l31 l32 1

u11 u12 u13

0 u22 u23

0 0 u33

.

La descomposicion que resulta es

A =

60 30 2030 20 1520 15 12

=

1 0 01/2 1 01/3 1 1

60 30 200 5 50 0 1/3

.

Descomponiendo la segunda matriz de la parte derecha de la igualdad en unproducto de una matriz diagonal por otra triangular superior con 1 en cada

Page 57: Teoría entera

Sistemas lineales 57

elemento de la diagonal, se obtiene que

A =

1 0 01/2 1 01/3 1 1

60 0 00 5 00 0 1/3

1 1/2 1/30 1 10 0 1

= (∗)

Multiplicando las dos primeras matrices anteriores

(∗) =

60 0 030 5 020 4 1/3

1 1/2 1/30 1 10 0 1

que es la descomposicion de Crout.Si en (∗) descomponemos la matriz diagonal

(∗) =

1 0 01/2 1 01/3 1 1

√60 0 0

0√5 0

0 0√

1/3

√60 0 0

0√5 0

0 0√

1/3

1 1/2 1/30 1 10 0 1

=

=

√60 0 0√

60/2√5 0√

60/3√5√3/3

√60√60/2

√60/3

0√5

√5

0 0√3/3

que es la descomposicion de Cholesky.¤

3.4 Normas y analisis del error

Definicion: Sea V un espacio vectorial. Una norma sobre V es una aplica-cion ‖ · ‖ : V → R tal que ∀v, w ∈ V y ∀α ∈ R se verifica que:

1. ‖v‖ ≥ 0 (v = 0⇔ ‖v‖ = 0)

2. ‖v + w‖ ≤ ‖v‖+ ‖w‖

3. ‖αv‖ = |α|‖v‖.

Page 58: Teoría entera

58 Capıtulo 3

Ejemplo: las siguientes son normas definidas sobre el espacio vectorialR3:

1. Norma euclıdea o norma 2: ‖(x, y, z)‖2 =√x2 + y2 + z2

2. Norma del maximo o norma infinito: ‖(x, y, z)‖∞ = max(|x|, |y|, |z|)

3. Norma 1: ‖(x, y, z)‖1 = |x|+ |y|+ |z|

¤

La norma de un vector mide la ”distancia”de ese vector al origen. Ladistancia entre dos vectores se mide con la norma del vector diferencia. Lasnormas del ejemplo son diferentes formas de ”medir”las distancias entre losvectores de R3.

Puesto que el conjunto Mn×n de las matrices cuadradas de orden n, conlas operaciones suma y producto por un numero real es un espacio vectorial,para ”medir”matrices tambien se utilizaran normas que, por tanto, tendranque verificar las condiciones de la definicion de norma. Si ademas de esascondiciones se verifica que

‖A ·B‖ ≤ ‖A‖‖B‖ A,B ∈Mn×n

entones dicha norma es una norma matricial.Una norma matricial ‖ · ‖

Msobre Mn×n y una norma vectorial ‖ · ‖

Vsobre

Rn se dice que son compatibles si se verifica que

‖Av‖V≤ ‖A‖

M‖v‖

V∀A ∈Mn×n∀v ∈ Rn.

Dada cualquier norma vectorial ‖ · ‖Vsobre Rn, es posible definir una norma

matricial sobreMn×n de la siguiente forma:

‖A‖M

= max‖Av‖V: ‖v‖

V= 1

Esta nueva norma se llama norma matricial inducida o subordinada ala norma vectorial correspondiente. La norma vectorial y su norma matricialsubordinada son siempre compatibles.

Page 59: Teoría entera

Sistemas lineales 59

Ejemplos:1. La norma matricial inducida por la norma vectorial 1 en R3 es

‖A‖1 =

∥∥∥∥∥∥

a11 a12 a13

a21 a22 a23

a31 a32 a33

∥∥∥∥∥∥1

= max1≤j≤n

n∑

i=1

|aij |.

De modo que

∥∥∥∥∥∥

3 1 26 3 2−3 0 −8

∥∥∥∥∥∥1

= max(12, 4, 12) = 12.

2. La norma matricial inducida por la norma vectorial 2 en R3 es

‖A‖2 =√ρ(At ·A).

ρ(At ·A) es el radio espectral de At ·A que es el maximo de los valores absolutosde los autovalores de la matriz At ·A.

Para calcular ‖A‖2 =

∥∥∥∥∥∥

2 3 00 −1 00 0 1

∥∥∥∥∥∥2

debemos calcular primero los au-

tovalores de ‖At ·A‖ que son las raıces de

|AtA− αId| =

∣∣∣∣∣∣

13− α −3 0−3 1− α 00 0 1− α

∣∣∣∣∣∣= (1− α)(α2 − 14α+ 4).

Los autovalores de AtA son 7±√5 y 1 y como consecuencia

‖A‖2 =

∥∥∥∥∥∥

2 3 00 −1 00 0 1

∥∥∥∥∥∥2

=

√7 +√5

3. La norma matricial inducida por la norma infinito en R3 es

‖A‖∞ =

∥∥∥∥∥∥

a11 a12 a13

a21 a22 a23

a31 a32 a33

∥∥∥∥∥∥∞

= max1≤i≤n

n∑

j=1

|aij |.

Page 60: Teoría entera

60 Capıtulo 3

De modo que

∥∥∥∥∥∥

3 1 26 3 2−3 0 −8

∥∥∥∥∥∥∞

= max(6, 11, 11) = 11.

4. Se define la norma matricial de Frobenius como ‖A‖ =√∑

1≤i,j≤n |ai,j |2.

¤

3.4.1 Numero condicion de una matriz

Se define el numero de condicion de una matriz A como

k(A) = ‖A‖‖A−1‖.El numero de condicion siempre es mayor o igual que 1 y se utiliza para estimarsi un sistema de ecuaciones Ax = b esta bien o mal condicionado, es decir, sipequenos cambios en los datos (A o b) pueden producir grandes cambios en lasolucion del sistema.

Supongamos que en vez de b utilizamos b de modo que la solucion delsistema es x y Ax = b. Esto puede ser debido a que hay un pequeno errorcometido al hacer alguna medida en b o bien porque en vez de la solucionexacta x hemos obtenido una solucion aproximada x. Si denotamos e al erroren la solucion y r al error en b o error residual, se verifica que Ae = Ax−Ax =b− b = r.

Teorema:1

k(a)

‖r‖‖b‖ ≤

‖e‖‖x‖ ≤ k(a)

‖r‖‖b‖ .

Demostracion. Veamos que 1k(a)

‖r‖‖b‖ ≤

‖e‖‖x‖ . Se verifica que

‖r‖‖x‖ = ‖Ae‖‖A−1b‖ ≤ ‖A‖‖e‖‖A−1‖‖b‖Por tanto

1

‖A‖‖A−1‖‖r‖‖b‖ ≤

‖e‖‖x‖

Vemos que ‖e‖‖x‖ ≤ k(a)‖r‖‖b‖ . Se verifica que

‖e‖‖b‖ ≤ ‖A−1r‖‖Ax‖ ≤ ‖A−1‖‖r‖‖A‖‖x‖.

Page 61: Teoría entera

Sistemas lineales 61

Por tanto‖e‖‖x‖ ≤ ‖A‖‖A

−1‖‖r‖‖b‖ .

¤

Si k(A) estan cerca de 1 el sistema estara bien condicionado porque el error

relativo en la solucion ‖e‖‖x‖ sera similar al error relativo ‖r‖

‖b‖ en los datos. Si por

el contrario k(A) es muy grande, el sistema puede estar mal condicionado ypequenos cambios en los datos podran producir grandes cambios en la solucion.

Ejemplo: Dado el sistema

3.02 −1.05 2.534.33 0.56 −1.78−0.83 −0.54 1.47

x1

x2

x3

=

235

1. Encuentra el numero de condicion de la matriz A de los coeficientes con‖ · ‖∞.

2. Acota el error relativo de las posibles soluciones en funcion del error enlos datos.

a) La matriz inversa redondeada a dos decimales es

A−1 =

5.66 −7.27 −18.55200.51 −268.26 −669.91−76.85 −102.65 −255.88

con lo quek(a) = ‖A‖‖A−1‖ = 6.67 · 1138.68 = 7595.

b) Se verifica que

1

7595

‖r‖5≤ ‖e‖‖x‖ ≤ 7595

‖r‖5

es decir

2.63 · 10−5‖r‖ ≤ ‖e‖‖x‖ ≤ 1591‖r‖

¤

Page 62: Teoría entera

62 Capıtulo 3

3.5 Mejora de soluciones

3.5.1 Refinamiento iterativo

Es un metodo para mejorar una solucion aproximada ya obtenida. Sea x unasolucion aproximada de Ax = b tal que Ax = b. Se verifica que

x = A−1b = x+x− x = x+A−1b+A−1b = x+A−1(b− b) = x+A−1r = x+e.

El metodo consiste en aplicar los siguientes pasos:1. Calculo r = b−Ax con doble precision.2. Calculo e resolviendo el sistema Ae = r.3. La nueva solucion aproximada sera ˜x = x+ e.

Los pasos anteriores se repiten las veces necesarias para mejorar la solucion.

Ejemplo: Si como solucion aproximada del sistema

420 210 140 105210 140 105 84140 105 84 70105 84 70 60

x1

x2

x3

x4

=

875539399319

se obtiene x = (0.999988, 1.000137, 0.999670, 1.000215), aplica el metodo derefinamiento iterativo para mejorarla.1. Calculo r = b−Ax con doble precision.

r =

875539399319

420 210 140 105210 140 105 84140 105 84 70105 84 70 60

0.9999881.0001370.9996701.000215

=

−1.05000000 · 10−4

−7.0000000 · 10−5

−3.5000000 · 10−5

−4.8000000 · 10−5

.

2. Resuelvo

420 210 140 105210 140 105 84140 105 84 70105 84 70 60

e1

e2

e3

e4

=

−1.05 · 10−4

−7.0 · 10−5

−3.5 · 10−5

−4.8 · 10−5

y obtengo e = (1.1 · 10−5,−1.4 · 10−5, 3.30 · 10−4,−2.15 · 10−4)

3. La nueva solucion es ˜x = (0.999999, 0.999997, 1, 1).¤

Page 63: Teoría entera

Sistemas lineales 63

3.5.2 Escalamiento

Si en un sistema de ecuaciones los coeficientes de las incognitas son de muydiferente magnitud, la solucion numerica del sistema puede contener errores.

Ejemplo: Resolvamos el siguiente sistema por eliminacion gaussiana:

2x1 + 100000x2 = 100000x1 + x2 = 2

(2 100000 1000001 1 2

)(fila 2)− 1/2 (fila 1)

ÃÃ

(2 100000 1000000 −999991 −99998

)

De modo que las soluciones son

x1 = 100000−100000x2

2 ≈ 0x2 = −99998

−99999 ≈ 1( redondeado a 4 cifras)

Sin embargo el resultado correcto es x1 = 1.00002 y x2 = 0.99998.¤

Para solucionar este problema se puede recurrir al escalamiento que con-siste en multiplicar cada ecuacion por un numero para que el coeficiente masgrande de las incognitas en valor absoluto sea 1. Al aplicar el escalamientopodemos cometer a su vez errores de redondeo, pero puede ayudar en casosextremos cuando hay mucha diferencia entre los coeficientes.

Ejemplo: En el caso anterior

0.00002x1 + x2 = 1x1 + x2 = 2

redondeando a 4 decimales

x2 = 1x1 + x2 = 2

aplicando el pivoteox1 + x2 = 2

x2 = 1

y las soluciones son x1 = y x2 = 1.¤

Page 64: Teoría entera

64 Capıtulo 3

3.6 Metodos iterativos

Los metodos directos estudiados anteriormente requieren aproximadamenten3/3 operaciones. Son sensibles a errores de redondeo que se acrecientan alaumentar n. De modo que, aunque teoricamente conducen a una solucionexacta, en la practica la solucion obtenida puede ser peor que la obtenidaaproximadamente por un metodo iterativo.

Los metodos iterativos estan especialmente indicados para la resolucionde sistemas con una matriz de gran dimension pero dispersa, es decir, conmuchos ceros, que suelen aparecer por ejemplo en la resolucion de ecuacionesdiferenciales en derivadas parciales.

Un metodo iterativo de resolucion de un sistema de n ecuaciones Ax = bes aquel a partir de un x0 ∈ Rn genera una sucesion de posibles solucionesaproximadas x1, x2, . . . . El metodo es convergente si la sucesion generadaconverge a la solucion del sistema a partir de cualquier vector inicial x0. Esconsistente si, en caso de converger, el lımite es la solucion.

Todos las metodos iterativos de resolucion de un sistema Ax = b se basanen la descomposicion de la matriz A en diferencia de dos matrices M − N ,siendo M una matriz regular. De modo que

Ax = b⇔ (M −N)x = b⇔Mx = Nx+ b⇔ x = M−1(Nx+ b)

Si definimos G(x) = M−1(Nx+b), veremos que para encontrar la solucion delsistema basta encontrar un vector fijo de la funcion G(x). Para ello se generauna sucesion xk = G(xk−1) partiendo de una determinada solucion aproximadax0. La sucesion convergera a la solucion en determinadas condiciones.

En la practica, dadas las matrices M y N , puesto que

xk = G(xk−1) = M−1(Nxk−1) + b)⇒Mxk = Nxk−1 + b,

para calcular xk a partir de xk−1 se resuelve el sistema

Mxk = Nxk−1 + b.

Es esencial que M sea una matriz regular y es conveniente que sea una matrizsencilla para facilitar el calculo.

La condicion que asegura la convergencia es la siguiente.

Page 65: Teoría entera

Sistemas lineales 65

Teorema: En las condiciones anteriores, si existe una norma matricialtal que ‖M−1N‖ < 1, entonces la sucesion xk+1 = G(xk) converge a un puntofijo de la funcion G(x).

Demostracion. Teniendo en cuenta que

‖G(y)−G(y′)‖ = ‖M−1(Ny + b)−M−1(Ny′ + b)‖= ‖M−1Ny −M−1Ny′‖ = ‖M−1N(y − y′)‖≤ ‖M−1N‖‖y − y′‖.

Si ‖M−1N‖ < λ < 1 para un cierto λ ∈ R, entonces ‖G(y)−G(y′)‖ < λ‖y−y′‖.A partir de un vector x0 vamos generando la sucesion xk+1 = G(xk) y severifica que

‖xk+1 − xk‖ = ‖G(xk)−G(x)k−1‖ =‖G(xk − xk−1)‖ <λ‖xk − xk−1‖ < . . . < λk‖x1 − x0‖.

Por tanto

‖xk+p − xk‖ < ‖xk+p − xk+p−1 + xk+p−1 − . . .− xk‖

≤p∑

i=1

‖xk+i − xk+i−1‖ <p−1∑

i=0

λk+i−1‖x1 − x0‖

= ‖x1 − x0‖p−1∑

i=0

λk+i−1 = ‖x1 − x0‖λk−1 − λk+p−1

1− λ

k→∞→ 0.

De modo que la sucesion xk+1 = G(xk) es una sucesion convergente a unvector x ∈ Rn si ‖M−1N‖ < λ < 1 para un cierto λ ∈ R. Dicho vector xverifica que

x−G(x) = limk→∞

xk−G( limk→∞

xk) = limk→∞

G(xk−1)−G( limk→∞

xk)

= G( limk→∞

(xk−1 − xk)) = G(0) = 0⇒ x = G(x).

¤

Page 66: Teoría entera

66 Capıtulo 3

En resumen, un metodo iterativo de resolucion de un sistema Ax = bconsiste en generar una sucesion xk = G(xk−1) siendo G(x) = M−1(Nx + b)y A = M −N . Hay que tener en cuenta lo siguiente:

1. Si |M | 6= 0, puedo calcular xk a partir de xk−1.2. Si el sistema Mx = c se resuelve facilmente, el metodo iterativo es mas

rapido.3. Si ‖M−1N‖ < 1 para alguna norma matricial, la sucesion xk converge

a la solucion del sistema Ax = b.

3.6.1 Metodo de Jacobi

Dada la matriz A = (aij)1≤i,j≤n, se definen:

D =

a11 0 · · · 00 a22 0 · · · 0

· · ·0 · · · 0 ann

, L =

0 · · · 0a21 0 · · · 0a31 a32 0 · · · 0

· · ·an1 an2 · · · ann−1 0

U =

0 u12 · · · u1n

0 0 u23 · · · u2n

· · ·0 · · · 0 un−1n

0 · · · 0 0

En el metodo de Jacobi M = D y N = −(L+U). Para calcula xk a partir dexk−1 se resuelve el sistema

Dxk = −(L+ U)xk−1 + b.

Para aplicar el metodo se requiere que aii 6= 0 para todo i. Si |A| 6= 0, esto sepuede conseguir intercambiando filas si fuese necesario.

El metodo converge si ‖M−1N‖ < 1 para alguna norma matricial. Puestoque

M−1N =

0 −a12

a11

−a13

a11· · · −a1n

a11−a21

a220 −a23

a22· · · −a2n

a22

· · ·−an1

ann· · · −ann−1

ann0

y

Page 67: Teoría entera

Sistemas lineales 67

‖M−1N‖∞ = max1≤i≤n

(∑nj=1,j 6=i |aij |

)1aii

,

una condicion suficiente para que el metodo de Jacobi converja es que la matrizA sea diagonal dominante, es decir que |aii| >

∑nj=1,j 6=i |aij | ∀i = 1, 2, . . . , n.

Como

‖M−1N‖1 = max1≤j≤n∑n

i=1,i6=j

(|aij | 1

aii

),

otra condicion suficiente es que lo anterior sea menor que 1.Por ultimo, una tercera condicion suficiente es que la matriz D − L − U

sea simetrica y definida positiva.

Ejemplo: Aplica una iteracion del metodo de Jacobi al siguiente sistema

6 5 00 2 12 0 3

x1

x2

x3

=

010

.

La matriz es diagonal dominante de modo que la sucesion xk de vectoresgenerados mediante el metodo de Jacobi convergera a la solucion. Se tieneque

D =

6 0 00 2 00 0 3

− (L+ U) =

0 −5 00 0 −1−2 0 0

Si elegimos como vector inicial el x0 = (0, 0, 0), habra que resolver el sistema

6 0 00 2 00 0 3

x1

1

x12

x13

=

0 −5 00 0 −1−2 0 0

000

+

010

Por tanto6x1

1 = 02x1

2 = 13x1

3 = 0⇒

x11 = 0

x12 = 1

2x1

3 = 0

El siguiente vector serıa x1 = (0, 1/2, 0).¤

Page 68: Teoría entera

68 Capıtulo 3

3.6.2 Metodo de Gauss-Seidel

En este metodo M = D+L y N = −U . El sistema a resolver para calcular xk

a partir de xk−1 sera (D+L)xk = −Uxk−1+b. Distintas condiciones suficientespara que el metodo funcione son:

1. que A sea diagonal dominante2. que At sea diagonal dominante3. que A sea simetrica y definida positiva.El metodo de Gauss-Seidel es dos veces mas rapido que el de Jacobi.

Ejemplo: Aplica el metodo de Gauss-Seidel al siguiente sistema

6 2 00 5 12 0 3

x1

x2

x3

=

010

.

Tendremos que

D + L =

6 0 00 5 02 0 3

U =

0 2 00 0 10 0 0

.

Si partimos de x0 = (0, 0, 0), habra que resolver el sistema

6 0 00 5 02 0 3

x1

1

x12

x13

=

0 −2 00 0 −10 0 0

000

+

010

y se obtiene que x1 = (0, 1/5, 0)¤

Page 69: Teoría entera

Sistemas lineales 69

3.6.3 Metodos de relajacion

En el metodo de Jacobi, para calcular cada componente de xk se utilizan todoslos valores de xk−1. Sin embargo, en el metodo de Gauss-Seidel, para calcularla componente i-esima de xk (xki ) se utilizan las componentes xk1, x

k2, . . . , x

ki−1

del vector xk y las componentes xk−1i+1 , . . . , x

k−1n del vector xk−1. De este modo,

el calculo de las componentes de xk se divide en etapas, utilizando en cadauna de ellas un vector diferente:

Etapa 1: calculo xk1 usando (xk−12 , xk−1

3 , . . . , xk−1n ).

Etapa 2: calculo xk2 usando (xk1, xk−13 , . . . , xk−1

n ).

Etapa 3: calculo xk3 usando (xk1, xk2, x

k−14 , . . . , xk−1

n ).

Etapa n: calculo xkn usando (xk1, xk2, . . . , x

kn−1).

En cada etapa se manejan tan solo vectores de n − 1 variables en lugar den con el consiguiente ahorro en tiempo. Ademas, la informacion obtenida encada etapa se incorpora a la siguiente. Los metodos que utilizan esto ultimo sellaman ”metodos de relajacion sucesiva”y se desarrollaron para la resolucion desistemas con matrices de dimension grande pero con casi todos los elementosnulos.

En un metodo de relajacion se considera

M =1

wD + L N =

1− w

wD − U

con lo que M − N = A. w se llama factor de relajacion. En funcion de suvalor se tiene

• Subrelajacion si 0 < w < 1.

• Super-relajacion si w > 1

• Gauss-Seidel si w = 1.

Si w 6∈ (0, 2) el metodo no converge. Una condicion suficiente para la conver-gencia es que A sea simetrica y definida positiva.

Page 70: Teoría entera
Page 71: Teoría entera

Capıtulo 4

Aproximacion de funciones

Dada una tabla de datos como esta

x −1 0 1 2

y −2 −2 0 4

que representa unos valores y en funcion de otros x, pretendemos encontraruna funcion y = f(x) que pase por esos puntos.

4.1 Construccion del polinomio interpolador

Teorema: Dada una tabla de n+1 puntos (x0, y0), (x1, y1), . . . , (xn, yn) conxi 6= xj, existe un unico polinomio Pn(x) de grado menor o igual que n demodo que

Pn(xi) = yi ∀i = 0, 1, . . . , n.

Dicho polinomio se llama polinomio interpolador de los puntos.

71

Page 72: Teoría entera

72 Capıtulo 4

Demostracion. Consideremos un polinomio cualquiera de grado menor oigual que n :

Pn(x) = a0 + a1x+ a2x2 + · · ·+ anx

n.

Puesto que queremos que Pn(xi) = yi ∀i = 0, 1, . . . , n tendremos que

a0 + a1x0 + a2x20 + · · ·+ anx

n0 = y0

a0 + a1x1 + a2x21 + · · ·+ anx

n1 = y1

· · ·a0 + a1xn + a2x

2n + · · ·+ anx

nn = yn

que es un sistema de n+ 1 ecuaciones lineales con n+ 1 incognitas en el queel determinante de la matriz de los coeficientes es distinto de 0 :

∣∣∣∣∣∣∣∣

1 x0 x20 · · · xn0

1 x1 x21 · · · xn1

· · ·1 xn x2

n · · · xnn

∣∣∣∣∣∣∣∣6= 0.

Por lo tanto, el sistema es compatible determinado y tiene una unica solucion.¤

Ejemplo: Demuestra que existe un polinomio que pasa por los puntos dela tabla

x −1 0 1 2

y −2 −2 0 4

Como son 4 puntos buscaremos un polinomio de grado menor o igual que3 de la forma Pn(x) = a0 + a1x+ a2x

2 + a3x3. El sistema que resulta es

a0 + a1(−1) + a2(−1)2 + a3(−1)3 = −2a0 + a1(0) + a2(0)

2 + a3(0)3 = −2

a0 + a1(1) + a2(1)2 + a3(1)

3 = −2a0 + a1(2) + a2(2)

2 + a3(2)3 = 4

Que es un sistema compatible determinado y que, por tanto, tiene una unicasolucion, es decir, existe un unico polinomio de grado menor o igual que 3 quepasa por los puntos de la tabla. Dicho polinomio es P (x) = −2 + x+ x2.

¤

Page 73: Teoría entera

Aproximacion de funciones 73

4.1.1 Metodo de Lagrange

Dados los puntos (x0, y0), (x1, y1), . . . , (xn, yn), el polinomio interpoladorPn(x) se puede calcular ası:

Pn(x) =n∑

i=0

Li(x)yi

donde

Li(x) =Πj 6=i(x− xj)

Πj 6=i(xi − xj)=

(x− x0)(x− x1) . . . (x− xi−1)(x− xi+1) . . . (x− xn)

(xi − x0)(xi − x1) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn).

Se verifica queLi(xi) = 1 Li(xj) = 0 ∀i 6= j

de modo que

Pn(xj) =

n∑

i=0

Li(xj)yi = yj .

Ejemplo: En el ejemplo anterior

L0(x) =x(x−1)(x−2)(−1)(−2)(−3) L1(x) =

(x+1)(x−1)(x−2)1(−1)(−2)

L2(x) =(x+1)x(x−2)

2·1(−1) L3(x) =(x+1)x(x−1)

3·2·1

¤

4.1.2 Metodo de Newton

Dados los puntos (x0, y0), (x1, y1), . . . , (xn, yn), se pueden calcular las dife-rencias divididas• de primer orden: [xi, xi+1] =

yi+1−yixi+1−xi

• de segundo orden: [xi, xi+1, xi+2] =[xi+1,xi+2]−[xi,xi+1]

xi+2−xi· · ·• de orden k [xi, xi+1, . . . , xi+k] =

[xi+1,··· ,xi+k]−[xi,··· ,xi+k−1]xi+k−xi

Las diferencias divididas son invariantes frente a permutaciones. Por ejemplo:

[x0, x1, x2] = [x1, x0, x2].

La tabla siguiente permite construir de forma sencilla las diferencias divididas:

Page 74: Teoría entera

74 Capıtulo 4

x0 y0 [x0, x1] [x0, x1, x2] [x0, x1, x2, x3]x1 y1 [x1, x2] [x1, x2, x3]x2 y2 [x2, x3]x3 y3

. . .

El polinomio interpolador se construye a partir de las diferencias divididas ası:

Pn(x) = y0 + [x0, x1](x− x0) + [x0, x1, x2](x− x0)(x− x1) + . . .

· · ·+ [x0, x1, x2, . . . , xn](x− x0)(x− x1) . . . (x− xn−1).

Ejemplo: En el ejemplo anterior la tabla serıa la siguiente

−1 −2 0 1 00 −2 2 11 0 42 4

y el polinomio serıa P (x) = −2 + 1(x+ 1)x.¤

4.2 Error del polinomio interpolador

Dados los puntos (x0, y0), (x1, y1), . . . , (xn, yn) que provienen de una ciertafuncion y = f(x), si conocemos cierta informacion sobre las derivadas de lafuncion f(x), podemos estimar el error que se comete al aproximar f(x) porsu polinomio interpolador Pn(x) de grado menor o igual que n.

Teorema: Sea f(x) una funcion n + 1 veces diferenciable en un inter-valo (a, b) y sea Pn(x) su polinomio interpolador en los nodos x0, x1, . . . , xncontenidos en [a, b]. Para cada x ∈ [a, b] existe un punto θx ∈ (a, b) tal que

f(x)− Pn(x) =fn+1)(θx)

(n+ 1)!(x− x0)(x− x1) . . . (x− xn).

Demostracion. Sea w(t) = (t − x0)(t − x1) . . . (t − xn). Para un valor fijox ∈ [a, b] existe un λ ∈ R tal que f(x)−Pn(x) = λw(x). De modo que tenemosla funcion

Φ(t) = f(t)− Pn(t)− λw(t)

Page 75: Teoría entera

Aproximacion de funciones 75

que vale 0 en x, x0, x1, . . . , xn. Por tanto, Φ1)(t) se anulara en n + 1 puntos,Φ2)(t) se anulara en n puntos y Φn+1)(t) se anulara en 1 punto θx ∈ (a, b):

Φn+1)(θx) = fn+1)(θx)− Pn+1)(θx)− λwn+1)(θx) = 0

es decir

fn+1)(θx)− λ(n+ 1)! = 0⇒ λ =fn+1)(θx)

(n+ 1)!.

Como consecuencia

f(x)− Pn(x) =fn+1)(θx)

(n+ 1)!w(x).

¤

Ejemplo: El error al aproximar la funcion f(x) = sen(x) en un puntox ∈ [0, 1] mediante un polinomio interpolador en 9 nodos contenidos en elintervalo [0, 1] se puede acotar ası:

|f(x)− P9(x)| ≤|f10)(θx)|

10!|Π9

i=0(x− xi)| ≤1

10!< 2.8 · 10−7

¤

4.2.1 Eleccion de nodos. Polinomios de Chebyshev

Si pretendemos encontrar un polinomio que interpole a una determinada fun-cion y los nodos no estan previamente fijados, ¿que nodos podemos elegir?Elegir los nodos proporcionados por los polinomios de Chebyshev tienen algu-na ventaja.

Definicion: Los polinomios de Chebyshev se definen ası:

T0(x) = 1 T1(x) = x Tn+1(x) = 2xTn(x)− Tn−1(x) si n ≥ 1

Proposicion: Las raıces del polinomio de Chebyshev Tn(x) si n ≥ 1 sonlos valores

cos

(2j − 1

2nπ

)∀1 ≤ j ≤ n.

Page 76: Teoría entera

76 Capıtulo 4

Como consecuencia, todas las raıces de cualquier polinomio de Chebyshevestan contenidas en el intervalo [−1, 1].

Teorema: Si los nodos (xi), con i = 0, 1, . . . , n, de interpolacion de unafuncion f(x) en x ∈ [−1, 1] son las raıces del polinomio de Chebyshev Tn+1(x),entonces

|f(x)− Pn(x)| ≤1

2n(n+ 1)!max|t|≤1|fn+1)(t)|.

La justificacion del teorema se basa en que la expresion

max|x|≤1

Πni=0|(x− xi)|

que proviene de la formula general del error en la interpolacion, se hace mınimacuando xi son las raıces del polinomio de Chebyshev correspondiente. El re-sultado del teorema permite encontrar una cota del error del polinomio inter-polador mas pequena que la establecida con caracter general.

Si en lugar del intervalo [−1, 1] tenemos un intervalo [a, b], si aplicamos alos nodos de Chebyshev la transformacion afın que lleva el intervalo [−1, 1] enel intervalo [a, b], obtenemos unos nuevos nodos tales que:

|f(x)− Pn(x)| ≤(b−a2

)n+1

2n(n+ 1)!maxt∈[a,b]

|fn+1)(t)|.

Ejemplo: Calcula los cuatro nodos para la interpolacion de una funcionen el intervalo [−1, 1] y en el intervalo [2, 8] haciendo uso de los polinomio deChebyshev. Establece una cota del error en cada caso para la funcion f(x) =sin(x).

Calculamos las raıces de T4(x) = 8x4 − 8x2 + 1 :

x0 = −0.9239 x1 = −0.3827 x2 = 0.3827 x3 = 0.9239.

Estos serıa los nodos en el intervalo [−1, 1]. Para calcular los nodos en elintervalo [2, 8] necesitamos una transformacion afın αx+β que lleve el intervalo

Page 77: Teoría entera

Aproximacion de funciones 77

[−1, 1] en el intervalo [2, 8] :

[−1, 1] → [2, 8]−1 7→ α(−1) + β = 21 7→ α(1) + β = 8

Resolviendo el sistema formado por las dos ultimas ecuaciones, obtenemos quela transformacion es 3x + 5. Aplicamos esta transformacion a los nodos deChebyshev y obtenemos los nuevos nodos en el intervalo [2, 8] :

x′0 = 2.2284 x′1 = 3.8519 x′2 = 6.1481 x′3 = 7.7716.

Veamos las cotas de los errores para la funcion f(x) = sin(x) en cada caso.Para el intervalo [−1, 1] :

|f(x)− P (x)| ≤ 1

2n(n+ 1)!max|t|≤1|fn+1)(t)| ≤ 1

23(4)!

Para el intervalo [2, 8] :

|f(x)− Pn(x)| ≤(b−a2

)n+1

2n(n+ 1)!maxt∈[a,b]

fn+1)(t) ≤ 34

234!.

¤

¿Es cierto que si n aumenta el polinomio Pn(x) se ”parece”mas a la fun-cion f(x)? En general la respuesta es que no. Por ejemplo, dada funcionf(x) = 1

1+x2 en [−5, 5], si elegimos los nodos xi igualmente espaciados, se pue-de demostrar que los polinomios no convergen a la funcion fuera del intervalo[−3.63, 3.63]. (Ver figura 4.1)

Otro ejemplo es la funcion f(x) = |x| en [−1, 1], en la cual la convergenciase produce solo en los puntos −1, 0, 1.

Sin embargo, si elegimos los nodos de Chebyshev y la funcion f(x) a in-terpolar es continua y con derivada continua, entonces Pn(x) converge uni-formemente a f(x) en todo el intervalo. No obstante, para cualquier eleccionde nodos es posible encontrar una funcion continua tal que no se produce esaconvergencia uniforme.

Page 78: Teoría entera

78 Capıtulo 4

-4 -2 2 4

0.5

1

1.5

2

-4 -2 2 4

-0.5

0.5

1

1.5

2

Figura 4.1: 11+x2 y sus polinomios interpoladores de grado 10 y 20.

4.3 Interpolacion a trozos y con condiciones sobre

la derivada

4.3.1 Interpolacion a trozos

Si disponemos de ciertos valores de una funcion f(x) en un intervalo [a, b],se puede obtener una aproximacion a la funcion f(x) dividiendo el intervaloen varios intervalos mas pequenos (subintervalos) y utilizando polinomios depequeno grado (1,2,3, etc.) distintos para interpolar los valores de cada su-bintervalo. La siguiente grafica muestra la funcion seno y una funcion que lainterpola con trozos de recta en varios puntos:

1 2 3 4 5 6

-1

-0.5

0.5

1

Page 79: Teoría entera

Aproximacion de funciones 79

Ejercicio: Dada la tabla

x −1 0 1 2

y −2 −2 0 4

encuentra una funcion formadaa) por trozos de rectab) por trozos de parabolaque pase por los puntos anteriores. ¤

4.3.2 Interpolacion con condiciones sobre la derivada

El siguiente es un ejemplo de problema de interpolacion con condiciones sobrela derivada.

Ejemplo 1: Encuentra un polinomio P (x) tal que P (0) = 0, P (1) = 1 yP ′(0.5) = 2.

Puesto que son tres las condiciones que tenemos, cabe pensar que bastabuscar entre los polinomios con tres parametros, es decir, los polinomios degrado 3 de la forma P (x) = a+ bx+ cx2 :

P (0) = 0P (1) = 1

P ′(0.5) = 2⇒

a = 0b+ c = 1

b+ 2 · c · 0.5 = 2⇒

a = 0b+ c = 1b+ c = 2

El sistema anterior no tiene solucion, con lo que habrıa que buscar entre lospolinomios de grado 4. Al plantear las ecuaciones correspondientes resulta unsistema con solucion no unica.

¤

Ejemplo 2 (Interpolacion de Hermite): Encuentra un polinomio P (x) queinterpole a una funcion y = f(x) sabiendo que

x −1 0 1

y 1 1 −1y′ 2 0 0

Puesto que hay seis condiciones para la funcion y sus derivadas buscamosentre los polinomios de la forma P (x) = a0 + a1x+ · · ·+ a5x

5 que tienen seis

Page 80: Teoría entera

80 Capıtulo 4

coeficientes. Planteamos el sistema correspondiente segun las condiciones yobtenemos lo siguiente:

P (−1) = 1 P ′(−1) = 2P (0) = 1 P ′(0) = 0P (1) = 0 P ′(1) = 0

⇒a0 = 1 a3 = −3a1 = 0 a4 = 1

2a2 = −3

2 a5 = 2

Con lo que el polinomio buscado es P (x) = 1− 32x

2 − 3x3 + 12x

4 + 2x5.

¤

Ejemplo 3 (Interpolacion de Hermite cubica a trozos): Encuentra unafuncion formada por trozos de polinomios de grado 3 que verifique las siguien-tes condiciones

x −1 0 1

y 1 1 −1y′ 2 0 0

-1 -0.5 0.5 1

-1

-0.5

0.5

1

Figura 4.2: La funcion g(x)

Buscamos una funcion de la forma

g(x) =

P (x) si x ∈ [−1, 0]Q(x) si x ∈ [0, 1]

Page 81: Teoría entera

Aproximacion de funciones 81

donde P (x) = a+ bx+ cx2 + dx3 y Q(x) = a′ + b′x+ c′x2 + d′x3. A partir delas condiciones planteamos el sistema

P (−1) = 1 P ′(−1) = 2 Q(0) = 1 Q′(0) = 0P (0) = 1 P ′(0) = 0 Q(1) = −1 Q′(1) = 0

con lo que

g(x) =

1 + 2x2 + 2x3 si x ∈ [−1, 0]1− 6x2 + 4x3 si x ∈ [0, 1]

(Ver Figura 4.2)

¤

Ejemplo 5 (Splines cubicos): Encuentra una funcion polinomica cubica atrozos que sea de clase C2 (continua, derivable y con derivada segunda conti-nua) que verifique las siguientes condiciones

x −1 0 1

y 1 1 −1

-1 -0.5 0.5 1

-1

-0.5

0.5

1

Figura 4.3: La funcion h(x)

Buscamos una funcion de la forma

h(x) =

P (x) si x ∈ [−1, 0]Q(x) si x ∈ [0, 1]

Page 82: Teoría entera

82 Capıtulo 4

donde P (x) = a+ bx+ cx2 + dx3 y Q(x) = a′+ b′x+ c′x2 + d′x3 de modo que

P (−1) = 1 P (0) = 1 Q(0) = 1 Q(1) = −1 P ′(0) = Q′(0) P ′′(0) = Q′′(0)

Puesto que tenemos 6 ecuaciones y 8 incognitas necesitamos 2 condicionesmas. Por ejemplo, anadimos las siguientes

P ′′(−1) = 0 Q′′(1) = 0

y obtenemos un sistema compatible determinado de modo que

h(x) =

1− x− 3

2x2 − 1

2x3 si x ∈ [−1, 0]

1− x− 32x

2 + 12x

3 si x ∈ [0, 1]

(Ver Figura 4.3)

¤

Interpolacion de Hermite

Un problema de interpolacion de Hermite consiste en encontrar un polinomioP (x) (Polinomio de Hermite) tal que

P (x0) = y0 P ′(x0) = y′0 P ′′(x0) = y′′0 · · · P k0−1)(x0) = yk0−10

P (x1) = y1 P ′(x1) = y′1 P ′′(x1) = y′′1 · · · P k1−1)(x1) = yk1−11

· · ·P (xn) = yn P ′(xn) = y′n P ′′(xn) = y′′n · · · P kn−1)(xn) = ykn−1

n

siendo yi, y′i, · · · , y

k)i los valores de una cierta funcion y sus derivadas en n+1

puntos. Si el numero de condiciones impuestas es k1 + k2 + · · ·+ kn = m+ 1entonces

Teorema: Existe un unico polinomio de grado menor o igual que m quesatisface las condiciones de interpolacion de Hermite anteriores.

Demostracion. Sea P (x) un polinomio de grado menor o igual que m. Lascondiciones P j(xi) = yji dan lugar a un sistema de m + 1 ecuaciones de laforma Au = y. Este sistema tiene solucion unica si el sistema Au = 0 tieneunicamente la solucion 0, es decir, si el sistema formado por las condicionesP j)(xi) = 0 tiene como solucion unica el polinomio 0. Veamos que esto ultimo

Page 83: Teoría entera

Aproximacion de funciones 83

es cierto. Un polinomio P (x) que sea solucion del sistema P j)(xi) = 0 verificaque tiene la raız xi repetida ki veces, con lo que si P (x) no es cero, serıa degrado mayor o igual que m+ 1, en contradiccion con la hipotesis inicial.

¤

Ejercicio: ¿Que otro nombre recibe el polinomio de Hermite cuando solohay un nodo?

¤

Teorema. Sean x0, x1, . . . , xn nodos distintos de [a, b] y f ∈ C2[a, b]. SiP (x) es el polinomio de grado menor o igual que 2n+1 tal que P (xi) = f(xi)y P ′(xi) = f ′(xi), con 0 ≤ i ≤ n, entonces ∀x ∈ [a, b] ∃θ ∈ [a, b] tal que

f(x)− P (x) =f2n+2)(θ)

(2n+ 2)!Πni=0(x− xi)

2

¤

El polinomio de Hermite se puede calcular usando las diferencias divididas.Para ello definimos

[x0, x0] = limx→x0 [x0, x] = limx→x0

y − y0

x− x0= limx→x0

f(x)− f(x0)

x− x0= f ′(x0)

[x0, x0, x1] =[x0, x1]− [x0, x0]

x1 − x0

[x0, x0, x0] =1

2!f2)(x0) [x0, x0, x0, x0] =

1

3!f3)(x0)

Y de forma similar el resto de diferencias. En estas condiciones el polinomiode interpolacion de Hermite se calcula de forma parecida a como se calculabael polinomio de interpolacion sin condiciones sobre la derivada.

El calculo es mas sencillo haciendo uso de una tabla. Por ejemplo, si elproblema de Hermite incluye datos sobre la funcion y su derivada en trespuntos la tabla quedarıa ası:

x y 10 20 30 40 50

x0 y0 [x0, x0] [x0, x0, x1] [x0, x0, x1, x1] [x0, x0, x1, x1, x2] [x0, . . . , x2]x0 y0 [x0, x1] [x0, x1, x1] [x0, x1, x1, x2] [x0, x1, x1, x2, x2]x1 y1 [x1, x1] [x1, x1, x2] [x1, x1, x2, x2]x1 y1 [x1, x2] [x1, x2, x2]x2 y2 [x2, x2]x2 y2

Page 84: Teoría entera

84 Capıtulo 4

siendo

[x0, x0, . . . , x0] = 1k!f

k)(x0)k veces

.

El polinomio serıa

P (x) = y0 + [x0, x0](x− x0) + [x0, x0, x1](x− x0)2 +

+[x0, x0, x1, x1](x− x0)2(x− x1) +

+[x0, x0, x1, x1, x2](x− x0)2(x− x1)

2

+[x0, x0, x1, x1, x2, x2](x− x0)2(x− x1)

2(x− x2).

Ejemplo: Calcula el polinomio que verifica estas condiciones:

x −1 0 1

y 1 1 −1y′ 2 0 0

En este caso la tabla quedarıa ası

x y 10 20 30 40 50

-1 1 2 −2 2 −3/2 2-1 1 0 0 −1 5/20 1 0 −2 40 1 −2 21 -1 01 -1

El polinomio serıa

P (x) = 1+2(x+1)−2(x+1)2+2(x+1)2x−3/2(x+1)2x2+2(x+1)2x2(x−1)¤

Ejemplo: Calcula el polinomio que verifica las siguientes condiciones:

x 1 2

y 2 6

y′ 3 7

y′′ 8

Page 85: Teoría entera

Aproximacion de funciones 85

En este caso la tabla quedarıa ası

x y 10 20 30 40

1 2 3 1 2 −11 2 4 3 12 6 7 8/2!=42 6 72 6

El polinomio serıaP (x) = 2 + 3(x− 1) + 1(x− 1)2 + 2(x− 1)2(x− 2)− 1(x− 1)2(x− 2)2.

¤

Interpolacion cubica de Hermite a trozos

Dada la tabla de valores

x x0 x1 · · · xny y1 y2 · · · yny′ y′1 y′2 · · · y′n

correspondientes a una cierta funcion y sus derivadas, el metodo de inter-polacion cubica de Hermite a trozos consiste en encontrar una unica funcionderivable definida a trozos, tal que en cada intervalo [xi, xi+1] (i = 0, . . . , n−1),la funcion es un polinomio Pi(x) de grado menor o igual a 3 que verifica losiguiente

Pi(xi) = yi Pi(xi+1) = yi+1 P ′(xi) = y′i P ′i (xi+1) = y′i+1.

Planteando los correspondientes sistemas de ecuaciones, se puede encontrar launica funcion que interpola en esas condiciones.

Splines

Una funcion spline de grado k con nodos x0 ≤ x1 ≤ · · · ≤ xn es una funcionS(x) definida a trozos tal que:

a) S(x) es un polinomio Si(x) de grado menor o igual que k en cada inter-valo [xi, xi+1], con i = 0, 1, . . . , n− 1.

b) S(x) admite derivada segunda continua de orden k − 1 en [x0, xn].

Page 86: Teoría entera

86 Capıtulo 4

El spline cubico (k = 3) es el mas usado en interpolacion. Un spline cubico deinterpolacion en x0, x1, . . . , xn es una funcion que cumple las propiedadesa), b) y S(xi) = f(xi), con i = 0, 1, . . . , n. El numero de condiciones que sehan de cumplir es el siguiente:

condicion ecuaciones num. ec.

continuidad Si−1(xi) = Si(xi) con i = 1, . . . , n− 1 n− 1derivada 1a continua S′i−1(xi) = S′i(xi) con i = 1, . . . , n− 1 n− 1derivada 2a continua S′′i−1(xi) = S′′i (xi) con i = 1, . . . , n− 1 n− 1

interpolacion Si(xi) = yi con i = 0, . . . , n n+ 1

total 4n− 2

Cada polinomio cubico Si(x), con i = 0, . . . , n − 1, tendra 4 parametros,con lo que el numero de incognitas sera 4n−4. Por lo tanto, para poder resolverel correspondiente sistema de ecuaciones hemos de anadir dos condiciones masy podemos hacerlo de distintas formas:

• Si exigimos S′′(x0) = 0 y S′′(xn) = 0 obtendremos el spline cubiconatural.

• Si exigimos S′(x0) = S′(xn) y S′′(x0) = S′′(xn) obtendremos el splineperiodico.

Se pueden elegir otras condiciones distintas del spline natural o del periodico.Sin embargo, los splines natural y periodico existen y son unicos para cualquierconjunto de nodos y de datos. Ademas, si la funcion a interpolar f(x) tienederivada segunda continua en [x0, xn], entonces

∫ b

a[S′′(x)]2dx ≤

∫ b

a[f ′′(x)]2dx,

siendo S(x) el spline natural. Es decir, de entre todas las funciones con deriva-da segunda continua que pasan por ciertos puntos (x0, y0), (x1, y1), . . . , (xn, yn)el spline natural es el que tiene menor energıa elastica (menor tension1).

Por otra parte, si aumentamos el numero de puntos a interpolar en elintervalo [a, b] (n→∞) disminuyendo simultaneamente el tamano maximo delos subintervalos [xi, xi+1] (max0≤i≤n[xi, xi+1]→ 0), entonces el spline naturaly su derivada convergen uniformemente a f(x) y f ′(x) respectivamente.

1La tension o energıa elastica en [a, b] es proporcional a∫ ba[f ′′(x)]2dx.

Page 87: Teoría entera

Capıtulo 5

Diferenciacion e integracion

numerica

5.1 Diferenciacion numerica y extrapolacion de Ri-

charson

¿Puede calcularse la derivada de una funcion f(x) en un punto si se conocensolo los valores de la funcion f(x0), f(x1),. . . ,f(xn) en n + 1 puntos? Si lafuncion es un polinomio de grado n, entonces seguro que se puede. Si dela funcion solo sabemos que es derivable, entonces no sera posible, pues haymuchas funciones derivables que pasan por los mismos puntos. El objetivo deesta seccion es estimar el valor de f ′(x) a partir de los valores de la funcionen ciertos puntos f(x0), f(x1),. . . ,f(xn) dando una cota del error cometido.Dado que

f ′(x) = limh→0

f(x+ h)− f(x)

h

una primera estimacion es

f ′(x) ≈ f(x+ h)− f(x)

h

que es aplicable cuando conocemos los valores de la funcion en dos puntos:x0 = x y x1 = x+h. La formula anterior es exacta para funciones lineales (porejemplo, para f(x) = 3x+2) y en otros casos de manera fortuita. Calculemos

87

Page 88: Teoría entera

88 Capıtulo 5

una cota del error. Por el teorema de Taylor:

f(x+ h) = f(x) + f ′(x)h+f ′′(θ)

2!h2

es decir

f ′(x) =f(x+ h)− f(x)

h− h

2f ′′(θ).

El error al aproximar f ′(x) por f ′(x) = f(x+h)−f(x)h , llamado error de trunca-

miento, es

error = −h2f ′′(θ) (formula de orden h)

siendo θ un numero entre x y x + h. Cuanto menor sea h, mejor sera laaproximacion de f ′(x), hasta que el error de redondeo impida la mejora.

Ejemplo: Estima el valor de la derivada de cos(x) en el punto π4 y calcula

una cota del error cometido.

Tomando como h = 0.01

f ′(π

4) ≈ f(π4 + h)− f(π4 )

h=

cos(π4 + 0.01)− cos(π4 )

0.01= −0.71063050.

La cota del error serıa

|error| = | − h

2f ′′(θ)| = |0.01

2cos(θ)| ≤ 0.01

2= 0.005.

¤

Otra estimacion de f ′(x) es

f ′(x) ≈ f(x+ h)− f(x− h)

2h.

Veamos la estimacion del error. Del teorema de Taylor se deduce que

f(x+ h) = f(x) + f ′(x)h+ h2

2 f ′′(x) + h3

6 f ′′′(θ1)

f(x− h) = f(x)− f ′(x)h+ h2

2 f ′′(x)− h3

6 f ′′′(θ2).

Page 89: Teoría entera

Diferenciacion e integracion 89

Si restamos las ecuaciones anteriores

f(x+ h)− f(x− h) = 2f ′(x)h+h3

6[f ′′′(θ1) + f ′′′(θ2)].

Despejando

f ′(x) =f(x+ h)− f(x− h)

2h− h2

12[f ′′′(θ1) + f ′′′(θ2)]

con lo que el error de truncamiento serıa

−h2

12[f ′′′(θ1) + f ′′′(θ2)]

siendo θ1 un numero entre x y x+h y θ2 un numero entre x y x−h. Si f ′′′(x)existe y es continua en [x−h, x+h], entonces existe un numero θ ∈ [x−h, x+h]

tal que f ′′′(θ) = f ′′′(θ1)+f ′′′(θ2)2 , con lo que error de truncamiento quedarıa

error = −h2

6f ′′′(θ) (formula de orden h2).

Para estimar el valor de una derivada segunda podemos usar la formula

f ′′(x) =f(x+ h)− 2f(x) + f(x− h)

h2.

Veamos la estimacion del error. Por el teorema de Taylor

f(x+ h) = f(x) + f ′(x)h+ h2

2 f ′′(x) + h3

6 f ′′′(x) + h4

24f4)(θ1)

f(x− h) = f(x)− f ′(x)h+ h2

2 f ′′(x)− h3

6 f ′′′(x) + h4

24f4)(θ2)

.

Si sumamos las ecuaciones anteriores y despejamos

f ′′(x) =f(x+ h)− 2f(x) + f(x− h)

h2− h2

24[f4)(θ1) + f4)(θ2)].

Siendo θ1 y θ2 numeros que estan entre x y x+ h y entre x y x− h. Si f 4)(x)existe y es continua, entonces existe un numero θ ∈ [x− h, x+ h] tal que

error =h2

12f4)(θ) (formula de orden h2 )

Page 90: Teoría entera

90 Capıtulo 5

5.1.1 Diferenciacion mediante interpolacion

Dada una funcion f(x) y recordando como se calcula el polinomio de interpo-lacion en los puntos x0, x1, . . . ,xn, se tiene que :

f(x) =

n∑

i=0

f(xi)Lxi(x) +1

(n+ 1)!fn+1)(θx)w(x)

donde w(x) = Πni=0(x− xi). Si derivamos

f ′(x) =n∑

i=0

[f(xi)L

′xi(x) +

1

(n+ 1)!fn+1) (θx)w

′(x)

+1

(n+ 1)!w(x)

d

dx(fn+1)(θx))

]

Si x = xk

f ′(xk) =n∑

i=0

[f(xi)L

′xi(xk) +

1

(n+ 1)!fn+1)(θxk)w

′(xk)

].

Y como

w′(x) =n∑

i=0

Πnj=0,j 6=i(x− xj)⇒ w′(xk) = Πn

j=0,j 6=k(xk − xj)

nos queda

f ′(xk) =n∑

i=0

[f(xi)L

′xi(xk)

]+

1

(n+ 1)!fn+1)(θxk)Π

nj=0,j 6=k(xk − xj)

que es una forma de calcular un valor aproximado de f ′(xk) a partir de losvalores x0, x1, . . . ,xn.

Page 91: Teoría entera

Diferenciacion e integracion 91

Ejemplo: a) Aplica la formula anterior para calcular f ′(x1) con n = 2.b) Calcula lo anterior con x1 − x0 = x2 − x1 = h

Apartado a). Puesto que

Lx0 =(x− x1)(x− x2)

(x0 − x1)(x0 − x2)Lx1 =

(x− x0)(x− x2)

(x1 − x0)(x1 − x2)

Lx2 =(x− x0)(x− x1)

(x2 − x0)(x2 − x1)

se tiene que

L′x0=

2x− x1 − x2

(x0 − x1)(x0 − x2)L′x1

=2x− x0 − x2

(x1 − x0)(x1 − x2)

L′x2=

2x− x0 − x1

(x2 − x0)(x2 − x1).

Por tanto

f ′(x1) ≈ f(x0)x1 − x2

(x0 − x1)(x0 − x2)+ f(x1)

2x1 − x0 − x2

(x1 − x0)(x1 − x2)

+ f(x2)x1 − x0

(x2 − x0)(x2 − x1)

siendo el error de esta aproximacion

1

3!f3)(θx1)(x1 − x0)(x1 − x2).

Apartado b). Siendo x0 = x1 − h y x2 = x1 + h se obtiene la formula yaconocida

f ′(x1) ≈ f(x1 − h)−h

(−h)(−2h) + f(x1)2x1 − (x1 − h)− (x1 + h)

(h)(−h)

+ f(x1 + h)h

(2h)(h)

f(x1 + h)− f(x1 − h)

2h,

siendo el error de esta aproximacion

1

3!f3)(θx1)(h)(−h) = −

1

3!f3)(θx1)h

2.

¤

Page 92: Teoría entera

92 Capıtulo 5

5.1.2 Extrapolacion de Richarson

La extrapolacion de Richarson sirve para generar resultados de gran exactitudcuando se usan formulas de bajo orden. La extrapolacion puede aplicarsesiempre a cualquier metodo de aproximacion en el que sepamos el termino deerror de una forma previsible y se basa en un parametro que generalmente esel tamano de paso h.

Por el teorema de Taylor sabemos que

f(x+ h) =∞∑

k=0

1

k!hkfk)(x) y f(x+ h) =

∞∑

k=0

1

k!(−1)khkfk)(x).

Restando las formulas anteriores

f(x+ h)− f(x− h) = 2hf ′(x) +2

3!h3f3)(x) +

2

5!f5)(x) + . . .

y despejando f ′(x)

f ′(x) =f(x+ h)− f(x− h)

2h−[f3)(x)

3!h2 +

f5)(x)

5!h4 +

f7)(x)

7!h6 + . . .

].

Si definimos Φ(h) = f(x+h)−f(x−h)2h y denotamos ai al coeficiente de hi en la

formula anterior, tenemos

f ′(x) = Φ(h) + a2h2 + a4h

4 + a6h6 + . . . (5.1)

que es la formula ya conocida de aproximacion de f ′(x)

f ′(x) ≈ Φ(h) con error = h2[a2 + a4h

2 + a6h4 + . . .

]

Si sustituimos h por h/2

f ′(x) = Φ(h

2) +

a2

22h2 +

a4

24h4 +

a6

26h6 + . . .

y multiplicando por 4

4f ′(x) = 4Φ(h

2) + a2h

2 +a4

4h4 +

a6

24h6 + . . . (5.2)

Page 93: Teoría entera

Diferenciacion e integracion 93

con lo que (5.2)-(5.1) es

3f ′(x) = 4Φ(h

2)− Φ(h)− 3a4

4h4 − 15a6

16h6

que, despejando f ′(x), da origen a la formula de aproximacion

f ′(x) ≈ 4

3Φ(

h

2)− 1

3Φ(h) con error = h4

[−a4

4− 5a6

16h2 − . . .

]

que tambien puede expresarse

f ′(x) ≈ Φ(h

2) +

Φ(h2 )− Φ(h)

3con error = h4

[−a4

4− 5a6

16h2 − . . .

]

Ejemplo: Siendo f(x) = arctan(x), calcula f ′(√2) haciendo uso de la

extrapolacion de Richarson.

Tomamos h = 0.1.

f ′(x) ≈ Φ(h) =f(x+ h)− f(x− h)

2h

=f(√2 + 0.1)− f(

√2− 0.1)

2 · 0.1 = 0.3339506968

yf ′(x) ≈ Φ(h/2) = 0.3334876594

Usando la extrapolacion

f ′(x) ≈ Φ(h/2) +Φ(h/2)− Φ(h)

3= 0.3333333136

(El valor exacto es 1/3).¤

Page 94: Teoría entera

94 Capıtulo 5

Si en la formula (5.1.2) denotamos Ψ(h) = 43Φ(

h2 ) − 1

3Φ(h), b4 = −a4

4 ,b6 = −5a6

16 , . . . obtenemos la expresion

f ′(x) = Ψ(h) + b4h4 + b6h

6 + . . . (5.3)

Sustituyendo h por h/2

f ′(x) = Ψ(h/2) + b4

(h

2

)4

+ b6

(h

2

)6

+ . . .

y multiplicando por 24

16f ′(x) = 16Ψ(h/2) + b4h4 + b6

h6

4+ . . . (5.4)

Restando (5.4)-(5.3) nos queda

15f ′(x) = 16Ψ(h/2)−Ψ(h)− 3b6h6

4+ . . .

y al despejar f ′(x)

f ′(x) =16

15Ψ(h/2)− 1

15Ψ(h)− b6

h6

20+ . . .

da origen a la formula

f ′(x) ≈ 16

15Ψ(h/2)− 1

15Ψ(h) con error =h6

[−b6

1

20+ . . .

]

que tambien puede expresarse

f ′(x) ≈ Ψ(h/2) +Ψ(h/2)−Ψ(h)

15con error =h6

[−b6

1

20+ . . .

]

El proceso puede continuar de forma similar tomando ahora otra funcionΩ(h) = 16

15Ψ(h/2)− 115Ψ(h). Se puede demostrar el siguiente resultado:

Teorema: El algoritmo de Richarson genera aproximaciones a f ′(x) cadavez de un orden superior.

Page 95: Teoría entera

Diferenciacion e integracion 95

Ejemplo: Aplica dos pasos del algoritmo de Richarson para calcularf ′(√2) siendo f(x) = arctan(x) y tomando h = 0.1.

Aplicamos la formula (5.1.2) con h y h/2 para obtener las dos primerasaproximaciones de orden 2

Φ(0.1) =arctan(

√2 + 0.1)− arctan(

√2− 0.1)

2 · 0.1 = 0.33395069677432

Φ(0.05) =arctan(

√2 + 0.05)− arctan(

√2− 0.05)

2 · 0.05 = 0.33348765942111

A partir de esos dos valores y aplicando la formula (5.1.2) calculamos la apro-ximacion Ψ(h) que es de orden 4

Ψ(0.1) = Φ(0.05) +Φ(0.05)− Φ(0.1))

3= 0.33333331363671

Calculando Φ(h/4) (Φ(0.025) = 0.33337191390106) podremos tambien calcu-lar Ψ(h/2)

Ψ(0.05) = Φ(0.025) +Φ(0.025)− Φ(0.05)

3= 0.33333333206104

y a partir de estos dos valores obtenemos la aproximacion Ω(h)

Ω(0.1) = Ψ(0.05) +Ψ(0.05)−Ψ(0.1)

15= 0.33333333328933.

¤

En general, el proceso de extrapolacion de Richarson puede resumirse ası:

Etapa 0. Calculo distintas aproximacionesR(0, h) en funcion de un parametro

h (en nuestro caso R(0, h) = Φ(h) = f(x+h)−f(x−h)2h ).

Etapa 1. A partir de R(0, h) y de R(0, h/2) calculo las aproximaciones

R(1, h) = R(0, h/2) +R(0, h/2)−R(0, h)

41 − 1.

Etapa 2. A partir de R(1, h) y de R(1, h/2) calculo las aproximaciones

R(2, h) = R(1, h/2) +R(1, h/2)−R(1, h)

42 − 1.

Page 96: Teoría entera

96 Capıtulo 5

Etapa n. A partir de R(n− 1, h) y de R(n− 1, h/2) calculo las aproxima-ciones

R(n, h) = R(n− 1, h/2) +R(n− 1, h/2)−R(n− 1, h)

4n − 1.

Etapa 0 Etapa 1 Etapa 2 Etapa 3 . . .

R(0, h)R(0, h/2) R(1, h)R(0, h/4) R(1, h/2) R(2, h)R(0, h/8) R(1, h/4) R(2, h/2) R(3, h)

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

5.2 Integracion numerica mediante interpolacion

El objetivo es obtener un valor aproximado de∫ ba f(x)dx sin calcular la pri-

mitiva de f(x). La idea es sustituir∫ ba f(x)dx por

∫ ba p(x)dx, siendo p(x) una

funcion que se parezca a f(x), por ejemplo un polinomio interpolador en unosnodos x0, x1, . . . , xn del intervalo [a, b]. Si utilizamos el metodo de Lagrangepara calcular el polinomio interpolador

p(x) =

n∑

i=0

f(xi)lxi(x) con lxi(x) =

n∏

j=0

x− xjxi − xj

,

tendrıamos que∫ b

af(x)dx ≈

∫ b

ap(x)dx =

n∑

i=0

f(xi)

∫ b

alxi(x)

es decir, obtenemos una formula como esta

∫ b

af(x)dx ≈

n∑

i=0

Aif(xi). (5.5)

En el ejemplo anterior Ai =∫ ba lxi(x)dx. Una expresion como (5.5) se denomina

formula de cuadratura y los puntos xi son los nodos de cuadratura. Lasformulas ası construidas son exactas para los polinomios de grado menor oigual que n (¿por que?). Si en el ejemplo utilizado los nodos estan igualmenteespaciados, estaremos hablando del ”metodo de Newton-Cotes”.

Page 97: Teoría entera

Diferenciacion e integracion 97

-1 1 2

0.2

0.4

0.6

0.8

1

-1 1 2

0.2

0.4

0.6

0.8

1

-3 -2 -1 1 2

-1

-0.5

0.5

1

Figura 5.1: formulas de cuadratura graficamente

5.2.1 Regla del trapecio

El caso particular del metodo de Newton-Cotes con n = 1 se conoce co-mo el metodo del trapecio. Puesto que lx0(x) = b−x

a−x , lx1(x) = x−ab−a , A0 =

∫ ba lx0(x)dx = 1

2(b− a) y A0 =∫ ba lx1(x)dx = 1

2(b− a), la formula de cuadratu-ra queda ası

∫ b

af(x)dx ≈

n∑

i=0

Aif(xi) =b− a

2[f(a) + f(b)]

La expresion del error del polinomio de interpolacion p(x) para n = 1 es

f(x)− p(x) = f ′′(ξx)2 (x− a)(x− b), de modo que

∫ b

af(x)dx−

∫ b

ap(x)dx =

∫ b

af(x)− p(x)dx =

∫ b

a

f ′′(ξx)

2(x− a)(x− b)dx

Puesto que (x − a)(x − b) no cambia de signo en todo [a, b] y suponiendoque f ′′(x)/2 es una funcion continua en [a, b], aplicando la generalizacion delteorema de valor medio del calculo integral 1 obtenemos que el error es

f ′′(ξ)

2

∫ b

a(x− a)(x− b)dx =

f ′′(ξ)

2

(a− b)3

6

1Teorema: Sean h(x) y g(x) dos funciones reales e integrables en un intervalo [a, b]. Si

g(x) no cambia de signo en todo x ∈ [a, b] y h(x) es continua en [a, b], entonces existe un

punto ξ ∈ [a, b] tal que: ∫ b

a

h(x)g(x)dx = h(ξ)

∫ b

a

g(x)dx,

.

Page 98: Teoría entera

98 Capıtulo 5

para un cierto valor ξ ∈ (a, b). En resumen, si h = b − a, la Regla delTrapecio quedarıa ası:

∫ b

af(x)dx ≈ h

2[f(a) + f(b)] con error=− f ′′(ξ)

h3

12(5.6)

para un cierto ξ ∈ [a, b].

Ejemplo: Calcula∫ 0.20 ex

2dx con la formula de Newton-Cotes con n = 1

(regla del trapecio).

∫ 0.2

0ex

2

dx ≈ 0.2− 0

2[e0 + e0.2] = 0.20408107741924

Sabiendo que si x ∈ [0, 0.2] entonces

|f ′′(x)| = |2ex2

+4x2ex2 | ≤ |f ′′(0.2)| = |2e0.22

+4·0.2e0.22 | = 2.248151272255559,

una cota del error sera

| − 2.2481512722555590.23

12| = 0.00149876751484.

¤

5.2.2 Regla de Simpson

La formula de Newton-Cotes para n = 2 o n = 3 se llama Regla de Simpson.El caso n = 2, h = b−a

2 y xi = x0 + ih, se conoce como la regla de Simpson1/3:

∫ b

af(x)dx ≈ h

3[f(x0) + 4f(x1) + f(x2)] con error− f4)(ξ)

h5

90

para un cierto ξ ∈ [a, b]. Por ser una formula de Newton-Cotes con tres puntoses exacta para polinomios de grado menor o igual que 2; pero ademas es exactapara los polinomios de grado menor o igual que 3, ya que el termino del errorcontiene el factor f 4)(ξ).

Page 99: Teoría entera

Diferenciacion e integracion 99

El caso n = 3, h = b−a3 y xi = x0 + ih, se conoce como la regla de

Simpson 3/8:

∫ b

af(x)dx ≈ 3h

8[f(x0) + 3f(x1) + 3f(x2) + f(x3)] con error− f4)(ξ)

3h5

80

para un cierto ξ ∈ [a, b]. Es mejor usar la regla de Simpson 1/3 que la de3/8, puesto que ambas son de orden 5 y | − 1/90| < | − 3/80|. En generales preferible usar una regla con n par (numero impar de puntos) que con nimpar.

Ejemplo: Calcula∫ 0.20 ex

2dx con la formula de Newton-Cotes con n = 2

(regla de Simpson 1/3).

∫ 0.2

0ex

2

dx ≈ 0.2/2

3[e0 + e0.12

+ e0.22

] = 0.2027

Sabiendo que si x ∈ [0, 0.2] entonces

|f4)(x)| = |12ex2

+ 48ex2

x2 + 16ex2

x4| ≤ |f4)(0.2)

= |12e0.22

+ 48e0.22

0.22 + 16e0.22

0.24| = 14.5147,

una cota del error sera

| − 14.5147(0.2/2)5

90| = 1.6 ∗ 10−6

¤

5.2.3 Reglas compuestas

Este metodo consiste en dividir el intervalo [a, b] en subintervalos y aplicaren cada uno de ellos una regla simple. Por ejemplo, la regla del trapeciocompuesta consiste en fijar unos puntos a = x0 < x1 < · · · < xn−1 < xn = b yaplicar la regla del trapecio a cada intervalo [xi−1, xi]:

∫ b

af(x)dx =

n∑

i=1

∫ xi

xi−1

f(x)dx ≈ 1

2

n∑

i=1

(xi − xi−1) [f(xi−1) + f(xi)] .

Es equivalente a sustituir f(x) por una funcion que interpole a f(x) y queeste formada por trozos de lınea. Si los puntos estan igualmente espaciados

Page 100: Teoría entera

100 Capıtulo 5

(h = xi − xi−1 = b−an , xi = a+ ih con i = 1, 2, . . . , n), la regla del trapecio

compuesta nos queda

∫ b

af(x)dx ≈ h

2[f(x0) + 2f(x1) + · · ·+2f(xn−1) + f(xn)]

con error− h2

12(b− a)f ′′(ξ)

para un cierto ξ ∈ [a, b]. La formula es exacta para polinomios de gradomenor o igual que 1.

-1 1 2

0.2

0.4

0.6

0.8

1

-1 1 2

0.2

0.4

0.6

0.8

1

-1 1 2

0.2

0.4

0.6

0.8

1

Figura 5.2: Regla del trapecio compuesta con 3 y 4 puntos

Ejemplo: Calcula un valor aproximado de∫ 0.20 ex

2dx mediante la regla

del trapecio compuesta.Si tomamos tres puntos x0 = 0, x1 = 0.1 y x2 = 0.2

∫ 0.2

0ex

2

dx ≈ 0.1

2

[e0 + 2e0.12

+ e0.22]= 0.201085

Una cota del error serıa∣∣∣∣−

0.12

12(0.2− 0)(ex

2

(2 + 4ex2

))

∣∣∣∣ ≤∣∣∣∣−

0.12

120.2 · f ′′(0.2)

∣∣∣∣ = 0.00187346

¤

Page 101: Teoría entera

Diferenciacion e integracion 101

Si el numero n de intervalos en los que dividimos [a, b] es par podemosaplicar de forma sencilla la regla de Simpson compuesta con h = b−a

n , xi =a+ ih (0 ≤ i ≤ n), aplicando a cada dos subintervalos la regla de Simpson 1/3

∫ b

af(x)dx =

∫ x2

x0

f(x)dx+

∫ x4

x2

f(x)dx+ · · ·+∫ xn

xn−2

f(x)dx

con lo que obtenemos la formula

∫ b

af(x) ≈ h

3[f(x0) + 4f(x1) + 2f(x2) + 4f(x3) + 2f(x4) + . . .

+ 4f(xn−1) + f(xn)]

o lo que es lo mismo

∫ b

af(x)dx ≈ f(x0) +

n2∑

i=1

[2f(x2i)+4f(x2i−1)] + f(xn)

con error− b− a

180h4f4)(ξ)

con ξ ∈ [a, b].

5.2.4 Metodo de los coeficientes indeterminados

Las reglas de Newton-Cotes con n+1 puntos son exactas para los polinomiosde grado n, es decir, si en la formula de cuadratura

∫ ba f(x)dx ≈

∑ni=0 Aif(xi)

tomamos los coeficientes Ai =∫ ba lxi(x)dx, el resultado que obtenemos al calcu-

lar con esa regla la integral de un polinomio de grado n es el valor exacto. Elobjetivo de esta seccion es, dados un conjunto de n + 1 puntos x0, x1, . . . ,xn, encontrar el valor de los coeficientes A0, A1, . . . , An que aseguren que laformula de cuadratura

∫ ba f(x)dx ≈

∑ni=0 Aif(xi) es exacta para los polino-

mios de grado n. En cada caso, el problema se puede resolver de forma similaral siguiente ejemplo.

Page 102: Teoría entera

102 Capıtulo 5

Ejemplo: Encuentra los valores A0, A1 y A2 para que la formula∫ 1

0f(x)dx ≈ A0f(0) +A1f(

1

2) +A2f(1)

sea exacta para los polinomios de grado menor o igual que 2. En particular

la formula tendra que ser exacta para los polinomios 1, x y x2 que forma unabase del conjunto de los polinomios de grado menor o igual que 2:

1 =∫ 10 1dx = A0 + 1A1 +A2

12 =

∫ 10 xdx = 0A0 +

12A1 +A2

13 =

∫ 10 x2dx = 0A0 +

14A1 +A2

y obtenemos que A0 = 16 , A1 = 2

3 y A2 = 16 . Ademas, si P (x) = a+ bx+ cx2

es cualquier otro polinomio de grado menor o igual que 2, la formula serıatambien exacta porque

∫ 1

0P (x)dx = a

∫ 1

01dx+ b

∫ 1

0xdx+ c

∫ 1

0x2dx =

= a(A0 + 1A1 +A2) + b(1

2A1 +A2) + c(

1

4A1 +A2) =

= A0(a) +A1(a+1

2b+ (

1

2)2c) +A2(a+ 1b+ 12c) =

= A0P (0) +A1P (1

2) +A2P (1)

que serıa el resultado obtenido al aplicar la formula de cuadratura con loscoeficientes calculados. Ademas, es la misma formula que se obtendrıa con elmetodo de Simpson.

¤

5.3 Cuadratura gaussiana

Supongamos que queremos obtener una formula de cuadratura∫ 1

−1f(x)dx = A1f(t1) +A2f(t2)

pero no fijamos previamente los valores de t1, t2, A1 y A2. Para calcular estosvalores y puesto que tenemos 4 incognitas, le imponemos 4 condiciones: que

Page 103: Teoría entera

Diferenciacion e integracion 103

la formula sea exacta para los polinomios de grado menor o igual que 3, esdecir, para 1, x, x2 y x3 :

∫ 1−1 x

3dx = 0 = A1t31 +A2t

32∫ 1

−1 x2dx = 2

3 = A1t21 +A2t

22∫ 1

−1 xdx = 0 = A1t1 +A2t2∫ 1−1 1dx = 2 = A1 +A2

Restando a la ecuacion primera la tercera multiplicada por t21 obtenemos

0 = A2(t32 − t21t2) = A2t2(t2 − t1)(t2 + t1)

con lo que se obtiene alguno de los siguientes valores: A2 = 0, t2 = 0, t2 = t1,t2 = −t1. Sustituyendo en el resto de las ecuaciones podemos comprobar quesolo es aceptable t2 = −t1 y que en ese caso los parametros son A1 = A2 = 1

y t2 = −t1 =√

13 . Por tanto la formula

∫ 1

−1f(x)dx = f(−

√1

3) + f(

√1

3)

es exacta para integrar cualquier polinomio de grado menor o igual que 3 enel intervalo [−1, 1]. Para integrarlos en [a, b] se utiliza una transformacion afınque lleve un intervalo en el otro.

Los nodos ti (i = 1, 2, . . . , n) en la cuadratura gaussiana coinciden con lasraıces del polinomio de Legendre de grado n. Los polinomios de Legendre seconstruyen ası:

L0(x) = 1 L1(x) = x Ln+1 =(2n+ 1)xLn(x)− nLn−1(x)

n+ 1.

Ejemplo: Calcula un valor aproximado de∫ π

2

0 sen(x)dx mediante cuadra-tura gaussiana de dos terminos.

Como el intervalo de integracion es [0, π2 ], hemos de hacer un cambio devariable afın que lleve [−1, 1] en [0, π2 ]. Dicho cambio es x = π

4 t +π4 con lo

que dx = π4dt. Ya hemos deducido cuales son los nodos ti y los coeficientes Ai

(i = 1, 2). Si no supieramos cuales son, podrıamos averiguar primero los nodos

Page 104: Teoría entera

104 Capıtulo 5

calculando las raıces del polinomio de Legendre de grado 2 (L2 = 3x2−x2 ). Pos-

teriormente calcularıamos los coeficientes Ai planteando un sistema de ecua-ciones. En todo caso se obtendrıa∫ π

2

0sen(x)dx =

∫ 1

−1sen(π4t+

π

4

) π

4dt =

4

[sen

4(−√

1

3) +

π

4

)+ sen

4(

√1

3) +

π

4

)]≈ 0.99847.

¤

5.4 Integracion de Romberg

Para aplicar el metodo de integracion de Romberg construimos una tabla comoesta

R(0, 0)

R(1, 0) R(1, 1)

R(2, 0) R(2, 1) R(2,2)

R(3, 0) R(3, 1) R(3,2) R(3,3)

. . .

R(M, 0) R(M, 1) R(M, 2) R(M, 3) . . . R(M,M)

donde, si queremos aproximar∫ ba f(x)dx

R(0, 0) =1

2(b− a) [f(a) + f(b)]

(Regla del trapecio para 20 intervalos)

R(n, 0) =1

2R(n− 1, 0) +

b− a

2n

2n−1∑

i=1

f(a+ (2i− 1)b− a

2n)

(Regla del trapecio para 2n intervalos)

R(n,m) = R(n,m− 1) +1

4m − 1[R(n,m− 1)−R(n− 1,m− 1)]

(Extrapolacion de Richarson)

(5.7)

La ultima formula se obtiene aplicando la extrapolacion de Richarson quees un proceso que ya hemos utilizado en otra ocasion. El factor 1

4m−1 depende

Page 105: Teoría entera

Diferenciacion e integracion 105

del orden de convergencia del metodo empleado, en este caso la regla deltrapecio.

Cada valor R(i, j) se considera una aproximacion a∫ ba f(x)dx. A partir

de la aproximacion R(n,m − 1) que se considera que mejora a la anteriorR(n− 1,m− 1), se construye otra mejor aproximacion R(n,m):

R(n,m) = (+exacta) +1

4m − 1[(+exacta)− (-exacta)] .

Teorema: Si f(x) es una funcion continua en [a, b] entonces la sucesion que

se obtiene en cada columna del metodo de Romberg converge a∫ ba f(x)dx.

Ejemplo: Aplica el metodo de Romberg para obtener una aproximacionde∫ 20 ex

2dx.

R(0, 0) es la regla del trapecio con 20 = 1 intervalo:

R(0, 0) =2− 0

2(e0 + e22

) ≈ 55.5981

R(1, 0) es la regla del trapecio compuesta con 21 intervalos:

R(1, 0) =1

2

[e0 + 2e1 + e2

]= 30.5174

R(2, 0) es la regla del trapecio compuesta con 22 intervalos:

R(2, 0) =2/4

2

[e0 + 2e0.5 + 2e1 + 2e1.5 + e2

]= 20.6446

y de modo similar los terminos R(n, 0) de la primera columna. El resto determinos se calculan segun la formula 5.7 La mejor aproximacion obtenidaserıa

∫ 20 ex

2dx ≈ 16.4529.

m = 0 m = 1 m = 2 m = 3 m = 4

n = 0 55.5981

n = 1 30.5174 22.1572

n = 2 20.6446 17.3537 17.0334

n = 3 17.5651 16.5386 16.4843 16.4756

n = 4 16.7354 16.4588 16.4535 16.4530 16.4529

¤

Page 106: Teoría entera

106 Capıtulo 5

Ejemplo: Aplica el metodo de Romberg para obtener una aproximacionde∫ 20 x2dx.

Obtenemos la tabla siguiente en donde a mejor aproximacion obtenidaserıa

∫ 20 x2dx ≈ 2.6667.

m = 0 m = 1 m = 2 m = 3 m = 4

n = 0 4

n = 1 3 2.6667

n = 2 2.75 2.6667 2.6667

n = 3 2.6875 2.6667 2.6667 2.6667

n = 4 2.6719 2.6667 2.6667 2.6667 2.6667

¤

Ejemplo: Aplica el metodo de Romberg para obtener una aproximacionde∫ 0.50.2 e−x

2dx.

Obtenemos la tabla siguiente

m = 0 m = 1 m = 2 m = 3 m = 4

n = 0 0.69302

n = 1 0.66211 0.65181

n = 2 0.65947 0.65859 0.65904

n = 3 0.65898 0.65882 0.65883 0.65883

n = 4 0.65886 0.65882 0.65882 0.65882 0.65882

La mejor aproximacion obtenida serıa∫ 0.50.2 e−x

2dx ≈ 0.65882.

¤

Page 107: Teoría entera

Diferenciacion e integracion 107

5.5 Cuadratura adaptativa

A grandes rasgos, el metodo consiste en calcular un valor aproximado de unaintegral

∫ ba f(x)dx dividiendo el intervalo [a, b] en intervalos disjuntos [xi, xi+1]

con las siguientes condiciones:

• Se fija un parametro llamado tolerancia T.

• Se obtienen dos estimaciones de∫ xi+1

xif(x)dx mediante una formula de

cuadratura.

• Se fija la tolerancia en el intervalo [xi, xi+1]:

T[ xi, xi+1] =T

(b− a)(xi+1 − xi).

• Si la diferencia entre las dos estimaciones de∫ xi+1

xif(x)dx es menor que

T[xi,xi+1] se estima definitivamente∫ xi+1

xif(x)dx por extrapolacion. En

caso contrario se divide el intervalo en dos subintervalos disjuntos.

• Se estima∫ ba f(x)dx:

∫ b

af(x)dx =

n∑

i=0

∫ xi+1

xi

f(x)dx

Ejemplo: Fijado un valor de tolerancia T = 0.02, calcula∫ 10.2

1x2dx usando

la regla de Simpson.

Paso 1. Aplicamos la regla de Simpson para calcular la integral:

h1 =1− 0.2

2= 0.4⇒ S1[0.2, 1] = 4.94814815.

Paso 2. Aplicamos la regla de Simpson compuesta en dos subintervalosde [0.2, 1], en concreto en [0.2, 0.6] y en [0.6, 1]:

h2 =0.6− 0.2

2= 0.2 ⇒ S2[0.2, 0.6] = 3.51851852.

h2 =1− 0.6

2= 0.2 ⇒ S2[0.6, 1] = 0.66851852.

Page 108: Teoría entera

108 Capıtulo 5

Paso 3. Hasta ahora tenemos dos aproximaciones a∫ 10.2

1x2dx, a saber:

S1[0.2, 1] y S2[0.2, 0.6] + S2[0.6, 1]. Calculo la diferencia entre ambas estima-ciones:

S1[0.2, 1]− (S2[0.2, 0.6] + S2[0.6, 1]) = 0.7611111 > T = 0.02.

Si la diferencia hubiera sido menor que T, el proceso finalizarıa efectuandouna extrapolacion del tipo:

(+exacta) +1

15[(+exacta)− (-exacta)]

entendiendo que la primera estimacion es menos exacta que la segunda. Puestoque la diferencia es mayor que T, el proceso continua fijando la tolerancia deforma proporcional al tamano de cada subintervalo y de modo que sume latolerancia total T = 0.02. Con estas condiciones la tolerancia sera 0.01 en[0.2, 0.6] y 0.01 en [0.6, 1].

Paso 4. Estudiamos el intervalo [0.6, 1]. Tenemos la estimacion S2[0.6, 1]de∫ 10.6

1x2dx y obtenemos otra sumando los resultados obtenidos al aplicar la

regla de Simpson en los intervalos [0.6, 0.8] (S3[0.6, 0.8] = 0.41678477) y en[0.8, 1] (S3[0.6, 1] = 0.25002572). Comparamos ambas estimaciones:

S2[0.6, 1]−(S3[0.6, 0.8] + S3[0.8, 1]) = 0.66851852−0.66681049 = 0.001708 < T[0.6,1] = 0.01

Como la diferencia es menor que la tolerancia extrapolando obtenemos laestimacion definitiva de

∫ 10.6

1x2dx :

∫ 1

0.6

1

x2dx ≈ (+exacta) +

1

15[(+exacta)− (-exacta)]

0.66681049 +1

15(0.66681049− 0.66851852) = 0.66669662

Paso 5. Actuamos ahora sobre el intervalo [0.2, 0.6] donde la toleran-cia tambien es 0.01. Contamos con una estimacion S2[0.2, 0.6] de la integralen el intervalo y aplicamos la regla de Simpson en [0.2, 0.4] (S3[0.2, 0.4] =2.52314815)y en [0.4, 0.6] (S3[0.4, 0.6] = 0.83435926) para obtener una nueva(S3[0.2, 0.4] + S3[0.4, 0.6]). Comparamos ambas estimaciones:

S2[0.2, 0.6]− (S3[0.2, 0.4] + S3[0.4, 0.6]) = 0.161111 > T[0.2,0.6] = 0.01.

Page 109: Teoría entera

Diferenciacion e integracion 109

Puesto que la diferencia es mayor que la tolerancia seguimos el proceso ydividimos el intervalo [0.2, 0.6] en los intervalos [0.2, 0.4] y [0.4, 0.6]. Fijamosla tolerancia de cada intervalo de forma proporcional al tamano del intervalocorrespondiente y de modo que la suma sea igual a la tolerancia en el intervalo[0.2,0.6] (T[0.2,0.6] = 0.01). Con estas condiciones T[0.2,0.4] = 0.005 y T[0.4,0.6] =0.005.

Paso 6. Estudiamos el intervalo [0.4, 0.6]. Tenemos la estimacion S3[0.4, 0.6]de∫ 0.60.4

1x2dx y obtenemos otra sumando los resultados obtenidos al aplicar la

regla de Simpson en los intervalos [0.5, 0.6] (S4[0.4, 0.5] = 0.50005144) y en[0.5, 0.6] (S4[0.5, 0.6] = 0.33334864). Comparamos ambas estimaciones:

S3[0.4, 0.6]− (S4[0.4, 0.5] + S4[0.5, 0.6]) = 0.000859 < T[0.4,0.6] = 0.005

Como la diferencia es menor que la tolerancia extrapolando obtenemos laestimacion definitiva de

∫ 0.60.4

1x2dx :

∫ 0.6

0.4

1

x2dx ≈ (+exacta) +

1

15[(+exacta)− (-exacta)] = 0.8333428.

Paso 7. Estudiamos el intervalo [0.2, 0.4]. Tenemos la estimacion S3[0.2, 0.4]de∫ 0.40.2

1x2dx y obtenemos otra sumando los resultados obtenidos al aplicar la

regla de Simpson en los intervalos [0.2, 0.3] y [0.3, 0.4]. Comparamos ambasestimaciones:

S3[0.2, 0.4]− (S4[0.2, 0.3] + S4[0.3, 0.4]) > T[0.2,0.4] = 0.005.

Puesto que la diferencia es mayor que la tolerancia seguimos el proceso y di-vidimos el intervalo [0.2, 0.4] en los intervalos [0.2, 0.3] y [0.3, 0.4]. Fijamosla tolerancia de cada intervalo de forma proporcional al tamano del intervalocorrespondiente y de modo que la suma sea igual a la tolerancia en el inter-valo [0.2,0.4] (T[0.2,0.4] = 0.005). Con estas condiciones T[0.2,0.3] = 0.0025 yT[0.3,0.4] = 0.0025.

Paso 8. Estudiamos el intervalo [0.3, 0.4]. Tenemos la estimacion S4[0.3, 0.4]de∫ 0.40.3

1x2dx y obtenemos otra sumando los resultados obtenidos al aplicar la

regla de Simpson en los intervalos [0.3, 0.35] y [0.35, 0.4]. Comparamos ambasestimaciones:

S4[0.3, 0.4]− (S5[0.3, 0.35] + S5[0.35, 0.4]) = 0.0002220 < T[0.3,0.4] = 0.0025.

Page 110: Teoría entera

110 Capıtulo 5

Como la diferencia es menor que la tolerancia extrapolando obtenemos laestimacion definitiva de

∫ 0.40.3

1x2dx :

∫ 0.4

0.3

1

x2dx ≈ (+exacta) +

1

15[(+exacta)− (-exacta)] = 0.83333492.

Paso 9. Estudiamos el intervalo [0.2, 0.3]. Tenemos la estimacion S4[0.2, 0.3]de∫ 0.30.2

1x2dx y obtenemos otra sumando los resultados obtenidos al aplicar la

regla de Simpson en los intervalos [0.2, 0.25] y [0.25, 0.3]. Comparamos ambasestimaciones:

S4[0.2, 0.3]− (S5[0.2, 0.25] + S5[0.25, 0.3]) < T[0.2,0.3] = 0.0025.

Como la diferencia es menor que la tolerancia extrapolando obtenemos laestimacion definitiva de

∫ 0.30.2

1x2dx :

∫ 0.3

0.2

1

x2dx ≈ (+exacta) +

1

15[(+exacta)− (-exacta)] = 1.666686.

Por lo tanto, la estimacion mediante este metodo de∫ 10.2

1x2dx serıa:

∫ 1

0.2

1

x2dx =

∫ 0.3

0.2

1

x2dx+

∫ 0.4

0.3

1

x2dx+

∫ 0.6

0.4

1

x2dx+

∫ 1

0.6

1

x2dx

= 1.666686 + 0.83333492 + 0.8333428 + 0.66669662 = 4.00005957.

¤

Page 111: Teoría entera

Tab

ladiferen

ciacioneintegracion

numerica

Derivacion

f′(x

)=

f(x

+h)−

f(x

)h

−h2 f′′(ξ)

f′(x

)=

f(x

+h)−

f(x−

h)

2h

−h2

6f′′′(ξ)

f′′(x

)=

f(x

+h)−

2f(x

)+f(x−

h)

h2

−h2

12 f

4)(ξ)

f′(x

k )=

ni=0f(x

i )L′i (x

k )1

(n+

1)! f

n+

1)(ξ

xk )Π

nj=0,j6=

k (xk

−x

j )

R(0,h

)=

f(x

+h)−

f(x−

h)

2h

R(n

,h)=

R(n

−1,h

/2)+

14

n−

1 [R(n

−1,h

/2)−

R(n

−1,h

)]

Integracion

ni=0 (∫

bali (x

)dx)f(x

i )h2 [f

(x0 )

+f(x

1 )]−

112 h

3f′′(ξ)

h3 [f(x

0 )+

4f(x

1 )+

f(x

2 )]−

190 h

5f4)(ξ)

3h8[f(x

0 )+

3f(x

1 )+

3f(x

2 )+

f(x

3 )]−

380 h

5f4)(ξ)

h2 [f(x

0 )+

2f(x

1 )+

2f(x

2 )+

···+

2f(x

n−

1 )+

f(x

n )]−

(b−a)

12

h2f′′(ξ)

h3 [f(x

0 )+

4f(x

1 )+

2f(x

2 )+

4f(x

3 )+

···+

4f(x

n−

1 )+

f(x

n )]−

(b−a)

180h

4f4)(ξ)

f(−

13 )+

f(√

13 )

R(n

,m)=

R(n

,m−

1)+

14

m−

1 [R(n

,m−

1)−

R(n

−1,m

−1)]

Si+

1 [a,b]+

115

[Si+

1 [a,b]

−S

i [a,b]

]

1

Page 112: Teoría entera
Page 113: Teoría entera

Capıtulo 6

Resolucion numerica de

ecuaciones diferenciales

6.1 Existencia y unicidad de soluciones

Una ecuacion diferencial ordinaria (EDO) es una expresion de la forma

F (x, y(x), y′(x), y′′(x), . . . ) = 0,

es decir, una ecuacion que contiene una variable independiente x, otra depen-diente de la primera y(x) y derivadas de distinto orden de la segunda respectode la primera (y′(x), y′′(x), . . . ).

El orden de una EDO es el de la mayor derivada que aparece en la ecuacion.El grado de una EDO es el mayor exponente de la derivada de mayor ordenque aparece en la ecuacion.

Ejemplo:

ecuacion orden grado

y′ = y tan(x+ 3) 1 1

(y′)2 = y tan(x+ 3) 1 2

y′′ = y tan(x+ 3) 2 1

¤

La solucion general de una EDO es una familia de funciones que verificanla EDO. En general, la solucion general de una EDO de orden k es una familiade funciones que depende de una parametro k.

113

Page 114: Teoría entera

114 Capıtulo 6

Ejemplo: La solucion general de y′ = sen(x) es y = − cos(x) + k conk ∈ R. La solucion general de y′′ = −y es y = a sen(x) + b cos(x), con a ∈ R yb ∈ R.

¤

Una solucion particular de una EDO es un elemento particular de la solu-cion general. Una solucion singular es una funcion que verifica la EDO peroque no esta recogida en la solucion general.

Ejemplo: La ecuacion y′ = y1/3 tiene como solucion general y = ( 23x)

32 +C

con C ∈ R. Una solucion particular es y = ( 23x)

32 + 4 y una solucion singular

es y = 0.

¤

Si una EDO de primer orden F (x, y(x), y′(x)) = 0 se puede expresar de laforma y′ = f(x, y(x)) entonces

Teorema: Si f(x, y) y ∂f(x,y)∂y son continuas en un rectangulo D del plano

R2 y (x0, y0) ∈ D, entonces existe una unica solucion de la ecuacion y′ =f(x, y) tal que y(x0) = y0.

Ejemplo: Encuentra donde tiene solucion unica la ecuacion y′ = −yx .

Sea f(x, y) = −yx . La grafica de dicha funcion aparece en la figura 6.1.

f(x, y) es continua en R2 − x = 0. ∂f(x,y)∂y = −1

x es continua tambien en

R2 − x = 0.Por el teorema anterior, si existe un rectangulo D ⊂ R2 − x = 0 y

(x0, y0) ∈ D, entonces el problema y′ = f(x, y) tal que y(x0) = y0 tienesolucion unica. Por ejemplo, el problema y′ = −y

x con y(2) = 1, tiene solucionunica porque (2, 1) estan dentro de un rectangulo que a su vez estan contenidoen R2 − x = 0. Dicha solucion es y = 2

x . Sin embargo, si la condicion iniciales y(0) = 2 el problema no tiene solucion.

¤

En general, la busqueda de soluciones exactas de una ecuacion diferenciales un problema difıcil. Por ello se usan metodos numericos para encontrarsoluciones aproximadas. El planteamiento tıpico de una ecuacion diferencialordinaria de grado 1 con valor inicial es

Page 115: Teoría entera

Ecuaciones diferenciales 115

-10-5

05

10-10

-5

0

5

10

-5-2.5

02.55

-10-5

05

10

Figura 6.1: La funcion f(x, y) = yx

y′ = f(x, y(x)) y(x0) = y0 (6.1)

Por ejemplo

y′ = −2x− y y(0) = −1.

La solucion numerica de una EDO sera una tabla de valores aproximadosde la funcion y(x) en un conjunto de puntos xi. Usando esa tabla podemosconstruir una aproximacion de la funcion mediante, por ejemplo, los metodosde interpolacion. En lo que sigue, trabajaremos con puntos xi igualmenteespaciados, es decir, separados cada uno del siguiente por un tamano de pasoh, con lo que xi = x0 + ih. y(xi) denotara el valor exacto de la funcion y(x)en el punto xi; yi sera un valor aproximado de y(xi).

6.2 Metodo de la serie de Taylor

Para resolver el problema (6.1), el metodo de Taylor de orden k proponesustituir la funcion desconocida y(x) por su polinomio de Taylor de orden k

Page 116: Teoría entera

116 Capıtulo 6

en un entorno de cada punto xi, es decir

y(xi+1) = y(xi + h) ≈ y(xi) + y′(xi)h+ y′′(xi)h2

2+ · · ·+ yk)(xi) +

hk

k!

Los valores de la funcion y(x) y de sus derivadas en xi son desconocidos engeneral, por lo que hay que sustituirlos por aproximaciones:

y(xi) ≈ yi

y′(xi) ≈ f(xi, yi)

y′′(xi) ≈ d f(xi, yi)

dx. . .

yk)(xi) ≈ dk-1 f(xi, yi)

dxk−1

De este modo obtenemos la expresion del metodo:

yi+1 = yi + f(xi, yi)h+d f(xi, yi)

dx

h2

2+ · · ·+ dk-1 f(xi, yi)

dxk−1

hk

k!

A la hora de derivar f(x, y) respecto de x hay que tener en cuenta que es unafuncion de dos variables y que y es funcion de x. De modo que, denotandofx y fy a las derivadas parciales de f(x, y) respecto x e y, tendrıamos, porejemplo que

d f(x, y)

dx= fx(x, y) + fy(x, y)y

′(x, y) = fx(x, y) + fy(x, y)f(x, y).

Elegido, el tamano del paso h, el metodo de Taylor paso a paso serıa elsiguiente:

Paso 1. Partimos del punto x0, obtenemos una aproximacion de y(x1)

y1 = y0 + f(x0, y0)h+d f(x0, y0)

dx

h2

2+ · · ·+ dk-1 f(x0, y0)

dxk−1

hk

k!

Paso 2. Partimos de x1 = x0 + h y calculamos una aproximacion y(x2):

y2 = y1 + f(x1, y1)h+d f(x1, y1)

dx

h2

2+ · · ·+ dk-1 f(x1, y1)

dxk−1

hk

k!

Page 117: Teoría entera

Ecuaciones diferenciales 117

Paso i+1. Partimos de xi = xi−1 + h y calculamos una aproximacion dey(xi+1):

yi+1 = yi + f(xi, yi)h+d f(xi, yi)

dx

h2

2+ · · ·+ dk-1 f(xi, yi)

dxk−1

hk

k!

Ejemplo: Proporciona tres valores aproximados de la funcion y(x), solu-cion de y′ = −2x− y con y(0) = −1 mediante el metodo de Taylor con k = 4y tamano de paso h = 0.1.

Calculamos el desarrollo de Taylor hasta grado 4 de la funcion y(x) en unpunto cualquiera xi:

y(xi + h) ≈ y(xi) + y′(xi)h+y′′(xi)

2h2 +

y′′′(xi)

3!h3 +

y4)(xi)

4!h4

Denotando yi al valor aproximado de y(xi) y dado que

y′(x) = f(x, y)

y′′(x) = [y′(x)]′ = [−2x− y(x)]′ = −2− y′(x) = −2− f(x, y)

y′′′(x) = [y′′(x)]′ = −y′′(x) = 2 + y′(x) = 2 + f(x, y)

y4)(x) = [y′′′(x)]′ = [−y′′(x)]′ = −y′′′(x) = −2− y′(x) = −2− f(x, y)

definimos el metodo

yi+1 = yi + f(xi, yi)h+−2− f(xi, yi)

2h2 +

2 + f(xi, yi)

3!h3 +

−2− f(xi, yi)

4!h4

Paso 1. Como y0 = −1 y f(x0, y0) = f(0,−1) = 1, obtenemos el valoraproximado

y1 = −1 + 0.1− 1.5 · 0.12 + 0.5 · 0.13 − 0.125 · 0.14 = −0.9645125.

Paso 2. Como y1 = −0.9145125 y f(x1, y1) = f(0.1,−0.9145125) = 0.7145125,obtenemos el valor aproximado

y2 = −0.8561927.

Paso 3. Como y2 = −0.8561927 y f(x2, y2) = f(0.2,−0.8561927) = 0.4561927,obtenemos el valor aproximado

y3 = −0.8224553

¤

Page 118: Teoría entera

118 Capıtulo 6

6.2.1 Metodo de Euler

Es el metodo anterior usando el polinomio de Taylor de orden 1

yi+1 = yi + f(xi, yi)h

Ejemplo. Resuelve la ecuacion y′ = −2x − y con y(0) = −1 mediante elmetodo de Euler.

Con estos datos se tiene que x0 = 0, y0 = −1, f(x0, y0) = 1 con lo que

y1 = y0 + f(x0, y0)h = −1 + 1 · 0.1 = −0.9

Puesto que f(x1, y1) = 0.7, se deduce que

y2 = y1 + f(x1, y1)h = −0.9 + 0.7 · 0.1 = −0.83

Puesto que f(x2, y2) = 0.43, se deduce que

y3 = y2 + f(x2, y2)h = −0.83 + 0.43 · 0.1 = −0.787

Puesto que f(x3, y3) = 0.187, se deduce que

y4 = y3 + f(x3, y3)h = −0.787 + 0.187 · 0.1 = −0.7683

¤

6.2.2 Errores

Al resolver numericamente una ecuacion diferencial aparecen varios tipos deerrores:

1. error de truncamiento local

2. error de truncamiento global

3. error de redondeo local

4. error de redondeo global

5. error total

Page 119: Teoría entera

Ecuaciones diferenciales 119

El error de truncamiento local es el que aparece en un paso cuando reem-plazamos un proceso infinito por uno finito. Por ejemplo, en el metodo deTaylor, usando el desarrollo hasta grado k, sustituimos la serie de Taylor (deinfinitos terminos) por los primeros k-terminos. En este caso, para un ciertoci ∈ R, se tiene que

y(xi + h) = y(xi) + y′(xi)h+y′′(xi)

2!h2 + · · ·+ yk)(xi)

k!hk +

yk+1)(ci)

(k + 1)!hk+1

y dado que en el algoritmo usamos la aproximacion

y(xi + h) ≈ y(xi) + y′(xi)h+y′′(xi)

2!h2 + · · ·+ yk)(xi)

k!hk

se deduce que el error local en el paso i-esimo es proporcional a hk+1, digamosCih

k+1. Un error de esa magnitud se dice que es O(hk+1).

La acumulacion de todos los errores de truncamiento local genera el errorde truncamiento global. Si al aplicar un metodo el error de truncamientolocal es O(hk+1), el tamano de paso es h, el punto inicial es x0 y el punto finales xn, entonces el numero de pasos sera n = xn−x0

h y puesto que

C1hk+1 + C2h

k+1 + · · ·+ Cnhk+1 = hk+1(C1 + C2 + · · ·+ Cn) ≤

≤ hk+1nmaxC1, C2, . . . , Cn = Chk

siendo C = (xn−x0)maxC1+C2+ · · ·+Cn, el error de truncamiento globalsera O(hk). Si un metodo tiene error de truncamiento global O(hk) decimosque el procedimiento numerico es de orden k. El metodo de Taylor usandoel desarrollo hasta grado k es un metodo de orden k.

El error de redondeo local es el que en cada paso es provocado por lalimitada precision de nuestras maquinas de computo, como ya se comento eltema inicial del curso. El error de redondeo global es la acumulacion de loserrores de redondeo local en los pasos anteriores. El error total es la sumade los errores de truncamiento global y redondeo global.

6.3 Metodos de Runge-Kutta

Los metodos de Taylor tienen el inconveniente de la dificultad de calculo delas sucesivas derivadas de la funcion y(x). En los metodos de Runge-Kutta se

Page 120: Teoría entera

120 Capıtulo 6

elimina esa dificultad. Las ideas que dan origen a este conjunto de metodosse resumen en los siguientes pasos:

Paso 1. Consideramos la igualdad

y(xi+1)− y(xi) =

∫ xi+1

xi

y′(x)dx =

∫ xi+1

xi

f(x, y(x))dx.

y despejamos y(xi+1)

y(xi+1) = y(xi) +

∫ xi+1

xi

y′(x)dx =

∫ xi+1

xi

f(x, y(x))dx.

Paso 2. Realizamos el cambio de variable x = xi + θh en la integralanterior y obtenemos

y(xi+1) = y(xi) + h

∫ 1

0f(xi + θh, y(xi + θh))dθ. (6.2)

Paso 3. Consideramos el conjunto de puntos 0 = θ0 ≤ θ1 ≤ . . . θm ≤ 1 delintervalo de integracion [0, 1] y estimamos la integral anterior mediante unaformula de cuadratura del siguiente tipo

∫ 1

0F (θ)dθ ≈ A0F (θ0) +A1F (θ1) + · · ·+AmF (θm)

con lo que, denotando xiθj = xi + θjh, en la ecuacion (6.2) obtenemos

y(xi+1) ≈ y(xi) + h[A0 f

(xiθ0 , y(xiθ0)

)+

A1 f(xiθ1 , y(xiθ1)

)+ · · ·+ Am f

(xiθm , y(xiθm)

)]. (6.3)

La formula de cuadratura elegida puede variar, pero se le ha de exigir queal menos sea exacta para las funciones constantes, lo que se traduce en quelos coeficientes han de cumplir la condicion

A0 +A1 + · · ·+Am = 1

El metodo de Runge-Kutta sera la formula que resulta de sustituir en la ecua-cion (6.3) los valores y(xi), y(xiθ0), y(xiθ1), . . . , y(xiθm) por sus valores aproxi-mados. Si bien dispondremos en cada paso del valor yi que aproxima a y(xi),no ocurre lo mismo con las aproximaciones de y(xiθ0), y(xiθ1), . . . , y(xiθm).

Page 121: Teoría entera

Ecuaciones diferenciales 121

Paso 4. En esta etapa conseguiremos obtener un algoritmo para las apro-ximaciones aludidas en el apartado anterior. De forma similar a como seobtuvo la ecuacion (6.2), llegamos a la igualdad

y(xiθj ) = y(xi) + h

∫ θj

xi

f(xi + θh, y(xi + θh))dθ

y aplicando una formula de cuadratura para cada j

∫ θj

xi

F (θ)dθ ≈ Bj0F (θ0) +Bj

1F (θ1) + · · ·+Bjj−1F (θj−1) (6.4)

a la integral anterior, se obtienen las aproximaciones buscadas

y(xiθj ) ≈ y(xi) + h

j−1∑

k=0

Bjkf(xiθk , y(xiθk)).

Las formulas de cuadraturas usadas en (6.4) han de ser exactas al menos paralas funciones constantes, por lo tanto los coeficientes deben verificar

Bj0 +Bj

1 + · · ·+Bjj−1 = θj j = 1, . . . ,m.

Paso 5. Si denotamos yiθj a una estimacion de y(xiθj ), un metodo de Runge-Kutta quedarıan ası:

yi+1 = yi + h[A0f(xiθ0 , yiθ0) +A1f(xiθ1 , yiθ1) + · · ·+Amf(xiθm , yiθm)](6.5)

siendo

yiθ0 = yiyiθ1 = yi + h

[B1

0f(xiθ0 , yiθ0)]

yiθ2 = yi + h[B2

0f(xiθ0 , yiθ0) +B21f(xiθ1 , yiθ1)

]

. . .yiθm = yi + h

[Bm

0 f(xiθ0 , yiθ0) +Bm1 f(xiθ1 , yiθ1) + . . .· · ·+Bm

m−1f(xiθm−1, yiθm−1

)]

Previamente deben fijarse los valores

0 = θ0 ≤ θ1 ≤ θ2 ≤ . . . θm ≤ 1

Page 122: Teoría entera

122 Capıtulo 6

ası como los siguientes parametros que han de cumplir con las condiciones delas sumas correspondientes que aparecen en el cuadro

A0 A1 A2 . . . Am∑m

r=0 Ar = 1

B10 B2

0 Bm0

B21 . . . Bm

1

. . .Bmm−1

B10 = θ1 B2

0 +B21 = θ2 . . .

∑m−1k=0 Bm

k = θm

Un metodo como el anterior se conoce con el nombre de metodo de Runge-Kutta dem+1 etapas, debido a que la formula (6.5) requierem+1 evaluacionesde la funcion f(x, y).

Ejemplo: Para m = 0 (una etapa), el metodo de Runge-Kutta que resultaes el metodo de Euler.

Para m = 1 (dos etapas), podemos obtener, entre otras posibilidades, elmetodo de Heun:

θ0 = 0, θ1 = 1

A0 = 1/2 A1 = 1/2 A0 +A1 = 1

B10 = 1

B10 = θ1 = 1

yi+1 = yi + h[1

2f(xi0, yi0) +

1

2f(xi1, yi1)

]

siendoyi0 = yiyi1 = yi + hf(xi, yi)

con lo que

yi+1 = yi + h[12f(xi, yi) +

1

2f(xi+1, yi + hf(xi, yi))

](6.6)

El llamado metodo de Euler modificado sale con la eleccion

θ0 = 0, θ1 = 1/2

Page 123: Teoría entera

Ecuaciones diferenciales 123

A0 = 0 A1 = 1 A0 +A1 = 1

B10 = 1/2

B10 = θ1 = 1/2

yi+1 = yi + h[f(xiθ1, yiθ1)]

siendoyi0 = yi

yi1/2 = yi + h12f(xi, yi)

con lo que el metodo queda

yi+1 = yi + hf(xi +

h

2, yi +

h

2f(xi, yi)

)(6.7)

Otra eleccion posible es

θ0 = 0, θ1 = 2/3

A0 = 1/4 A1 = 3/4 A0 +A1 = 1

B10 = 2/3

B10 = θ1 = 2/3

yi+1 = yi + h[1

4f(xiθ0 , yiθ0) +

3

4f(xiθ1 , yiθ1)

]

siendoyiθ0 = yiyiθ1 = yi + h

[23f(xiθ0 , yiθ0)

]

con lo que el metodo queda ası

yi+1 = yi + h[1

4f(xi, yi) +

3

4f(xi +

2

3h, yi + h

2

3f(xi, yi)

]

El metodo clasico de Runge-Kutta es de m = 3 (cuatro etapas) definidopor los parametros

0 = θ0 θ1 = 1/2 θ2 = 1/2 θ3 = 1

Page 124: Teoría entera

124 Capıtulo 6

A0 = 1/6 A1 = 1/3 A2 = 1/3 A3 = 1/6∑3

r=0 Ar = 1

B10 = 1/2 B2

0 = 0 B30 = 0

B21 = 1/2 B3

1 = 0B3

2 = 1

B10 = 1/2 B2

0 +B21 = 1/2

∑2k=0 B

3k = 1

que da lugar a

yi+1 = yi +h

6(K1 + 2K2 + 2K3 +K4) (6.8)

donde

K1 = f(xi, yi) K2 = f(xi +h2 , yi +

h2K1)

K3 = f(xi +h2 , yi +

h2K2) K4 = f(xi + h, yi + hK3)

¤

Ejercicio: Aplica tres pasos del metodo clasico de Runge-Kutta de orden4 con h = 1/128 para resolver la ecuacion

y′ =yx− y2

x2y(1) = 2.

Paso 1. Partimos de x0 = 1, y0 = 2. Para aplicar la ecuacion (6.8)previamente calculamos

K1 = f(x0, y0) = f(1, 2) = −2 K2 = f(x0 +h2 , y0 +

h2K1) = −1.95355

K3 = f(x0 +h2 , y0 +

h2K2) = −1.95409

K4 = f(x0 + h, y0 + hK3) = −1.90898.Con estos datos obtenemos

y1 = y0 +h

6(K1 + 2K2 + 2K3 +K4) = 1.98473,

Paso 2. Partimos de x1 = 1 + 1128 , y1 = 1.98473. Calculamos

K1 = f(x1, y1) = −1.90899 K2 = f(x1 +h2 , y1 +

h2K1) = −1.86520

K3 = f(x1 +h2 , y1 +

h2K2) = −1.86570

K4 = f(x1 + h, y1 + hK3) = −1.82316.

Page 125: Teoría entera

Ecuaciones diferenciales 125

Con estos datos obtenemos

y2 = y1 +h

6(K1 + 2K2 + 2K3 +K4) = 1.97016.

Paso 3. Partimos de x2 = 1 + 2128 , y2 = 1.97016. Calculamos

K1 = f(x2, y2) = −1.82311 K2 = f(x2 +h2 , y2 +

h2K1) = −1.78186

K3 = f(x2 +h2 , y2 +

h2K2) = −1.78231

K4 = f(x2 + h, y2 + hK3) = −1.74215.Con estos datos obtenemos

y3 = y2 +h

6(K1 + 2K2 + 2K3 +K4) = 1.96088.

¤

6.3.1 Errores

Los metodos de Runge-Kutta tienen tambien su error de truncamiento global,es decir, su orden. Existen metodos de Runge-Kutta de orden k con k menoro igual que el numero de etapas m + 1. Se da la igualdad para k = 1, 2, 3, 4.Es decir, los metodos de Runge-Kutta de 1,2,3,4 etapas tienen orden 1,2,3,4,respectivamente. Para conseguir orden k = 5 es necesario 6 etapas; para k = 6,7 etapas; en general para k ≥ 7 se necesitan un numero de etapas mayor oigual que k + 2.

6.4 Metodos multipaso

Tanto los metodos de Taylor como los de Runge-Kutta son metodos de unpaso, porque para calcular el valor aproximado yi+1 solo se usa, ademas de xiy de h, el valor aproximado anterior yi. Los metodos multipaso se caracterizanpor obtener yi+1 a partir de los valores h, xi, yi, xi−1, yi−1, . . . , xi−k, yi−k.

Partimos siempre de la ecuacion

y′ = f(x, y) y(x0) = y0.

Ejemplo: Un primer ejemplo sencillo de un metodo multipaso se puedeobtener de la siguiente forma. Sabemos que

y′(x) ≈ y(x+ h)− y(x− h)

2h

Page 126: Teoría entera

126 Capıtulo 6

con lo que

y(xi) ≈y(xi+1)− y(xi−1)

2h

y se deduce quey(xi+1) ≈ y(xi−1) + 2 h y′(xi),

lo que sugiere el metodo

yi+1 = yi−1 + 2 h f(xi, yi).

Para poder obtener el punto yi+1 son necesarios los dos valores anteriores yi,yi−1. Es un metodo de dos pasos. Para empezar a aplicarlo tenemos quedisponer de y0 e y1. Este ultimo puede calcularse con un metodo de un paso.

¤

El que sigue es un proceso para obtener un conjunto de metodos multipasos.Partimos de la relacion

y(xi+1)− y(xi) =

∫ xi+1

xi

y′(x)dx =

∫ xi+1

xi

f(x, y(x))dx,

y aplicamos el cambio de variable x = xi + θh

y(xi+1)− y(xi) = h

∫ 1

0f(xi + θh, y(xi + θh))dθ.

Aproximamos la integral anterior por una formula de cuadratura

∫ 1

0F (θ)dθ = A0F (θ0) +A1F (θ1) + · · ·+AkF (θk) (6.9)

y nos queda

y(xi+1)− y(xi) ≈ h[A0f(xi + θ0h, y(xi + θh))+

+A1f(xi + θ1h, y(xi + θh))+

+ · · ·+Akf(xi + θkh, y(xi + θkh))]

(6.10)

lo cual sugiere un metodo que resultara de sustituir los valores de la funcionpor valores aproximados.

Page 127: Teoría entera

Ecuaciones diferenciales 127

Ejemplo: Deduzcamos el metodo de orden 2

yi+1 = yi + h[32f(xi, yi)−

1

2f(xi−1, yi−1)

](6.11)

Si en la formula de cuadratura (6.9) tomamos los puntos

θ0 = 0 θ1 = −1

y le imponemos la condicion de que sea exacta para los polinomios de gradomenor o igual que 1, obtendremos que los coeficientes A0 y A1 deben verificarlas ecuaciones

A0 +A1 = 1 A1 = −1

2

y la solucion del sistema anterior es A0 = 32 y A1 = −1

2 . Sustituyendo en(6.10) nos queda

y(xi+1)− y(xi) ≈ h[32f(xi, y(xi))−

1

2f(xi−1, y(xi−1)

]

lo cual sugiere el metodo

yi+1 = yi + h[32f(xi, yi)−

1

2f(xi−1, yi−1

].

¤

Ejercicio: Aplica el metodo anterior al calculo de la solucion de

y′ =yx− x2

x2y(1) = 2

Para aplicar la formula (6.11) necesitamos dos puntos iniciales y0, y1, y solodisponemos del valor y0 = 2. Es habitual calcular los puntos necesarios paraempezar mediante un metodo de un paso del mismo orden. Usamos el metodode Euler modificado (ver ecuacion (6.7)), que es un metodo de Runge-Kuttade orden 2:

y1 = y0 + hf(x0 +

h

2, y0 +

h

2f(x0, y0)

)= 1.98474.

Page 128: Teoría entera

128 Capıtulo 6

Ya disponemos de y0 e y1 y podemos calcular y2 aplicando (6.11)

y2 = y1 + h[32f(x1, y1)−

1

2f(x0, y0

]= 1.97018.

Con y1 e y2 podemos calcular y3

y3 = y2 + h[32f(x2, y2)−

1

2f(x1, y1

]= 1.95627.

Y ası sucesivamente.¤

6.4.1 Formulas de Adams-Bashforth

Un metodo multipaso de la forma

yi+1 = yi +A0f(xi, yi) +A1f(xi−1, yi−1) + · · ·+Ak−1f(xi−k+1, yi−k+1)

es una formula de Adams-Bashforth de k pasos y orden k. Estos metodosse encuadran dentro de los metodos multipaso explıcitos, debido a que ladefinicion de yi+1 es explıcita en funcion de los valores anteriores, a diferenciade los metodos implıcitos que veremos en es siguiente apartado. Estos sonalgunos ejemplos de formulas de Adams-Bashforth:

1. de orden 2:

yi+1 = yi + h[

32f(xi, yi)− 1

2f(xi−1, yi−1)]

2. de orden 4:

yi+1 = yi +h

24

[55f(xi, yi)− 59f(xi−1, yi−1)+

+ 37f(xi−2, yi−2)− 9f(xi−3, yi−3)]

3. de orden 5:

yi+1 = yi +h

720

[1901f(xi, yi)− 2774f(xi−1, yi−1)+

+ 2616f(xi−2, yi−2)− 1274f(xi−3, yi−3) + 251f(xn−4, yn−4)]

Todas ellas se pueden obtener siguiendo el proceso descrito en la pagina126. Dado que en dicho proceso se utiliza el cambio de variable x = xi + θ h,si en la formula final (6.10) deseo que aparezca la funcion f(x, y) valorada enlos puntos

Page 129: Teoría entera

Ecuaciones diferenciales 129

xi, xi−1, ..., xi−k+1,

tendre que elegir los valores

θ0 = 0, θ1 = −1, ..., θk−1 = −k + 1

al construir la formula de cuadratura (6.9).Para aplicar una formula de Adams-Bashforth de k pasos necesitaremos

los valores iniciales y0, y1, ..., yk−1, que podran obtenerse mediante un metodode un paso del mismo orden.

6.4.2 Formulas de Adams-Moulton

Un metodo multipaso de la forma

yi+1 = yi +Bf(xi+1, yi+1) +A0f(xi, yi) +A1f(xi−1, yi−1) + . . .

· · ·+Ak−1f(xi−k+1, yi−k+1) (6.12)

es una formula de Adams-Moulton de k pasos y orden k + 1. Estos metodosse encuadran dentro de los metodos multipaso implıcitos, debido a que enla formula aparece el valor yi+1 definido de forma implıcita. Al igual quelas formulas de Adams-Bashforth, las formulas de Adams-Moulton se puedenobtener siguiendo el proceso descrito en la pagina 126. Dado que en dichoproceso se utiliza el cambio de variable x = xi + θ h, si en la formula final(6.10) deseo que aparezca la funcion f(x, y) valorada en los puntos

xi+1, xi, xi−1, ..., xi−k+1,

tendre que elegir los valores

θ = 1, θ0 = 0, θ1 = −1, ..., θk = −k + 1

al construir la formula de cuadratura (6.9).Para aplicar una formula de Adams-Moulton de k pasos necesitaremos los

valores iniciales y0, y1, ..., yk−1, que podran obtenerse mediante un metodo deun paso del mismo orden.

Supongamos que disponemos de los valores yi, yi−1, ..., yi−k+1. ¿Comocalcular yi+1 mediante la formula (6.12)? Se puede hacer de dos formas:

Page 130: Teoría entera

130 Capıtulo 6

1. Metodo predictor-corrector. Se estima un primer valor predictor y∗i+1

mediante una formula de Adams-Bashforth del mismo orden y despues secalcula el valor corrector yi+1 aplicando

yi+1 = yi +Bf(xi+1, y∗i+1) +A0f(xi, yi) +A1f(xi−1, yi−1) + . . .

· · ·+Ak−1f(xi−k+1, yi−k+1).

2. Metodo iterativo de punto fijo. En la formula (6.12) todos los terminosde la parte derecha de la igualdad son datos excepto yi+1. En este sentido,yi+1 es un punto fijo de la funcion

Φ(t) = yi +Bf(xi+1, t) +A0f(xi, yi) +A1f(xi−1, yi−1) + . . .

· · ·+Ak−1f(xi−k+1, yi−k+1).

En consecuencia, yi+1 lo podemos obtener como lımite de la sucesion

t0 = y∗i+1, tn = Φ(tn−1) n ≥ 1

siendo y∗i+1 un valor inicial que se recomienda obtener mediante la formulade Adams-Bashforth del mismo orden. En la practica, es suficiente dos o tresiteraciones para conseguir un valor aceptable de yi+1.

Ejemplo: Deduzcamos la formula de Adams-Moulton de orden dos

yi+1 = yi + h[12f(xi+1, yi+1) +

1

2f(xi, yi)

](6.13)

Aplicaremos el proceso descrito en la pagina 126. Si en la formula decuadratura (6.9) tomamos los puntos

θ0 = 1 θ1 = 0

y le imponemos la condicion de que sea exacta para los polinomios de gradomenor o igual que 1, obtendremos que los coeficientes A0 y A1 deben verificarlas ecuaciones

A0 +A1 = 1 A0 =1

2

Page 131: Teoría entera

Ecuaciones diferenciales 131

y la solucion del sistema anterior es A0 = 12 y A1 = 1

2 . Sustituyendo en (6.10)nos queda

y(xi+1)− y(xi) ≈ h[12f(xi+1, y(xi+1)) +

1

2f(xi, y(xi)

]

lo cual sugiere el metodo

yi+1 = yi + h[12f(xi+1, yi+1) +

1

2f(xi, yi

].

¤

Ejercicio: Aplica el metodo anterior al calculo de la solucion de

y′ =yx− x2

x2y(1) = 2

El metodo a aplicar es de orden 2 y 1 paso, por lo que solo necesitamos elvalor y0 para empezar. Para estimar el resto de valores podemos optar por elmetodo predictor-corrector o por el metodo iterativo de punto fijo.

1. Metodo predictor. Calculamos un valor predictor y∗1. Si es posible,debe calcularse con una formula de Adams-Bashforth del mismo orden, eneste caso la formula (6.11) que es de orden dos. Sin embargo, para aplicar(6.11) necesitamos los dos puntos iniciales y0 e y1, con lo que en este primerpaso no podemos hacer uso de ella. Calculamos y∗1 mediante otro metodo, porejemplo, por Runge-Kutta de orden 2 (ver 6.6):

y∗1 = y0 + h[12f(x0, y0) +

1

2f(x1, y0 + hf(x0, y0))

]= 1.98474

Con este valor, calculamos el valor corrector con Adams-Moulton

y1 = y0 + h[12f(x1, y

∗1) +

1

2f(x0, y0

]= 1.98473.

Para calcular y2, primero calculo el valor predictor y∗2 con Adams-Bashforthde orden 2 (formula (6.11))

y∗2 = y1 + h[32f(x1, y1)−

1

2f(x0, y0)

]= 1.97017

Page 132: Teoría entera

132 Capıtulo 6

y despues calculo el corrector con Adams-Moulton

y2 = y1 + h[12f(x2, y

∗2) +

1

2f(x1, y1

]= 1.97015.

En el siguiente paso calculo el predictor y∗3 con Adams-Bashforth

y∗3 = y2 + h[32f(x2, y2)−

1

2f(x1, y1)

]= 1.95624

y despues calculo el corrector con Adams-Moulton

y3 = y2 + h[12f(x3, y

∗3) +

1

2f(x2, y2

]= 1.95622.

El proceso anterior se repite para calcular el resto de valores.2. Metodo iterativo de punto fijo. Dada la funcion

Φ1(t) = y0 + h[12f(x1, t) +

1

2f(x0, y0)

]

el valor y1 que buscamos verifica

Φ1(y1) = y1.

Es, por tanto, un punto fijo de la ecuacion

Φ1(t) = t.

Para localizarlo generamos una sucesion iterativa comenzando por un valor y∗1obtenido, si es posible, por Adams-Bashforth del mismo orden. En este casono es posible aplicar Adams-Bashforth puesto que se necesitarıa dos puntosiniciales que no tenemos. Calculamos y∗1 mediante Runge-Kutta de orden 2(y∗1 = 1.98474) y generamos la sucesion iterativa:

t0 = y∗1 = 1.98474t1 = Φ1(1.98474) = 1.98473t2 = Φ1(1.98473) = 1.98473

De forma que tomamos y1 = 1.98473.y2 es un punto fijo de

Φ2(t) = y1 + h[12f(x2, t) +

1

2f(x1, y1)

]

Page 133: Teoría entera

Ecuaciones diferenciales 133

que localizamos mediante la sucesion iterativa similar a la anterior que co-mienza en y∗2 = 1.97017, que a su vez es obtenido por Adams-Bashforth deorden 2

t0 = y∗2 = 1.97017t1 = Φ2(1.97017) = 1.97015t2 = Φ2(1.97015) = 1.97015

Tomamos y2 = 1.97015. Y repetimos el proceso para el resto de valores.¤

Ejercicio:

1. Deduce la formula de Adams-Bashforth de orden 4:

yi+1 = yi +h

24

[55f(xi, yi)− 59f(xi−1, yi−1)+

+ 37f(xi−2, yi−2)− 9f(xi−3, yi−3)]

y usala para resolver la ecuacion

y′ =yx− x2

x2y(1) = 2

con h = 1/128

2. Repite el apartado anterior para la formula de Adams-Moulton de orden4:

yi+1 = yi +h

24

[9f(xi+1, y(i+ 1)) + 19f(xi, yi)−

− 5f(xi−1, yi−1) + f(xi−2, yi−2)]

¤

Ejercicio: Usa la identidad

y(xi+2)− y(xi) =

∫ xi+2

xi

y′(x)dx

y la formula de cuadratura de Simpson 1/3 para obtener la formula del si-guiente metodo multipaso

yi+2 = yi +h

3

[f(xi, yi) + 4f(xi+1, yi+1) + f(xi+2, yi+2)

].

¤

Page 134: Teoría entera
Page 135: Teoría entera

Problemas

Ecuaciones no lineales

1. Dada la ecuacion √xsen(x)− x3 + 2 = 0

encuentra una aproximacion de una raız

(a) Con el metodo de la biseccion con un error menor que 1/30.

(b) Con 4 iteraciones del metodo de Newton-Raphson.

2. Determina un intervalo y una funcion para aplicar el metodo del puntofijo a las siguientes ecuaciones:

(a) x3 − x− 1 = 0

(b) 4− x− tg(x) = 0

Realiza 4 iteraciones del metodo y determina en cada caso una cota delel error cometido.

3. Se considera la ecuacion x2 − 1− sen(x) = 0.

(a) Prueba que dicha ecuacion tiene, al menos, una raız positiva.

(b) Encuentra un intervalo en el cual la iteracion

xn =√

1 + sen(xn−1) x ∈ N

converja, para cualquier valor inicial x0 de dicho intervalo, a unaraız positiva de la ecuacion anterior. ¿Cuantos pasos deben darse,a partir de x0 = π/2, para obtener una aproximacion de la raız conun error inferior a una milesima?

135

Page 136: Teoría entera

136 Problemas

4. Demuestra que la ecuacion

exL(x) + x3 − 2 = 0

tiene una unica raız positiva. Aplica el metodo de Newton-Raphson paraencontrar una aproximacion a la raız. Realiza iteraciones hasta que serepitan las primeros cuatro decimales.

5. Determina un intervalo y una funcion para poder aplicar el metodo delpunto fijo a las siguientes ecuaciones:

(a) x− L(1 + x)− 0.2 = 0.

(b) x = −L(x).

Calcula una aproximacion a la solucion con un error inferior a 10−5.

6. Se considera la funcion

F (x) = e−x − sen(x)− 2.

(a) Demuestra que F (x) < 0 si x ≥ 0.

(b) Prueba que la ecuacion F (x) = 0 tiene una unica raız negativa.

(c) Determina un intervalo donde se pueda aplicar el metodo de Newton-Raphson para aproximar dicha raız, ası como los 4 primeros terminosde la sucesion definida mediante dicho metodo. Calcula una cotadel error cometido.

7. Dada la funcion f(x) = ex − 3x2,

(a) Localiza un intervalo que contenga una solucion de f(x) = 0. Enun-cia el resultado teorico que utilices.

(b) Encuentra, aplicando el metodo del punto fijo con cuatro iteracio-nes, una aproximacion de un valor donde se anule la derivada def(x) y una cota del error cometido.

8. Dada la ecuacion x = arctg(x+1), aplica el metodo de la biseccion paraencontrar una solucion con un error menor que 1/10.

9. Calcula tres iteraciones del metodo de la secante para encontrar una raızde la ecuacion

cos(x)− x = 0

en el intervalo [0.5, π/4]

Page 137: Teoría entera

Problemas 137

10. Dada la ecuacion 2cos(2x) + 4x− k = 0,

(a) Determina el valor de k para que la ecuacion tenga una unica raıztriple en el intervalo [0, 1].

(b) Para k = 3, prueba que posee una unica raız simple en el intervalo[0, 1] y calculala con el metodo de Newton con un error menor que10−3.

11. Dado el polinomio P (x) = x4 − 4x3 + 7x2 − 5x− 2

(a) Utiliza la sucesion de Sturm para separar las raıces del polinomio.

(b) Utiliza el metodo de Newton-Raphson para encontrar una aproxi-macion de la raız real de P (x) de menor valor absoluto.

12. Dado el polinomio P (x) = 8x3 − 20x2 − 2x + 5, utiliza su sucesionde Sturm para separar sus raıces en intervalos disjuntos. Encuentraaproximaciones de las raıces con un error menor que 10−3.

13. Dado la ecuacion x4 − 7x3 + 18x2 − 20x+ 8 = 0:

(a) Demuestra con el teorema de Bolzano que tiene una solucion en elintervalo [1.5, 3]. y utiliza el metodo de Newton para encontrar unaaproximacion con error menor que 10−6

(b) Utiliza la sucesion de Sturm para separar las distintas raıces delpolinomio.

14. Cuestion de examen de febrero de 2004:Dada la ecuacion x2 − e2x = −1/2,

(a) Demuestra que tiene una unica solucion en el intervalo [−2, 0].(b) Encuentra una aproximacion a la solucion mediante tres iteraciones

del metodo del punto fijo partiendo del punto x0 = −1.5

15. Cuestion de examen de junio de 2004:Dada la funcion f(x) = cos(x)− x,

(a) Calcula el numero de pasos necesarios para encontrar una raız def(x) con un error menor que 10−2 con el metodo de la biseccionen el intervalo [0.5, π/4]. Aplica el metodo con el numero de pasoscalculado.

Page 138: Teoría entera

138 Problemas

(b) Aplica tres iteraciones del metodo de la secante para encontrar unaraız de f(x) en el intervalo [0.5, π/4].

16. Cuestion de examen de septiembre de 2004:Dado el polinomio P (x) = −x3 + x2 − 2x+ 5,

(a) Utiliza el metodo de Sturm para separar las raıces en intervalosdisjuntos.

(b) Empezando con x = 6 aplica un paso del metodo de Newton ha-ciendo uso del algoritmo de Horner.

Page 139: Teoría entera

Problemas 139

Sistemas de ecuaciones lineales

17. Para el conjunto de ecuaciones.

7x1 − 3x2 + 8x3 = −49x1 − 2x2 − 5x3 = 5

4x1 − 6x2 + 10x3 = −84

a) Calcula la inversa de la matriz de los coeficientes haciendo uso delas operaciones fundamentales. b) Utiliza la inversa para obtener lassoluciones del sistema. c) Calcula el numero de condicion de la matrizcon las distintas normas que conozcas.

18. Dado el sistema de ecuaciones

0.5x1 − x2 = −9.50.28x1 − 0.5x2 = −4.72

a) Resuelvelo por Gauss. b) Sustituye a11 por 0.55 y resuelvelo de nuevo.c) Interpreta los resultados anteriores en terminos del condicionamientodel sistema. d) Calcula el numero de condicion de la matriz del sistemacon la norma infinito.

19. Dado el sistema

−12x1 + x2 − 7x3 = −80x1 − 6x2 + 4x3 = 13−2x1 − x2 + 10x3 = 92

a) Resuelvelo por eliminacion gaussiana simple usando dıgitos con doscifras decimales. b) Encuentra las matrices triangular inferior L, trian-gular superior U y de permutaciones P tal que PA = LU , siendo A lamatriz de los coeficientes. c) Sustituye los resultados en las ecuaciones y,si es necesario, utiliza el metodo del refinamiento iterativo para mejorarla solucion.

20. a) Resuelve los siguientes sistemas de ecuaciones mediante eliminaciongaussiana con pivoteo parcial empleando dıgitos con dos decimales. b)Encuentra las matrices P , L y U tal que PA = LU como en el ejercicioanterior. c) Comprueba los resultados, y si no son exactos, emplea elrefinamiento iterativo para mejorar la solucion.

Page 140: Teoría entera

140 Problemas

1).4x1 + 5x2 − 6x3 = 28

2x1 − 7x3 = 29−5x1 − 8x2 = −64

2).3x2 − 13x3 = −50

2x1 − 6x2 + x3 = 444x1 + 8x3 = 4

21. Dado el sistema

3 2 100−1 3 1001 2 −1

x1

x2

x3

=

1051022

resuelvelo mediante descomposicion LU de Gauss: a) sin escalamiento yb) con escalamiento previo de filas.

22. Dados

A =

4 −3 02 2 36 1 −6

b =

−7−26

b′ =

149−8

resuelve Ax = b y Ax = b′ mediante una descomposicion LU de Gauss.Utiliza 3 decimales en los calculos.

23. Resuelve el sistema siguiente mediante descomposicion LU :

−4x1 + 2x2 = 0x1 − 4x2 = −4

x2 − 4x3 + x4 = −11x3 − 4x4 + x5 = 52x4 − 4x5 = 6

24. Resuelve el sistema

4 −1 −1 0−1 4 0 −1−1 0 4 −10 −1 −1 4

x1

x2

x3

x4

=

−404−4

mediante la descomposicion de Cholesky. ¿Es la matriz de los coeficientesdefinida positiva?

Page 141: Teoría entera

Problemas 141

25. Dado el sistema

2 0 −1−2 −10 0−1 −1 4

x1

x2

x3

=

1−122

comprueba si se cumple alguna de las condiciones suficientes para quefuncionen los metodos de Jacobi y Gauss-Seidel. Si se cumplen, realizados iteraciones para cada metodo tomando como valor inicial (0, 0, 0).

26. Repite el ejercicio anterior para el sistema

x1 − 2x2 = −13x1 + x2 = 4

Intenta resolver el sistema con los metodos de Jacobi y Gauss-Seidelhaciendo algun pequeno cambio en las ecuaciones.

27. Cuestion de examen de febrero de 2004:Aplica el metodo de Jacobi a la resolucion del sistema:

7x− y + 4z = 83x− 8y + 2z = −44x+ y − 6z = 3

empleando 3 iteraciones y partiendo del punto (0, 0, 0). ¿Es convergenteel metodo?

28. Cuestion de examen de junio de 2004:Resuelve por el metodo de Cholesky el sistema de ecuaciones:

x1 + 2x2 + 3x3 = 72x1 + 5x2 + 4x3 = 9

3x1 + 4x2 + 14x3 = 33

29. Cuestion de examen de septiembre de 2004:Resuelve el siguiente sistema dos veces. Primero, utilizando la elimina-cion gaussiana simple y encontrando la factorizacion A = LU . Despues,utilizando la eliminacion gaussiana con pivoteo y encontrando la facto-rizacion PA = LU.

−x1 + x2 − 4x3 = 02x1 + 2x2 = 13x1 + 3x2 + 2x3 = 1

2

Page 142: Teoría entera

142 Problemas

Aproximacion de funciones. Interpolacion

30. De la funcion f(x, t) que representa una onda que se desplaza sobre elplano se conocen cinco posiciones en un determinado instante:

(−1, 0), (−0.5,−1), (0, 0), (0.5, 1), (1, 0).

(a) Encuentra un polinomio que pase por esos puntos.

(b) Encuentra una funcion formada por trozos de recta que pase poresos puntos.

(c) Sabiendo que las derivadas de f(x) en el mismo instante en lospuntos−1,−0.5, 0, 0.5 y 1 son−π, 0, π, 0 y−π, calcula un polinomioque cumpla todas las condiciones.

(d) Calcula el spline natural para ese conjunto de datos.

31. ¿Cual es el polinomio interpolador de f(x) = x3 − 2x− 5 en los puntos−0, 1, 2, 4.?

32. Se ha estudiado el proceso de recepcion de informacion de un ordenadory se ha observado que en los instantes 0, 1, 2 medidos en segundos, lacantidad de informacion recibida era 0, 51, 104 megabites y se recibıaa una velocidad de 0, 52, 54 megabites por segundo, respectivamente.Encuentra una funcion que se aproxime a la que representa el proceso.

33. Dada la funcion f(x) = ex y los puntos 0, 1, 2.,

(a) Encuentra su polinomio de interpolacion en los puntos y estima elerror cometido.

(b) Repite el apartado anterior con los nodos de Chebyshev en el inter-valo [0, 2].

(c) Encuentra una funcion lineal a trozos que se aproxime a f(x) enlos puntos dados.

(d) Encuentra un polinomio que interpole a f(x) y a sus derivadas enlos puntos dados.

(e) Calcula el spline natural en los puntos dados.

34. La funcion f(x) = L(x) se ha evaluado en varios puntos, obteniendoselo siguientes datos:

Page 143: Teoría entera

Problemas 143

x0 = 1 f(x0) = 0x1 = 4 f(x1) = 1.3863x2 = 6 f(x2) = 1.7918

(a) Utilıcense los datos anteriores para calcular el polinomio de inter-polacion y el spline natural. Estımese el valor de L(2).

(b) Agregando un cuarto punto x3 = 5, f(x3) = 1.6094, haganse denuevo los calculos y estimaciones.

35. Calculando los valores de la funcion f(x) =√x en 1,4 y 9,

(a) Halla el polinomio interpolador de grado menor o igual que 2 porel metodo de Newton que pase por esos puntos.

(b) Halla el polinomio interpolador en los nodos de Chebyshev en [1,9].

(c) Aplica el metodo de Hermite en los puntos iniciales y en sus deri-vadas.

(d) Calcula el spline natural.

36. Cuestion de examen de junio de 2004:Dada la funcion f(x) = ex, determina los cuatro nodos de Chebyshev en[0, 1], el polinomio interpolador en dichos nodos y un valor aproximadode e0.5 mediante dicho polinomio. Realiza los calculos con 4 decimales.

Polinomios de Chebysev: T0(x) = 1, T1(x) = x, Tn+1(x) = 2xTn(x) −Tn−1(x).

37. Cuestion de examen de septiembre de 2004:Determina si la funcion

f(x) =

1 + x− x3 si x ∈ [0, 1]1− 2(x− 1)− 3(x− 1)2 + 4(x− 1)3 si x ∈ [1, 2]4(x− 2) + 9(x− 2)2 − 3(x− 2)3 si x ∈ [2, 3]

es el spline cubico natural que interpola a los puntos de la tabla:

x 0 1 2 3

y 1 1 0 10

Page 144: Teoría entera

144 Problemas

Diferenciacion e integracion numerica

38. De la funcion f(x) = ex − 2x2 + 3x− 1 se obtienen los siguientes datos:

x 0.0 0.2 0.4 0.6

f(x) 0.00000 0.74140 1.3718 1.9021

(a) Utilizando la formula mas adecuada de entre las siguientes:

f ′(x) = f(x+h)−f(x)h f ′(x) = f(x+h)−f(x−h)

2h f ′′(x) = f(x+h)−2f(x)+f(x−h)h2 ,

calcula valores aproximados de la primera y segunda derivadas delos puntos.

(b) Calcula los errores reales y las cotas de error por medio de lasformulas de error para las estimaciones anteriores.

(c) Encuentra una aproximacion de f ′(0.2) haciendo uso de la interpo-lacion de la funcion en los cuatro puntos.

(d) Sabiendo que f(−0.2) = −0.861267, aplica la interpolacion de Ri-chardson para calcular una aproximacion de f ′(0.2).

39. De una funcion f(x) se tienen los siguientes datos:

x 0.0 0.5 1 1.5 2 2.5 3

f(x) 2.25 3.75 5 6 5.5 6 7.25

Calcula un valor aproximado de∫ 30 f(x)dx utilizando los siguientes metodos:

(a) Trapecios.

(b) Simpson 1/3.

(c) Simpson 3/8.

(d) Trapecios compuestos.

(e) Simpson compuesto.

(f) Romberg.

40. Determina el numero de subintervalos que deben tomarse para aproximarel valor de la integral

∫ 10.5 cos(

√x)dx con un error menor que 1

210−2

(a) con el metodo de los trapecios compuesto,

Page 145: Teoría entera

Problemas 145

(b) con el metodo de Simpson compuesto.

41. Repite el ejercicio anterior para

(a)∫ 21 Ln(x)dx (b)

∫ 32

ex

x dx

42. Calcula∫ 10 sen(x2)dx:

(a) con un error menor que 10−2 con el metodo de los trapecios com-puestos

(b) con un error menor que 10−2 con el metodo de Simpson compuesto,

(c) con el algoritmo de Romberg hasta R(4, 4),

(d) con el metodo de cuadratura adaptativa con nivel de tolerancia10−3.

43. Repite el ejercicio anterior con∫ 21 e1/xdx.

44. (a) Calcula la integral∫ 10 sen(x2)dx mediante cuadratura gaussiana de

dos terminos.

(b) Plantea como resolver el problema de calcular la∫ 10 sen(x2)dx me-

diante cuadratura gaussiana de tres terminos. Calcula la integralsabiendo que los nodos (ti) en este caso son las raıces del polinomio5x3−3x

2 .

45. Aplica algun metodo de integracion numerica para resolver las siguientesintegrales:

(a)∫ 10

sen(x)x dx (b)

∫ 1−1

cos(x)−ex

sen(x) dx (c)∫∞1 (xex)−1dx.

46. Determina los valores de A, B y C que hagan que la formula

∫ 2

0xf(x) ≈ Af(0) +Bf(1) + Cf(2)

sea exacta para todos los polinomios de grado tan alto como sea posible.¿Cual es el grado maximo?

47. Evalua la integral de x3sen(x) entre x = 0 y x = 2 usando un valor detolerancia inferior a 0.1% de la respuesta verdadera (3.791197).

Page 146: Teoría entera

146 Problemas

48. Cuestion de examen de febrero de 2004:Dada la funcion f(x) = L(x) calcula

∫ 32 L(x)dx empleando el metodo de

cuadratura de Gauss con tres terminos y sabiendo que los polinomios deLegendre se calculan ası:

L0(x) = 1, L1(x) = x,

Ln+1(x) =(2n+1)xLn(x)−nLn−1(x)

n+1 ∀ n ≥ 1.

49. Cuestion de examen de junio de 2004:Encuentra los coeficientes A0, A1, A2 y A3 para que la formula

∫ 3

−1f(x)dx = A0f(−1) +A1f(0) +A2f(1) +A3f(2)

sea exacta para los polinomios de grado menor o igual que 3 y calculaun valor aproximado de

∫ 3−1(x

3 + x)dx haciendo uso de dicha formula.

50. Cuestion de examen de septiembre de 2004:Encuentra los coeficientes A1 y A2 para que la formula

∫ 2π

0f(x)dx = A1f(0) +A2f(π)

sea exacta para cualquier funcion que tenga la forma a+ b cos(x).

Calcula∫ 2π0 2 + 3 cos(x)dx haciendo uso de dicha formula.

Page 147: Teoría entera

Problemas 147

Resolucion numerica de ecuaciones diferenciales

ordinarias

51. Cuestion de examen de junio de 2004:Aplicando el metodo de Taylor de grado 2 con dos pasos, calcula valoresaproximados de y(0.1) y y(0.2), sabiendo que

y′ + 2y = x2 + 2x y(0) = 1

52. Cuestion de examen de febrero de 2005:

Resuelve la ecuacion y′ = y2 − t2 + 1, y(0) = 0.5, siendo 0 ≤ t ≤ 1.2,mediante el metodo de Taylor de grado 2 con 5 pasos.

53. (a) Deduce la formula de Adams-Bashforth de orden 4:

yi+1 = yi +h

24

[55f(xi, yi)− 59f(xi−1, yi−1)+

+ 37f(xi−2, yi−2)− 9f(xi−3, yi−3)]

y usala para resolver la ecuacion

y′ =yx− x2

x2y(1) = 2

con h = 1/128

(b) Repite el apartado anterior para la formula de Adams-Moulton deorden 4:

yi+1 = yi +h

24

[9f(xi+1, y(i+ 1)) + 19f(xi, yi)−

− 5f(xi−1, yi−1) + f(xi−2, yi−2)]

54. Usa la identidad

y(xi+2)− y(xi) =

∫ xi+2

xi

y′(x)dx

y la formula de cuadratura de Simpson 1/3 para obtener la formula delsiguiente metodo multipaso

yi+2 = yi +h

3

[f(xi, yi) + 4f(xi+1, yi+1) + f(xi+2, yi+2)

].

Page 148: Teoría entera

148 Problemas

55. Aplica el metodo clasico de Runge-Kutta para estimar 10 valores apro-ximados de la solucion de la ecuacion siguiente en el intervalo [0, 1]

y′ + 2y = x2 + 2x y(0) = 1

56. A partir de la identidad

y(xi+1)− y(xi) =

∫ xi+1

xi

y′(x)dx

deduce el metodo de Runge-Kutta de orden 2

yi+1 = yi + h[12f(xi, yi) +

1

2f(xi+1, yi + hf(xi, yi))

]