• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Derivacion e integracion numéricas
 

Derivacion e integracion numéricas

on

  • 4,370 views

Los métodos numéricos sirven para obtener una solución aproximada de un problema matemático mediante la implementación de un algoritmo. ...

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.

Statistics

Views

Total Views
4,370
Views on SlideShare
4,199
Embed Views
171

Actions

Likes
0
Downloads
83
Comments
0

2 Embeds 171

http://jauelingeniero.wordpress.com 129
http://engineerjau.wordpress.com 42

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Derivacion e integracion numéricas Derivacion e integracion numéricas Document Transcript

    • Programa de Doctorado: Tecnologías Industriales y de Comunicación Matemática Numérica Tema 1: Derivación e integración numéricas1 IntroducciónLos métodos numéricos sirven para obtener una solución aproximada de un problemamatemático mediante la implementación de un algoritmo. Por tanto, la solución que obtenemos posee un margen de error que es convenientecontrolar. 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óncientí…ca. Como el número de bits que podemos utilizar es …nito, esta representaciónimplica 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 llamaremosError de Redondeo. Notemos pues que a la hora de diseñar un algoritmo numérico es importante tener encuenta 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 depasos decimos que el algoritmo es directo. En este caso la única fuente de error es el deredondeo. 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 cadavez mejores a medida que los parámeteros tienden a in…nito. Si las sucesivas solucionesse 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 deTruncamiento. Es importante resaltar que en los métodos iterativos no es sólo importante estudiarla convergencia del método, sino también la velocidad a la que converge, ya que a mayorvelocidad, 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
    • El error absoluto jx x j lo estimaremos mediante la desigualdad jx xj jERed j + jET runc j :2 Derivación numéricaEl 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 deresolució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 2hel método más sencillo para estimar numéricamente derivadas parece evidente: tómeseh lo su…cientemente pequeño para que la diferencia entre el cociente incremental y sulímite cuando h ! 0 sea menor que la precisión deseada. Este método de derivaciónnumérica se llama aproximación por diferencias …nitas. Más especí…camente, tenemos laaproximación por diferencias hacia adelante f (x + h) f (x) f1 f0 f 0 (x) = ; h hla aproximación por diferencias hacia atrás f (x) f (x h) f0 f 1 f 0 (x) = : h hy, …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 escasualidad. 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 aquellasque aproximan el valor de f (n) (x); k n + 1; mediante los valores de f en k puntos 2
    • distintos. Nosotros nos restringiremos siempre al caso en el que todos estos puntos distande 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 paraque que la aproximación de la derivada sea buena? Veamos un ejemplo que ilustra quela solución de este problema no es simple debido a los errores de redondeo que tiene elordenador. Consideremos la función f (x) = ex . La derivada de ex en el punto x = 1 es e e1+hk e2:718281828. Veamos varias aproximaciones del tipo Dk = para distintos valores hkde 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 resideen que para valores de h muy pequeños los valores e1+h y e son casi idénticos, y seproduce una pérdida importante de cifras signi…caticas debido al redondeo, mientras queel denominador no sufre ningún redondeo. Llega un momento (h = 10 15 ) en el cual elnumerador 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 obtenerla 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 elcálculo. Una vez visto este importante aspecto, pasaremos a examinar más detenidamente elerror 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 derivadaque hemos visto: (Fórmulas de dos puntos para f 0 (x)) 3
    • 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 2luego f (x + h) f (x) f (2) ( ) 0 f (x) = h: h 2El 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 valormedio 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 lasdiferencias centrales tienen orden O (h2 ). Como hemos visto, no es aconsejable en los cálculos por ordenador usar valores de hmuy pequeños, por lo que conviene elegir un esquema con un valor alto de . 4
    • 2.1 El método de extrapolación de RichardsonVamos a ver un método que nos permitirá obtener esquemas de mejor orden. Supondremosque la función f posees derivadas continuas de cualquier orden. Usando la serie de Taylorobtenemos 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 : 4hEntonces 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) = ; 4hde 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 2f 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 ; 24hpor 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 1es de orden h2k+2 . 5
    • Podemos pues calcular las aproximaciones de forma recursiva hasta obtener la precisióndeseada. Estos cálculos se pueden ordenar en una matriz triangular. Por ejemplo, si k = 3tenemos 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 haciaatrá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 : 2hPor 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
    • 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 3es 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 1es un esquema de orden O hk+1 : Ejemplo. Obtener una aproximación de orden h3 de la derivada de ex en x = 1 conh = 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
    • 2.2 Análisis del errorHemos visto al principio que el error de redondeo juega un papel importante en laderivación numérica. Hagamos un análsis del error en el que tenemos en cuenta tantoel 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) ; 2hel 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 6Por tanto, si je1 j ; je 1 j " y jf 000 j M tenemos que " M 2 jE (x; h)j + h: h 6Notemos 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 queminimiza la parte derecha: " M 2 + h = 0; h 3 1 3" 3 h= : MEste 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: 1El 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
    • 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 18De aquí para jek j ", tenemos 18" M 4 3" M 4 jE (x; h)j + h = + h: 12h 18 2h 18El 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 1y 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 errorde redondeo marca un límite que no podemos mejorar.2.3 Derivadas de orden superiorLas derivadas aproximadas de orden superior se pueden obtener de manera recursiva. Porejemplo, 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 h2que 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
    • 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 = : 12h2El procedimiento de Richardson se utiliza aquí exactamente igual que para la primeraderivada. Si utilizáramos el esquema hacia delante, es decir, f1 f0 f 0 (x) ; hentonces tendríamos f 2 f1 f1 f0 f 0 (x + h) f 0 (x) f2 2f1 + f0 f 00 (x) h h = : h h h2El 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 = ; 2h3y 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
    • 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 segundaderivada 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
    • 3 Integración numéricaAhora 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) aPor supuesto, si conocemos una primitiva de f; es decir, una función diferenciable F talque 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): aPero, 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): Porsupuesto, si no podemos encontrar ninguna primitiva de f o sólo conocemos f para ciertosvalores de x (cosa que ocurre cuando f viene dada por una tabla de valores), entonceshay 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) enel intervalo [a; b] mediante los valores de f (x) en un número …nito de puntos de dichointervalo.3.1 El polinomio interpolador de LagrangeDados 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 delpolinomio. 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 ; :::; ynarbitrarios 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 queel valor de f (x) está interpolado. Si calculamos p (x) en x < a o x > b, entonces decimosque el valor de f (x) está extrapolado. El polinomio y su derivada se puede evaluar encualquier 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 ordenadosen 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=kLk (x) = = i=n : (xk x0 ) (xk x1 ) (xk xk 1 ) (xk xk+1 ) (xk xn ) Y (xk xi ) i=0;i6=k 12
    • 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=0entonces 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 0construir 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 evaluarahora el polinomio en cualquier punto necesitamos realizar muchas multiplicaciones. Loideal 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
    • 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 2y Error Absoluto = j0:866 03 0:850 76j = 0:015 27:3.2 El polinomio interpolador de NewtonComo hemos dicho anteriormente, uno de los inconvenientes del método de Lagrangereside en que no es muy e…ciente desde el punto de vista computacional. Otro problemaaparece porque no existe relación entre el polinomio pn 1 y pn , por lo que si añadimos unpunto 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=0Tenemos 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
    • Ejemplo. Dados los puntos xk f (xk ) 1 3:6 2 1:8 3 1:2calcular 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-CotesNotemos 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!1donde a = x0 < x1 < x2 < ::: < xn 1 < xn = b. Por tanto, vamos a intentar aproximar el valor de la integral por una suma …nita delsiguiente tipo: Z b f (x) dx Q (f ) = f (x0 ) w0 + f (x1 ) w1 + ::: + f (xM ) wM ; apara 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 ) ; adonde Etrunc (f ) es el error de truncamiento. Los puntos xi se denominan nodos deintegración y los valores wi pesos de la fórmula. 15
    • De…nición. El grado de precisión de una fórmula de cuadratura es el númeronatural 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= ny calculamos el área del trapecio formado al unir los puntos (x0 ; f (x0 )) y (x1 ; f (x1 )) conuna recta, tenemos que Z x0 +h f (x0 ) + f (x1 ) f0 + f1 f (x) dx h= h; (5) x0 2 2que se conoce como fórmula simple del trapecio. Si sumamos los valores de todos lossubintervalos 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 Lagrangecon dos puntos por intervalo: x x1 x x0 P1 (x) = f0 + f1 : x0 x1 x1 x0Integrando 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 2El mismo cálculo se realiza para cada intervalo [xi ; xi+1 ]. 16
    • 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 ) ; 2por lo que, usando el segundo teorema del valor medio, ya que f 00 (c (x)) es una funcióncontinua 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 ; 12ya 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 ", entoncesel error de redondeo en la regla del trapecio está acotada por h h jEred j (" + 2" + ::: + 2" + ") = (2 + 2n 2) " = hn" = (b a) ": 2 2En 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á ciertoen general para todos los métodos de integración numérica. 17
    • Regla de Simpson Hemos visto en el método anterior que el poliniomio interpolador de Lagrange es útilpara 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 3Por tanto, Z x2 f0 + 4f1 + f2 f (x) dx h: x0 3Se 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 3Notemos 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
    • 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 derivadasson 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 lossiguientes 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; dx4tenemos que 2 d4 e x M ax = 12: dx4Así 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, esdecir, los polinomios de grado 3: Para ver esto sea p (x) un polinomio de grado 3, P2es 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 lospuntos (x0 ; p (x0 )), (x1 ; p (x1 )), (x2 ; p (x2 )), (x3 ; p (x3 )). Entonces p = P3 y gracias a loestudiado en el polinomio interpolador de Newton sabemos que p (x) = P2 (x) + a3 (x x0 ) (x x1 ) (x x2 ) 19
    • 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 0Es 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 integralR 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 2Por tanto, al igual que en el método del trapecio, el error de redondeo no depende de h.3.4 Método de RombergVamos a ver que el método de Richardson que vimos en la derivación numérica es tambiénaplicable en la integración. Supongamos que f 2 C 1 [a; b], es decir, que f posee derivadas continuas de cualquierorden 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 ; adonde n 2y h T (f; h) := (f0 + 2f1 + 2f2 + ::: + 2fn 1 + fn ) 2es la fórmula de cuadratura trapezoidal con n nodos separados una distancia h = (b a)=ny a1 ; a2 ; ::: 2 R: Por tanto, el error de truncamiento de la fórmula trapezoidal es deO(h2 ) y puede expresarse como una serie de potencias pares de h. Esto permite utilizarel procedimiento de Richardson para mejorar el grado de precisión de las fórmulas decuadratura. 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 : aRestando esta igualdad de Z b 4 f (x)dx = 4T (f; h) + 4a1 h2 + 4a2 h4 + ::: + O h2n aobtenemos Z b 4T (f; h) T (f; 2h) f (x)dx = + b1 h4 + b2 h6 + ::: + O h2n ; a 3 20
    • 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 ; alo cual prueba no sólo que la regla de Simpson es de O(h4 ) sino que, además, su error detruncamiento 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ónRomberg. 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 ) 2hB (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 1Esta regla es la fórmula de cuadratura de Romberg. Los cálculos se pueden resumir en lasiguiente 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
    • Como el paso utilizado ha de dividir la longitud del intervalo b a, es convenienteelegir 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 1000intervalos: 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
    • 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 : 12h5 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
    • 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 458. 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