Los métodos numéricos sirven para obtener una solución aproximada de un problema matemático mediante la implementación de un algoritmo.
Por tanto, la solución que obtenemos posee un margen de error que es conveniente controlar.
En este tema se estudian varios métodos de derivación e integración empleando métodos numéricos y, además, se estudia como controlar el error de cálculo (de redondeo y truncamiento) que éstos generan.
Estos apuntes fueron utilizados en la asignatura de Matemática Numeríca impartida por el Dr. José Valero Cuadra dentro del Máster Universitario de Investigación en Tecnologías Industriales y de Telecomunicación.
1. Programa de Doctorado: Tecnologías Industriales y
de Comunicación
Matemática Numérica
Tema 1: Derivación e integración numéricas
1 Introducción
Los métodos numéricos sirven para obtener una solución aproximada de un problema
matemático mediante la implementación de un algoritmo.
Por tanto, la solución que obtenemos posee un margen de error que es conveniente
controlar.
Hay dos fuentes de error en un algoritmo numérico.
Una fuente de error es la propia representación del número en el ordenador. Nor-
malmente los números se representan en el ordenador en código binario y en notación
cientí…ca. Como el número de bits que podemos utilizar es …nito, esta representación
implica necesariamente un redondeo. Además, al realizar operaciones aritméticas se in-
troducen nuevos errores que se van propagando. A esta parte del error lo llamaremos
Error de Redondeo.
Notemos pues que a la hora de diseñar un algoritmo numérico es importante tener en
cuenta el número de operaciones necesarias para su implementación, ya a mayor número,
mayor es el error de redondeo y mayor es el tiempo de cálculo.
Si un algoritmo obtiene la solución exacta de un problema en un número …nito de
pasos decimos que el algoritmo es directo. En este caso la única fuente de error es el de
redondeo.
Un algoritmo es un método iterativo si consiste en una sucesión de pasos dependi-
entes de uno o varios parámetros y que proporciona aproximaciones de la solución cada
vez mejores a medida que los parámeteros tienden a in…nito. Si las sucesivas soluciones
se acercan cada vez más a la solución real, entonces decimos que el método es conver-
gente. En este caso el método en sí tiene un error proprio, al que llamaremos Error de
Truncamiento.
Es importante resaltar que en los métodos iterativos no es sólo importante estudiar
la convergencia del método, sino también la velocidad a la que converge, ya que a mayor
velocidad, menos tiempo de cálculo necesitaremos para la resolución del problema.
Por tanto, si x aproxima la solución x, expresaremos el error x x en la forma:
Error = x x = ERed + ET runc :
1
2. El error absoluto jx x j lo estimaremos mediante la desigualdad
jx xj jERed j + jET runc j :
2 Derivación numérica
El problema de la derivación numérica consiste en aproximar la función derivada f 0 (x)
de una función f dado que conocemos las imágenes de la función en ciertos puntos.
Las fórmulas de derivación numéricas son importantes en el desarrollo de algoritmos de
resolución de ecuaciones diferenciales, como veremos en el siguiente tema.
Dado que, por de…nición,
f (x + h) f (x) f (x) f (x h) f (x + h) f (x h)
f 0 (x) = lim = lim = lim ;
h!0 h h!0 h h!0 2h
el método más sencillo para estimar numéricamente derivadas parece evidente: tómese
h lo su…cientemente pequeño para que la diferencia entre el cociente incremental y su
límite cuando h ! 0 sea menor que la precisión deseada. Este método de derivación
numérica se llama aproximación por diferencias …nitas. Más especí…camente, tenemos la
aproximación por diferencias hacia adelante
f (x + h) f (x) f1 f0
f 0 (x) ' = ;
h h
la aproximación por diferencias hacia atrás
f (x) f (x h) f0 f 1
f 0 (x) ' = :
h h
y, …nalmente, la aproximación por diferencias centrales.
f (x + h) f (x h) f1 f 1
f 0 (x) ' = : (1)
2h 2h
d x
Ejemplo. Vamos a aproximar dx
e en x = 1 con h = 0:1 (e = 2:7182818):
e1:1 e
1. Diferencias hacia delante: f 0 (1) ' 0:1
= 2:8588, Error = 0:1405:
e1 e0:9
2. Diferencias hacia atrás: f 0 (1) ' 0:1
= 2:868, Error = 0:1315:
e1:1 e0:9
3. Diferencias centrales: f 0 (1) ' 0:2
= 2: 722 8, Error = 0:0045:
Vemos que el error es menor en el último caso. Más tarde veremos que esto no es
casualidad.
Como estas fórmulas de aproximación utilizan los valores de f en dos puntos distintos,
se llaman fórmulas de dos puntos. En general, se llaman fórmulas de k puntos a aquellas
que aproximan el valor de f (n) (x); k n + 1; mediante los valores de f en k puntos
2
3. distintos. Nosotros nos restringiremos siempre al caso en el que todos estos puntos distan
de x un múltiplo de una distancia mínima h.
La primera pregunta que nos aparece es obvia: ¿qué valor de h hemos de elegir para
que que la aproximación de la derivada sea buena? Veamos un ejemplo que ilustra que
la solución de este problema no es simple debido a los errores de redondeo que tiene el
ordenador.
Consideremos la función f (x) = ex . La derivada de ex en el punto x = 1 es e '
e1+hk e
2:718281828. Veamos varias aproximaciones del tipo Dk = para distintos valores
hk
de hk (cálculos realizados en Excel):
hk e1+hk e1+hk e Dk Error
0:1 3:004166024 0:285884195 2:85884195 0:140 56
0:001 2: 721 001 47 0:02719 641 2:719 64142 0:001 359
5 5
0:00001 2:718309011 2:71829542 10 2:71829542 1:3592 10
10 13 2:718281828 2; 71783 10 13 2:717825964 0:00046
10 15 2:718 281828 0 0 2: 718 282
Al contrario de lo que pudiera uno pensar, el mejor resultado se ha obtenido en h =
0:00001, mientras que para valores más pequeños el error aumenta. El problema reside
en que para valores de h muy pequeños los valores e1+h y e son casi idénticos, y se
produce una pérdida importante de cifras signi…caticas debido al redondeo, mientras que
el denominador no sufre ningún redondeo. Llega un momento (h = 10 15 ) en el cual el
numerador es un cero máquina (under‡ ow) y el resultado resulta por completo erróneo.
Por tanto, el problema no es sencillo; no basta con ir disminuyendo h hasta obtener
la precisión deseada, sino que hemos de buscar el valor óptimo. Una solución es ir dismi-
nuyendo hk hasta que se cumpla el siguiente criterio de parada:
o bien jDk Dk 1 j < ";
o bien jDk+1 Dk j jDk Dk 1 j :
Es decir, que en cuenta aumenta la diferencia entre dos iteradas consecutivas paramos el
cálculo.
Una vez visto este importante aspecto, pasaremos a examinar más detenidamente el
error de las aproximaciones (sin tener ahora en cuenta el error de redondeo).
De…nición. Sea D (x; h) una aproximación de la derivada enésima en el punto x.
Llamaremos error de truncamiento Etrunc (x; h) a la diferencia
Etrunc (x; h) = f (n) (x) D (x; h)
Vamos a ver los errores de truncamiento de las aproximaciones de la primera derivada
que hemos visto:
(Fórmulas de dos puntos para f 0 (x))
3
4. 1. (Diferencias hacia adelante) Sea f 2 C 2 [a; b] y supongamos que x, x + h 2 [a; b].
Entonces, existe 2]a; b[ tal que
f (x + h) f (x) f (2) ( )
f 0 (x) = h:
h 2
2. (Diferencias hacia atrás) Sea f 2 C 2 [a; b] y supongamos que x h; x 2 [a; b]:
Entonces, existe 2]a; b[ tal que
f (x) f (x h) f (2) ( )
f 0 (x) = + h:
h 2
3. (Diferencias centrales) Sea f 2 C 3 [a; b] y supongamos que x h; x; x + h 2 [a; b]:
Entonces, existe 2]a; b[ tal que
f (x + h) f (x h) f (3) ( ) 2
f 0 (x) = h:
2h 6
Estos resultados son consecuencia inmediata del desarrollo en serie de Taylor. Efecti-
vamente, en el primer caso tenemos:
2
f (x + h) f (x) f (x) + f 0 (x) h + f (2) ( ) h f (x) h
= 2
= f 0 (x) + f (2) ( ) ;
h h 2
luego
f (x + h) f (x) f (2) ( )
0
f (x) = h:
h 2
El segundo caso se demuestra de forma similar. En cuanto al último tenemos:
2 3
f (x + h) f (x h) f (x) + f 0 (x) h + f (2) (x) h + f (3) ( 1 ) h
2 6
=
2h 2h
2 3
f (x) f 0 (x) h + f (2) (x) h 2
f (3) ( 1 ) h6
2h
h2 (3) h2
= f 0 (x) + f ( 1 ) + f (3) ( 2 ) = f 0 (x) + f (3) ( ) :
12 6
(3)
En el último paso hemos utilizado que, como f es continua, por el teorema del valor
medio existe 2 (a; b) tal que
f (3) (
+ f (3) ( 2 ) 1)
= f (3) ( ) :
2
La precisión de las diferencias centrales es mejor, y, por tanto, convergerá más rápi-
damente.
Si
Etrunc (f (n) (x); h) Mh M; 2 R;
para 8x 2 [a; b], diremos entonces que la fórmula Dn (x; h) es de orden (de precisión)
O(h ): Por tanto, las diferencias hacia atrás y hacia delante tienen orden O (h) y las
diferencias centrales tienen orden O (h2 ).
Como hemos visto, no es aconsejable en los cálculos por ordenador usar valores de h
muy pequeños, por lo que conviene elegir un esquema con un valor alto de .
4
5. 2.1 El método de extrapolación de Richardson
Vamos a ver un método que nos permitirá obtener esquemas de mejor orden. Supondremos
que la función f posees derivadas continuas de cualquier orden. Usando la serie de Taylor
obtenemos que
f (x + h) f (x h)
D0 (h) = = f 0 (x) + Ch2 + O h4 ;
2h
f (x + 2h) f (x 2h)
D0 (2h) = = f 0 (x) + 4Ch2 + O h4 :
4h
Entonces
3f 0 (x) + O h4 = 4D0 (h) D0 (2h)
4 (f (x + h) f (x h)) f (x + 2h) f (x 2h)
=
2h 4h
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
= ;
4h
de donde obtenemos la aproximación de orden cuatro:
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h) f2 + 8f1 8f 1 +f 2
f 0 (x) ' = :
12h 12h
(2)
Pongamos ahora que
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
D1 (h) = = f 0 (x) + Ch4 + O h6 ;
12h
f (x + 4h) + 8f (x + 2h) 8f (x 2h) + f (x 4h)
D1 (2h) = = f 0 (x) + 16Ch4 + O h6 ;
24h
por lo que una aproximación de orden seis es
16D1 (h) D1 (2h)
D2 (h) = :
15
Para estos cálculos es importante resaltar que no hay términos impares.
A partir de estos resultados podemos extrapolar el método general: si
Dk 1 (h) = f 0 (x) + Ch2k + O h2k+2 ;
con lo cual
Dk 1 (2h) = f 0 (x) + 4k Ch2k + O h2k+2 ;
entonces
4k Dk 1 (h) Dk 1 (2h)
Dk (h) =
4k 1
es de orden h2k+2 .
5
6. Podemos pues calcular las aproximaciones de forma recursiva hasta obtener la precisión
deseada. Estos cálculos se pueden ordenar en una matriz triangular. Por ejemplo, si k = 3
tenemos que
D0 (x; 8h)
D0 (x; 4h) D1 (x; 4h)
D0 (x; 2h) D1 (x; 2h) D2 (x; 2h)
D0 (x; h) D1 (x; h) D2 (x; h) D3 (x; h)
Este procedimiento es equivalente a
D0 (x; h)
D0 (x; h ) D1 (x; h )
2 2
D0 (x; h ) D1 (x; h ) D2 (x; h )
4 4 4
D0 (x; h ) D1 (x; h ) D2 (x; h ) D3 (x; h )
8 8 8 8
Ejemplo. f (x) = ex , x = 1; h = 0:1 y k = 2
e = 2: 718 281 829
i=0 i=1 i=2
2: 791 351 5
2: 736 44 2: 718 136 2
2: 722 814 6 2: 718 272 8 2: 718 281 9
1:1 0:9
D0 (1; h) = e 0:2e = 2: 722 814 6
1:2 0:8
D0 (1; 2h) = e 0:4e = 2: 736 44
1:4 0:6
D0 (1; 4h) = e 0:8e = 2: 791 351 5
D1 (1; h) = 4 2: 722 81436 2: 736 44 = 2: 718 272 8
D1 (1; 2h) = 4 2: 736 44 3 2: 791 351 5 = 2: 718 136 2
D2 (1; h) = 16 2: 718 27215 2: 718 136 2 = 2: 718 281 907
8
8
Error=j2: 718 281 9 2: 718 281 829j = 0:000 000 071 = 7:1 10
Este mismo procedimiento se puede aplicar a las diferencias hacia delante y hacia
atrás. Por ejemplo, para las diferencias hacia delante tenemos
f (x + h) f (x)
D0 (h) = = f 0 (x) + Ch + O h2 ;
h
f (x + 2h) f (x)
D0 (2h) = = f 0 (x) + 2Ch + O h2 :
2h
Por tanto
4f (x + h) 4f (x) f (x + 2h) + f (x) f2 + 4f1 3f0
2D0 (h) D0 (2h) = = ;
2h 2h
f2 + 4f1 3f0
D1 (h) = ;
2h
6
7. que es una aproximación de orden O (h2 ).
Efectivamente,
f 00 (x) 2 f 000 ( 1 ) 3
f (x + 2h) + 4f (x + h) 3f (x) = f (x) + f 0 (x) 2h + 4h + 8h
2 6
f 00 (x) 2 f 000 ( 2 ) 3
+4 f (x) + f 0 (x) h + h + h 3f (x)
2 6
2f 000 ( 2) 3 4f 000 ( 1) 3
= f 0 (x) 2h + h h;
3 3
es decir,
jEtrunc (x; h)j M h2 ;
si jf 000 (y)j M , 8y 2 [x; x + 2h]:
A partir de estos resultados podemos extrapolar el método general: si
Dk 1 (h) = f 0 (x) + Chk + O hk+1 ;
con lo cual
Dk 1 (2h) = f 0 (x) + 2k Chk + O hk+1 ;
entonces
2k Dk 1 (h) Dk 1 (2h)
Dk (h) =
2k 1
es un esquema de orden O hk+1 :
Ejemplo. Obtener una aproximación de orden h3 de la derivada de ex en x = 1 con
h = 0:1:
i=0 i=1 i=2
3:3422953
3:0091755 2: 6760557
2:858842 2:7085085 2: 7193261
1:1 1
D0 (1; h) = e 0:1 e = 2:858842
1:2 1
D0 (1; 2h) = e 0:2 e = 3:0091755
1:4 1
D0 (1; 4h) = e 0:4 e = 3:3422953
D1 (1; h) = 2 2:8588421 3:0091755 = 2: 708 508 5
D1 (1; 2h) = 2 3:0091755 3:3422953 = 2: 676 055 7
1
D2 (1; h) = 4 2:70850853 2: 6760557 = 2: 719 326 1
7
8. 2.2 Análisis del error
Hemos visto al principio que el error de redondeo juega un papel importante en la
derivación numérica. Hagamos un análsis del error en el que tenemos en cuenta tanto
el error del método como el error de redondeo.
Supongamos que
f (x h) = y 1 + e 1 ; f (x + h) = y1 + e1 ;
donde e 1 ; e1 son los errores de redondeo. Si aproximamos f 0 (x) con diferencias centrales
y1 y 1
f 0 (x) = + E (x; h) ;
2h
el error E (x; h) viene determinado por la suma
E (x; h) = Ered (x; h) + Etrunc (x; h)
e1 e 1 f 000 ( ) 2
= h:
2h 6
Por tanto, si je1 j ; je 1 j " y jf 000 j M tenemos que
" M 2
jE (x; h)j + h:
h 6
Notemos en primer lugar que si h ! 0 el error de redondeo aumenta y converge a 1.
Al contrario, para h grandes aumenta el error del método. Hallemos el valor de h que
minimiza la parte derecha:
" M
2
+ h = 0;
h 3
1
3" 3
h= :
M
Este valor de h nos dará un error próximo al óptimo.
Por ejemplo, si f (x) = sen (x) (M = 1) y " = 0:5 10 9 , entonces
1
9
3 0:5 10 3
h= = 0:001145:
1
El error sería menor que
0:5 10 9 0:0011452
+ = 6: 55 10 7 :
0:001145 6
Para la fórmula (2) el análisis es similar. Sabemos (ver el Apéndice) que
1 8 (5) 8 32 (5) 32 (5)
Etrunc (x; h) = f ( 1 ) h4 + f (5) ( 2 ) h4 f ( 3 ) h4 f ( 4 ) h4 :
12 5! 5! 5! 5!
8
9. Usando la notación f (x + kh) = yk + ek y f (5) (y) M tenemos
y2 + 8y1 8y 1 +y 2
f 0 (x) = + E (x; h) ;
12h
e2 + 8e1 8e 1 +e 2 M 4
E (x; h) + h:
12h 18
De aquí para jek j ", tenemos
18" M 4 3" M 4
jE (x; h)j + h = + h:
12h 18 2h 18
El valor que minimiza la parte derecha viene dado por:
3" 4M 3
+ h = 0;
2h2 18
1
27" 5
h= :
4M
En el ejemplo anterior, para f (x) = sen (x), f (5) (x) 1, tenemos
1
9
27 0:5 10 5
h= = 0:020214
4 1
y
3 0:5 10 9 1
jE (x; h)j + 0:0202384 = 4: 64 10 8 :
2 0:020214 18
Vemos que el método de extrapolación de Richardson mejora la precisión, pero el error
de redondeo marca un límite que no podemos mejorar.
2.3 Derivadas de orden superior
Las derivadas aproximadas de orden superior se pueden obtener de manera recursiva. Por
ejemplo, si utilizamos las diferencias centrales tenemos
h h f (x+h) f (x) f (x) f (x h)
00 f0 x + 2
f0 x 2 h h
f (x) ' =
h h
f (x + h) 2f (x) + f (x h) f1 2f0 + f 1
= 2
= ;
h h2
que es de orden O (h2 ). Efectivamente,
2 3 4
f1 2f0 + f 1 f (x) + f 0 (x) h + f 00 (x) h + f 000 (x) h + f (4) ( 1 ) h
2 6 24
2f (x)
=
h2 h 2
2 3 4
f (x) f 0 (x) h + f 00 (x) h 2
f 000 (x) h + f (4) ( 2 ) h
6 24
+
h2
2
h
= f 00 (x) + f (4) ( ) :
12
9
10. Aplicando el procedimiento de extrapolación de Richardson obtenemos la aproxi-
mación de orden O (h4 ) :
f (x + h) 2f (x) + f (x h) f (x + 2h) 2f (x) + f (x 2h)
4
f 00 (x) ' h2 4h2
3
f (x + 2h) + 16f (x + h) 30f (x) + 16f (x h) f (x 2h)
=
12h2
f2 + 16f1
30f0 + 16f 1 f 2
= :
12h2
El procedimiento de Richardson se utiliza aquí exactamente igual que para la primera
derivada.
Si utilizáramos el esquema hacia delante, es decir,
f1 f0
f 0 (x) ' ;
h
entonces tendríamos
f 2 f1 f1 f0
f 0 (x + h) f 0 (x) f2 2f1 + f0
f 00 (x) ' ' h h
= :
h h h2
El esquema sigue siendo de orden O (h). Efectivamente:
f2 2f1 + f0
h2
2 8h3 2 h3
f (x) + f 0 (x) 2h + f 00 (x) 4h + f 000 (
2 1) 6 2 f (x) + f 0 (x) h + f 00 (x) h + f 000 (
2 2) 6 + f0
=
h2
4h h
= f 00 (x) + f 000 ( f 000 ( 2 ) :
1)
3 3
De manera análoga, para la tercera derivada tenemos
000 f 00 (x + h) f 00 (x h)
f (x) '
2h
f (x + 2h) 2f (x + h) + f (x) f (x) 2f (x h) + f (x 2h)
' h2 h2
2h
f (x + 2h) 2f (x + h) + 2f (x h) f (x 2h)
=
2h3
f2 2f1 + 2f 1 f 2
= ;
2h3
y para la cuarta
f 00 (x + h) 2f 00 (x) + f 00 (x h)
f (4) (x) ' '
h2
f2 2f1 + f0 2f1 + 4f0 2f 1 + f0 2f 1 +f 2
'
h4
f2 4f1 + 6f0 4f 1 + f 2
= :
h4
10
11. Se puede obtener un esquema distinto operando de la siguiente manera:
f 000 (x + h) f 000 (x h)
f (4) (x) '
2h
f3 2f2 + 2f0 f 1 f1 2f0 + 2f 2 f 3
'
4h4 4h4
f3 2f2 f1 + 4f0 f 1 2f 2 + f 3
= :
4h4
Podemos obtener también esquemas de aproximación usando el esquema hacia delante:
f 00 (x + h) f 00 (x)
f 000 (x) '
h
f (x + 3h) 2f (x + 2h) + f (x + h) f (x + 2h) 2f (x + h) + f (x)
' h2 h2
h
f3 3f2 + 3f1 f0
= ;
h3
f 00 (x + 2h) 2f 00 (x + h) + f 00 (x)
f (4) (x) '
h2
f4 2f3 + f2 2 (f3 2f2 + f1 ) + f2 2f1 + f0
'
h4
f4 4f3 + 6f2 4f1 + f0
= :
h4
Vamos a aplicar el método de Richardson para calcular una aproximación de la segunda
derivada de orden O (h6 )
Ejemplo. f (x) = ln (x), x = 2; h = 0:1
Calculemos f 00 (x) con una aproximación de orden O (h6 )
i=0 i=1 i=2
0:255 137 47
0:251 258 4 0:249 965 38
0:250 313 02 0:249 997 89 0:250 000 06
D0 (h) = ln(2:1) 20:01
ln(2)+ln(1:9)
= 0:250 313 02
ln(2:2) 2 ln(2)+ln(1:8)
D0 (2h) = 0:04
= 0:251 258 4
ln(2:4) 2 ln(2)+ln(1:6)
D0 (4h) = 0:01 16
= 0:255 137 47
4 ( 0:250 313 02)+0:251 258 4
D1 (h) = 3
= 0:249 997 89
4 ( 0:251 258 4)+0:255 137 47
D1 (2h) = 3
= 0:249 965 38
16 ( 0:249 997 89)+0:249 965 38
D2 (h) = 15
= 0:250 000 06
Error = 6 10 8
Para las derivadas de orden superior se puede realizar un análisis del error similar.
11
12. 3 Integración numérica
Ahora ocuparemos del siguiente problema: dada una función f integrable en un intervalo
…nito [a; b]; evaluar la integral de…nida
Z b
f (x)dx: (3)
a
Por supuesto, si conocemos una primitiva de f; es decir, una función diferenciable F tal
que F 0 (x) = f (x) para 8x 2 [a; b]; entonces, aplicando la regla de Barrow, obtenemos
Z b
f (x)dx = F (b) F (a):
a
Pero, incluso en este caso, si F tiene una expresión muy complicada puede ser más conve-
niente evaluar la integral (3) numéricamente que calcular la diferencia F (b) F (a): Por
supuesto, si no podemos encontrar ninguna primitiva de f o sólo conocemos f para ciertos
valores de x (cosa que ocurre cuando f viene dada por una tabla de valores), entonces
hay que recurrir necesariamente a la integración numérica.
El objetivo de la integración numérica es aproximar la integral de la función f (x) en
el intervalo [a; b] mediante los valores de f (x) en un número …nito de puntos de dicho
intervalo.
3.1 El polinomio interpolador de Lagrange
Dados los puntos (xi ; yi ), i = 0; :::; n, buscaremos un polinomio de grado n p (x) tal que
p (xi ) = yi ; 8i:
A este polinomio se le llama polinomio de interpolación y los puntos xi los centros del
polinomio. Por ejemplo, por dos puntos pasa una recta, por tres puntos pasa una parábola,
por cuatro puntos una función cúbica, etc.
Teorema. Si x0 ; x1 ; :::; xn son números reales distintos, entonces para valores y0 ; :::; yn
arbitrarios existe un único polinomio de grado n que pasa por estos puntos.
Si a = x0 < x1 < ::: < xn = b entonces al aproximar f (x) para a < x < b decimos que
el valor de f (x) está interpolado. Si calculamos p (x) en x < a o x > b, entonces decimos
que el valor de f (x) está extrapolado. El polinomio y su derivada se puede evaluar en
cualquier punto de forma e…ciente utilizando el algoritmo de Ru¢ ni.
Supondremos de ahora en adelante que los valores de xi son distintos y están ordenados
en orden creciente.
Vamos a de…nir los siguientes polinomios de grado n :
Y
i=n
(x xi )
(x x0 ) (x x1 ) (x xk 1 ) (x xk+1 ) (x xn ) i=0;i6=k
Lk (x) = = i=n :
(xk x0 ) (xk x1 ) (xk xk 1 ) (xk xk+1 ) (xk xn ) Y
(xk xi )
i=0;i6=k
12
13. Resulta fácil ver que
Lk (xk ) = 1;
Lk (xi ) = 0, 8i 6= k:
Por tanto, si de…nimos el polinomio
X
n
p (x) = yk Lk (x) ;
k=0
entonces tenemos que p (xk ) = yk , 8k, y además el grado de p no puede ser mayor que n.
Ejemplo. Dada la función f (x) = cos (x) y los puntos:
xk f (xk )
0 1p
2
4 2
2
0
construir el polinomio interpolador de Lagrange.
Tenemos:
x 4
x 2 8
L0 (x) = = 2
x x ;
4 2
4 2
x x 2 16
L1 (x) = = 2
x x ;
4 4
2
x x 4 8
L2 (x) = = 2
x x ;
2 4
4
p
8 28
p (x) = 2
x x : 2
x x
4 2 2
Desde el punto de vista numérico este método no es muy efectivo, ya que para evaluar
ahora el polinomio en cualquier punto necesitamos realizar muchas multiplicaciones. Lo
ideal es contar con un método similar al de Ru¢ ni para evaluar el polinomio.
Veamos ahora el análisis del error que cometemos en la aproximación de la función.
El término de error es muy similar al término que se emplea en la serie de Taylor.
Teorema. Sea f 2 C n+1 ([a; b]) ; x0 ; :::; xn 2 [a; b]. Entonces
f (n+1) (c (x))
En = f (x) p (x) = (x x0 ) (x x2 ) (x xn ) (4)
(n + 1)!
para cierto c (x) 2 [a; b] si x 2 [a; b]. Además, c (x) es una función continua.
En el ejemplo anterior jf 000 (x)j = jsen (x)j 1; por lo que
1
jE2 (x)j x jxj x ;
6 4 2
13
14. si x 2 [a; b] (es decir, interpolamos).
Si x = 6 tendríamos
1
E2 = 0:01794:
6 6 6 4 6 6 2
Efectivamente,
p
8 28
p = 2 2
= 0:850 76;
6 p 6 4 6 2 6 6 2
3
cos = = 0:866 03;
6 2
y
Error Absoluto = j0:866 03 0:850 76j = 0:015 27:
3.2 El polinomio interpolador de Newton
Como hemos dicho anteriormente, uno de los inconvenientes del método de Lagrange
reside en que no es muy e…ciente desde el punto de vista computacional. Otro problema
aparece porque no existe relación entre el polinomio pn 1 y pn , por lo que si añadimos un
punto hemos de empezar todo de nuevo.
Los polinomios de Newton se calculan de forma recursiva:
P0 (x) = a0
P1 (x) = a0 + a1 (x x0 )
P2 (x) = a0 + a1 (x x0 ) + a2 (x x0 ) (x x1 )
P3 (x) = a0 + a1 (x x0 ) + a2 (x x0 ) (x x1 ) + a3 (x x0 ) (x x1 ) (x x2 )
.
.
.
Pn (x) = a0 + a1 (x x0 ) + a2 (x x0 ) (x x1 ) + :::+
+ an (x x0 ) (x x1 ) (x xn 1 )
X Y
n i 1
= ai (x xj ) :
i=0 j=0
Tenemos que
pk (x) = pk 1 (x) + ak (x x0 ) (x x1 ) (x xk 1 ) :
En cada paso vamos calculando los valores de ai a partir de (xi ; yi ):
a0 = y 0
y1 a0
a1 =
x1 x0
y2 p1 (x2 )
a2 =
(x2 x0 ) (x2 x1 )
.
.
.
yi pi 1 (xi )
ai = :
(xi x0 ) (xi x1 ) (xi xi 1 )
14
15. Ejemplo. Dados los puntos
xk f (xk )
1 3:6
2 1:8
3 1:2
calcular el poliniomio interpolador de Newton.
Calculamos ai :
a0 = y0 = 3:6;
y1 a0 1:8 3:6
a1 = = = 1: 8;
x1 x0 2 1
p1 (2) = 3:6 1:8 (3 1) = 0;
y2 p1 (2) 1:2 0
a2 = = = 0:6:
(x2 x1 ) (x2 x0 ) (3 2) (3 1)
Así,
p2 (x) = 3:6 1:8 (x 1) + 0:6 (x 1) (x 2) :
3.3 Las fórmulas de Newton-Cotes
Notemos que la integral de…nida de una función continua se de…ne mediante el límite
Z b
f (x) dx = lim (f (x0 ) (x1 x0 ) + f (x1 ) (x2 x1 ) + ::: + f (xn 1 ) (xn xn 1 )) ;
a n!1
donde a = x0 < x1 < x2 < ::: < xn 1 < xn = b.
Por tanto, vamos a intentar aproximar el valor de la integral por una suma …nita del
siguiente tipo:
Z b
f (x) dx ' Q (f ) = f (x0 ) w0 + f (x1 ) w1 + ::: + f (xM ) wM ;
a
para ciertos pesos wi .
A este tipo de fórmulas se les llama fórmulas de cuadratura. Pondremos
Z b
f (x) dx = Q (f ) + Etrunc (f ) ;
a
donde Etrunc (f ) es el error de truncamiento. Los puntos xi se denominan nodos de
integración y los valores wi pesos de la fórmula.
15
16. De…nición. El grado de precisión de una fórmula de cuadratura es el número
natural n que veri…ca lo siguiente: E (Pi ) = 0 para todos los polinomios de grado i n,
y existe un polinomio de grado n + 1 tal que E (Pn+1 ) 6= 0:
Regla del trapecio
Esta es la fórmula más sencilla, y se deriva de la de…nición de integral y su inter-
pretación geométrica. Si elegimos nodos equiespaciaciados
xi = x0 + ih
b a
h=
n
y calculamos el área del trapecio formado al unir los puntos (x0 ; f (x0 )) y (x1 ; f (x1 )) con
una recta, tenemos que
Z x0 +h
f (x0 ) + f (x1 ) f0 + f1
f (x) dx ' h= h; (5)
x0 2 2
que se conoce como fórmula simple del trapecio. Si sumamos los valores de todos los
subintervalos obtenemos la fórmula compuesta del trapecio:
Z b !
X fi + fi+1
n 1
h
f (x) dx h = (f0 + 2f1 + 2f2 + ::: + 2fn 1 + fn ) :
a i=0
2 2
R1
Ejemplo. Calculemos 0 x2 dx; h = 0:2 :
Z 1
x2 dx ' 0:1 0 + 2 0:22 + 2 0:42 + 2 0:62 + 2 0:82 + 12 = 0:34
0
R1
Como 0
x2 dx = 0:333 333 333 3 tenemos que
Error = j0:333 333 333 3 0:34j = 0:006 666 666 7:
La fórmula (5) se puede obtener fácilmente del polinomio interpolador de Lagrange
con dos puntos por intervalo:
x x1 x x0
P1 (x) = f0 + f1 :
x0 x1 x1 x0
Integrando este polinomio tenemos
Z !
x1 2 2
f0 (x x1 ) f1 (x x0 ) f0 + f1
P1 (x) dx = + jx1 =
x0 h:
x0 2 x0 x1 2 x1 x0 2
El mismo cálculo se realiza para cada intervalo [xi ; xi+1 ].
16
17. Supondremos que f 2 C 2 ([a; b]). Para valorar el término del error utilizamos que
f 00 (c (x))
f (x) = P1 (x) + (x x0 ) (x x1 ) ;
2
por lo que, usando el segundo teorema del valor medio, ya que f 00 (c (x)) es una función
continua y (x x0 ) (x x1 ) no cambia de signo en [x0 ; x1 ], tenemos
Z x1 Z
f0 + f1 1 x1 00
f (x) dx = h+ f (c (x)) (x x0 ) (x x1 ) dx
x0 2 2 x0
Z
f0 + f1 f 00 (c) x1
= h+ (x x0 )2 h (x x0 ) dx
2 2 x0
f0 + f1 f 00 (c) h3 h3
= h+ ;
2 2 3 2
Z x1
f0 + f1 f 00 (c) 3
f (x) dx = h h:
x0 2 12
Este resultado es cierto en cada subintervalo [xi ; xi+1 ], por lo que
Z b P
h 1 3 n f 00 (ck )
k=1
f (x) dx = (f0 + 2f1 + 2f2 + ::: + 2fn 1 + fn ) n h
a 2 12 n
00
h f (c)
= (f0 + 2f1 + 2f2 + ::: + 2fn 1 + fn ) (b a) h2 :
2 12
El orden de aproximación es O (h2 ).
Ejemplo. En el ejemplo anterior, jf 00 (x)j = 2 :
2
jEtrunc (f )j = 0:22 = 0:006666666:
12
Si, por ejemplo, hubiéramos elegido elegido f (x) = x, entonces el error sería cero.
Esto es cierto para cualquier recta. Esto se deduce de la fórmula
f 00 (c)
Etrunc = (b a) h2 ;
12
ya que f 00 (c) = 0 si f (x) = m + nx:
Notemos por otro lado que, si los valores de fr se calculan con una precisión ", entonces
el error de redondeo en la regla del trapecio está acotada por
h h
jEred j (" + 2" + ::: + 2" + ") = (2 + 2n 2) " = hn" = (b a) ":
2 2
En este caso, al contrario que en la diferenciación numérica, el redondeo no afecta seri-
amente a los resultados, y podemos elegir h tan pequeño como queramos. Esto será cierto
en general para todos los métodos de integración numérica.
17
18. Regla de Simpson
Hemos visto en el método anterior que el poliniomio interpolador de Lagrange es útil
para obtener fórmulas de cuadratura. Elijamos ahora el polinomio P2 :
(x x1 ) (x x2 ) (x x0 ) (x x2 ) (x x0 ) (x x1 )
P2 (x) = f0 + f1 + f2 :
(x0 x1 ) (x0 x2 ) (x1 x0 ) (x1 x2 ) (x2 x0 ) (x2 x1 )
Tenemos
Z x2 Z x2
(x x1 ) (x x2 ) 1
dx = 2 (x x2 )2 + h (x x2 ) dx
x0 (x0 x1 ) (x0 x2 ) 2h x0
1 8h3 4h3 4h h
= 2 = = ;
2h 3 2 12 3
Z x2 Z x2
(x x0 ) (x x2 ) 1
dx = (x x2 )2 + 2h (x x2 ) dx
x0 (x1 x0 ) (x1 x2 ) h2 x0
1 8h3 4h
= 4h3 = ;
h2 3 3
Z x2 Z x2
(x x0 ) (x x1 ) 1
dx = 2 (x x0 )2 h (x x0 ) dx
x0 (x2 x0 ) (x2 x1 ) 2h x0
1 8h3 4h3 h
= 2 = :
2h 3 2 3
Por tanto, Z x2
f0 + 4f1 + f2
f (x) dx ' h:
x0 3
Se puede demostrar que
h5 f (4) ( )
E (f ) = :
90
Considerando la integral en todo el intervalo completo tenemos que
Z b
h
f (x) dx ' (f0 + 4f1 + 2f2 + 4f3 + 2f5 + ::: + 4fn 1 + fn ) :
a 3
Notemos que para poder aplicar esta fórmula el número de intervalos ha de ser par (n =
2N ).
El error de la última fórmula vendría dado por
n h5 f (4) ( ) (b a) h4 f (4) ( )
E (f ) = = :
2 90 180
x2
Ejemplo. f (x) = e ; [a; b] = [0; 1] ; h = 0:1:
18
19. La integral aproximada por Simposon es la siguiente:
Z 1
2
e x dx
0
0:1 0 2 2 2 0:42 0:52
' (e + 4e (0:1) + 2e (0:2) + 4e 0:3 + 2e + 4e +
3
0:62 2 2 2
2e + 4e 0:7 + 2e 0:8 + 4e 0:9 + e 1 )
= 0:746 82496:
Vamos a estimar el error de truncamiento. El valor de la cuarta y quinta derivadas
son las siguientes:
2
d4 e x 2 2 2
dx 4 = 12e x 48x2 e x + 16x4 e x
d5 2 2
dx5
e x = 8xe x (4x4 20x2 + 15)
Las raíces de la quinta derivada son:
4x4 20x2 + 15 = 0 ) x = 2: 020 18; x = 0:958 57:
Por tanto, los extremos absolutos de la cuarta derivada se encuentran en uno de los
siguientes puntos: 0; 1; 0:958 57 o 0:958 57. Como
2 2
d4 e x d4 e x
(0) = 12; (1) = 7: 357 588 82;
dx4 dx4
2
d4 e x
(0:958 57) = 7: 507 042 18;
dx4
tenemos que
2
d4 e x
M ax = 12:
dx4
Así
12
jEtrunc (f )j 0:14 = 6: 666 6 667 10 6 :
180
R1 x2
Dado que 0
e dx = 0:746 824 133, el error global es el siguiente:
Error = j0:746 824 133 0:746 82496j = 0:000 000 827 = 8:27 10 7 :
Por otro lado, la fórmula de cuadratura es exacta para todas las funciones cúbicas, es
decir, los polinomios de grado 3: Para ver esto sea p (x) un polinomio de grado 3, P2
es el polinomio de interpolación que pasa a través de los puntos (x0 ; p (x0 )), (x1 ; p (x1 )),
(x2 ; p (x2 )), xi = x0 + ih; y P3 el polinomio de interpolación que pasa a través de los
puntos (x0 ; p (x0 )), (x1 ; p (x1 )), (x2 ; p (x2 )), (x3 ; p (x3 )). Entonces p = P3 y gracias a lo
estudiado en el polinomio interpolador de Newton sabemos que
p (x) = P2 (x) + a3 (x x0 ) (x x1 ) (x x2 )
19
20. y Z Z Z
x2 x2 x2
p (x) dx = P2 (x) dx + (x x0 ) (x x1 ) (x x2 ) dx = S (p; h) :
x0 x0 x0
| {z }
k
0
Es evidente desde el principio que la fórmula de Simpson es exacta para las parábo-
las, pero vemos que se obtiene un grado más de precisión gracias a que la integral
R x2
x0
(x x0 ) (x x1 ) (x x2 ) dx es igual a 0.
Finalmente, podemos estimar el error de redondeo del método de Simpson de la sigu-
iente manera:
h h n n
jEred j (" + 4" + 2" + ::: + 2" + 4" + ") = 4" + 2" = hn" = (b a) ":
3 3 2 2
Por tanto, al igual que en el método del trapecio, el error de redondeo no depende de h.
3.4 Método de Romberg
Vamos a ver que el método de Richardson que vimos en la derivación numérica es también
aplicable en la integración.
Supongamos que f 2 C 1 [a; b], es decir, que f posee derivadas continuas de cualquier
orden en el intervalo [a; b]: Entonces puede probarse usando la serie de Taylor que
Z b
f (x)dx = T (f; h) + a1 h2 + a2 h4 + ::: + O h2n ;
a
donde n 2y
h
T (f; h) :=
(f0 + 2f1 + 2f2 + ::: + 2fn 1 + fn )
2
es la fórmula de cuadratura trapezoidal con n nodos separados una distancia h = (b a)=n
y a1 ; a2 ; ::: 2 R: Por tanto, el error de truncamiento de la fórmula trapezoidal es de
O(h2 ) y puede expresarse como una serie de potencias pares de h. Esto permite utilizar
el procedimiento de Richardson para mejorar el grado de precisión de las fórmulas de
cuadratura.
n=2
Apliquemos la anterior fórmula trapezoidal con nodos fx2k gk=0 :
Z b
f (x)dx = T (f; 2h) + 4a1 h2 + 16a2 h4 + :: + O h2n :
a
Restando esta igualdad de
Z b
4 f (x)dx = 4T (f; h) + 4a1 h2 + 4a2 h4 + ::: + O h2n
a
obtenemos
Z b
4T (f; h) T (f; 2h)
f (x)dx = + b1 h4 + b2 h6 + ::: + O h2n ;
a 3
20
21. donde b1 := 12a2 ; b2 := 60a3 ; ::: Ahora bien,
4T (f; h) T (f; 2h) 4 h (f0 + 2f1 + ::: + 2fn
2 1 + fn ) h (f0 + 2f2 + :::2fn 2 + fn )
=
3 3
h
= (f0 + 4f1 + 2f2 + 4f3 + ::: + 2f2n 2 + 4f2n 1 + f2n )
3
=: S(f; h)
es la fórmula de cuadratura de Simpson con nodos fxk gn : Por tanto,
k=0
Z b
f (x)dx = S(f; h) + b1 h4 + b2 h6 + ::: + O h2n ;
a
lo cual prueba no sólo que la regla de Simpson es de O(h4 ) sino que, además, su error de
truncamiento puede expresarse como una serie de potencias pares de h.
Prosiguiendo de este modo obtendríamos ahora
Z b
16S(f; h) S(f; 2h) 48b2 6 240b3 8
f (x)dx = h h + :::
a 15 15 15
= B(f; h) + c1 h6 + c2 h8 + ::: + O h2n ;
donde B(f; h) es la regla de Boole, etc. El esquema resultante se llama integración
Romberg.
La fórmula simple de Boole quedaría de la siguiente manera:
16 h (f0 + 4f1 + 2f2 + 4f3 + f4 )
3
2h
3
(f0 + 4f2 + f4 ) 2h
B (f; h) = = (7 + 32f1 + 12f2 + 32f3 + 7f4 ) :
15 45
En el caso general tendríamos que para la cuadratura Rk en el paso k:
Z b
f (x)dx = Rk 1 (h) + a1 h2k + a2 h2k+2 + ::: + O h2n ;
a
Z b
f (x)dx = Rk 1 (2h) + a1 4k h2k + a2 4k+1 h2k+2 + :::: + O h2n ;
a
Z b
k
4 1 f (x)dx = 4k Rk 1 (h) Rk 1 (2h) + b1 h2k+2 + b2 h2k+4 + ::: + O h2n ;
a
(h) Rk 1 (2h) 4k Rk 1
Rk (h) = :
4k 1
Esta regla es la fórmula de cuadratura de Romberg. Los cálculos se pueden resumir en la
siguiente tabla:
R0 (x; 8h)
R0 (x; 4h) R1 (x; 4h)
R0 (x; 2h) R1 (x; 2h) R2 (x; 2h)
R0 (x; h) R1 (x; h) R2 (x; h) R3 (x; h)
21
22. Como el paso utilizado ha de dividir la longitud del intervalo b a, es conveniente
elegir primero 8h y después ir dividiendo.
2
Ejemplo. f (x) = e x ; h = 0:05:
Obtenemos la siguiente tabla:
Trapecio Simpson Boole
0:744 368 34
0:746 210 8 0:746 824 96
0:746 670 84 0:746 824 19 0:746 824 14
Trapecio
R 1 x2
e dx = 0:744 368 34 (h = 0:2)
R01 x2
e dx = 0:746 210 8 (h = 0:1)
R01 x2
0
e dx = 0:746 670 84 (h = 0:05)
Simpson
R1 (0:05) = 4 0:746 670 84 0:746 210 8 = 0:746 824 19
3
R1 (0:1) = 4 0:746 210 83 0:744 368 34 = 0:746 824 96
Boole
16 0:746 824 19 0:746 824 96
R2 (0:05) = 15
= 0:746 824 14
Podemos comparar este resultado con el obtenido con la fórmula de Simpson con 1000
intervalos: Z 1
x2
e dx = 0:746 824 132 8:
0
Notemos que la fórmula de Boole es exacta para todos los polinomios de grado 5.
4 Apéndice:Error de truncamiento del esquema
en diferencias centrales de orden O(h4)
Veamos el esquema de aproximación de la primera derivada:
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
f 0 (x) ' :
12h
Teorema. Si f 2 C 5 ([a; b]), entonces el error de truncamiento es de orden O (h4 ).
Demostración. Tenemos que
1 1 00 2
f (x + h) f (x h) = 2f 0 (x) h + f 00 (x) h2 f (x) h2 + f 000 (x) h3
2 2 3!
1 (4) 1 (4) 1 (5) 1
+ f (x) h4 f (x) h4 + f ( 1 ) h5 + f (5) ( 2 ) h5
4! 4! 5! 5!
1 000 1 (5) 1 (5)
= 2f 0 (x) h + f (x) h3 + f ( 1 ) h5 f ( 2 ) h5 :
3 5! 5!
22
23. Es necesario eliminar el término que contiene la tercera derivada. Vemos que
16 000 32 32
f (x + 2h) f (x 2h) = 4f 0 (x) h + f (x) h3 + f (5) ( 3 ) h5 + f (5) ( 4 ) h5 :
3! 5! 5!
Así,
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
8 8 8
= 16f 0 (x) h + f 000 (x) h3 + f (5) ( 1 ) h5 + f (5) ( 2 ) h5
3 5! 5!
8 000 32 (5) 32
4f 0 (x) h + f (x) h3 + f ( 3 ) h5 + f (5) ( 4 ) h5
3 5! 5!
8 8 32 (5) 32 (5)
= 12f 0 (x) + f (5) ( 1 ) h5 + f (5) ( 2 ) h5 f ( 3 ) h5 f ( 4 ) h5
5! 5! 5! 5!
= 12f 0 (x) h + O h5 :
De aquí, si elegimos M tal que f (5) (x) M , 8x 2 [x 2h; x + 2h], obtenemos
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
f 0 (x) = + Etrunc (x; h) ;
12h
M 4
jEtrunc (x; h)j h;
18
f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
f 0 (x) = + O h4 :
12h
5 Ejercicios
1. Demostrar que
4f1 3f0 f2 f (3) ( 1) 2 2f (3) ( 2) 2
f 0 (x) = h + h:
2h 3 3
Obtener la fórmula del error que tiene en cuenta el redondeo. Dado que f (3) (x)
M , x 2 [x; x + 2h], hallar el valor de h óptimo. Aplicar estos resultados a la función
f (x) = cos (x) con un error máximo de redondeo de 5 10 9 . Hallar en ese caso el
valor de h y una cota del error global.
1
2"
(Sol: h = M
3
; h = 0:0021544; jE (x; h)j 1: 392 5 10 5 )
f2 2f1 +2f f
2. Mostrar que la aproximación f 000 (x) ' 2h3
1 2
es de orden O (h2 ) :
3. Obtener, a partir del esquema del ejercicio anterior un esquema de orden O (h4 )
usando el método de Richardson.
4. Dado el esquema en diferencias hacia delante de tres puntos
f2 2f1 + f0
f 00 (x) ' ;
h2
23
24. que tiene orden O (h) ; y sea f (x) = ln (x), calcular una aproximación de orden
O (h3 ) de la segunda derivada de ln (x) en x = 2, con h = 0:05; usando el método
de Richardson.
(Sol: f 00 (2) ' 0:24986)
5. Aplicar la regla del trapecio y la regla de Simpson para aproximar
Z 1 Z 1
p 1
xdx; sen dx;
0 0:4 x
con h = 0:1. Calcular el error absoluto y comparar los resultados en el primer caso.
Dar estimaciones del error de truncamiento en el segundo caso.
(Sol: 1) Trapecio: 0:66050934; Error = 0:00616; Simpson: 0:6640996; Error =
0:002567; 2) Trapecio: 0:54598, jE (f )j 0:03516; Simpson: 0:55033; jE (f )j
0:0066661)
6. Aplicar la regla de Boole (mediante el método de Romberg) para calcular
Z 1 Z 1
p 1
xdx; sen dx
0 0:4 x
con h = 0:05.
(Sol: 1) 0:6658696; 2) 0:5505508)
7. Usando el método de Romberg obtener la fórmula de Boole
Z x4
2h
f (x) dx B (h) = (7f0 + 32f1 + 12f2 + 32f3 + 7f4 ) :
x0 45
8. Utilizar integración de Romberg para aproximar
Z 1:8
y(x)dx
1
utilizando la siguiente tabla de valores:
x 1:0 1:2 1:4 1:6 1:8
y(x) 1:0000 0:8333 0:7143 0:6250 0:5556
¿Qué orden del error se ha obtenido?
(Sol: B (0:2) = 0:587794)
24