Vous êtes sur la page 1sur 120

Derivacin Numrica

CAPITULO 9 DERIVACION NUMERICA 1. Introduccin 2. Derivacin numrica 3. Mtodos de diferencias finitas 3.1. Formulas de diferencias finitas hacia adelante 3.1.1. Primera diferencia 3.1.2. Segunda diferencia Ejemplo 1 3.2. Formulas de diferencias finitas hacia atrs 3.2.1. Primera diferencia 3.2.2. Segunda diferencia Ejemplo 2 3.3. Formulas de diferencias centrales 3.3.1. Primera diferencia 3.3.2. Segunda diferencia Ejemplo 3 4. Inestabilidad numrica de las formulas de diferencias finitas 4.1. Diferencias centrales Derivacin numrica por diferencia centrada de orden Frmulas de las diferencias centradas de los tres puntos Derivacin numrica por diferencia centrada de orden Frmula de los tres puntos Frmula de los cinco puntos Ejercicios resueltos Ejercicios de fijacin

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

CAPTULO 9 DERIVACIN NUMRICA


Introduccin

La derivada es de uso comn en la matemtica y la ingeniera, sin embargo, en la prctica, de muchas funciones con las que se trabaja, no se conoce su expresin analtica y solamente se dispone de valores en un conjunto de puntos. En algunos casos es necesario proceder a calcular el valor de alguna derivada de algunas funciones en un punto concreto. En este tipo de situaciones no se puede utilizar el concepto riguroso de derivada por desconocimiento de la expresin de la funcin. De esta manera surge la necesidad de disear mtodos numricos que permitan aproximar el valor de las derivadas de una funcin en algn punto a partir del conocimiento de los valores de la funcin en un soporte dado. Los mtodos de derivacin numrica desarrollados con el fin de aproximar algn valor buscado, muestran un buen comportamiento en numerosos casos. Es por ello que algunas veces, aun disponiendo de la expresin analtica de las funciones a derivar, se opta por aproximar los valores de las derivadas mediante frmulas numricas suficientemente precisas. La diferenciacin numrica es muy til en casos en los cuales se tiene una funcin cuya derivada es difcil o complicada de hallar, o en casos en los cuales no se tiene una funcin explcita sino una serie de datos experimentales. El problema de la derivacin numrica consiste en la evaluacin de la derivada de la funcin en un punto, cuando nicamente conocemos los valores de la funcin en una coleccin de puntos x0, x1,... xn. Aunque, en apariencia se trata de un problema similar al de la Integracin numrica; de hecho la derivacin es ms complicada ya que, en la integracin los errores tienden a cancelarse, y, como vimos, no necesitamos que la aproximacin describa con fidelidad la funcin localmente. Sin embargo, la derivada es una propiedad esencialmente local, por lo cul deberemos aproximar la funcin lo ms fielmente posible en el entorno inmediato del punto en el que la queramos calcular.

Las frmulas de derivacin numrica aparecen en el desarrollo de algoritmos para la solucin de problemas de contorno en ecuaciones diferenciales ordinarias (y en ecuaciones en derivadas parciales). En general, podemos obtener aproximaciones numricas de la derivada en un punto derivando alguna funcin interpolante, por

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

ejemplo un polinomio de Lagrange, algn trazador cbico, etc. Sin embargo, en la prctica pequeos errores en los datos pueden producir malos resultados en las derivadas. Aqu vamos a experimentar con frmulas que se obtienen derivando el polinomio interpolante de Lagrange.

Derivacin numrica

Secante

Por definicin la derivada de una funcin f(x) es:

Las posibles aproximaciones numricas de la derivada en un punto que podran calcularse tomando una sucesin , Tal que , se tienen las siguientes expresiones.

La aproximacin de la derivada por este mtodo entrega resultados aceptables con un determinado error. Para minimizar los errores se estima que el promedio de ambas entrega la mejor aproximacin numrica al problema dado. Mtodo de Diferencias Finitas

Clculo Numrico Lic. R. Riveros

Derivacin Numrica El mtodo de diferencias finitas consiste en aproximar la funcin por polinomios. Las frmulas resultantes pueden clasificarse de las siguientes maneras: a) En base al orden de la derivada, obtenindose

b) En base al orden de la diferencia, pueden ser primera, segunda,


tercera, etc. c) En base a los puntos de apoyo de la formula en la tabla, es decir, si se emplean puntos antes, despus o ambos lados de algn punto de inters. Existen tres tipos y son: 1) Diferencias hacia adelante, cuando se usan puntos anteriores del punto de inters. 2) Diferencias hacia atrs, cuando se emplean puntos posteriores al punto de inters. 3) Diferencias centrales. Cuando se usan puntos tanto antes como despus del punto de inters. Referencias para las frmulas de diferencias finitas: : : Indica el punto de inters, de estudio o de anlisis. Espaciamiento constante de la tabla. : Funcin evaluada en el punto de anlisis.

Frmulas de diferencias finitas hacia adelante Primera diferencia

Segunda diferencia

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

Ejemplo 9.1. Sea la funcin , calcular las derivadas por mtodos numricos en el punto , en base a la siguiente tabla, con , aplicando la formula de la primera diferencia finita hacia adelante. 4.7 1.5475 6 Solucin: Para 4.8 1.5686 2 4.9 1.5892 2 5.0 1.6094 4 5.1 1.6292 4 5.2 1.6486 6 5.3 1.667 7

. El valor verdadero de

Segunda derivada

Ejemplo 9.2. Sea la funcin , calcular las derivadas por mtodos numricos en el punto , en base a la siguiente tabla, con , aplicando la formula de la segunda diferencia finita hacia adelante. 4.7 1.5475 6 4.8 1.5686 2 4.9 1.5892 2 5.0 1.6094 4 5.1 1.6292 4 5.2 1.6486 6 5.3 1.667 7

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

Solucin: Para

. El valor verdadero de

Primera derivada

Segunda derivada

Comentarios: La aproximacin lograda presenta errores muy elevados, pues 1% para la primera derivada y 5% para la segunda derivada, en la primera diferencia hacia adelante es prcticamente intolerable en un clculo de este tipo. En la segunda diferencia de este mismo mtodo (diferencias finitas hacia adelante) presenta igualmente un error elevado del 0.01% para la primera derivada, que parecera un resultado bastante aceptable, sin embargo esto es debido a la inestabilidad del mtodo, y para la segunda derivada el error es del 5%, valor igual obtenido con la aplicacin de la primera diferencia.

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

Los resultados obtenidos por este mtodo son engaosos, por la inestabilidad que presentan debido a la simplicidad de su forma y a los parmetros reducidos considerados para el clculo. Si el resultado procurado necesita de cierta exactitud respecto del valor real, este mtodo no es recomendable, ya que casi aleatoriamente puede presentar buena precisin en algunos casos, mientras que en otros producir errores muy grandes.

Frmulas de diferencias finitas hacia atrs Primera diferencia

Segunda diferencia

Ejemplo 9.3. Sea la funcin , calcular las derivadas por mtodos numricos en el punto , en base a la siguiente tabla, con , aplicando la formula de la primera diferencia finita hacia atrs. 4.7 1.5475 6 Solucin: Para 4.8 1.5686 2 4.9 1.5892 2 5.0 1.6094 4 5.1 1.6292 4 5.2 1.6486 6 5.3 1.667 7

. El valor verdadero de Clculo Numrico Lic. R. Riveros

Derivacin Numrica

Diferencias finitas hacia atrs (primera diferencia) Primera derivada

Segunda derivada

Ejemplo 9.4. Sea la funcin , calcular las derivadas por mtodos numricos en el punto , en base a la siguiente tabla, con , aplicando la formula de la segunda diferencia finita hacia atrs. 4.7 1.5475 6 Solucin: Para 4.8 1.5686 2 4.9 1.5892 2 5.0 1.6094 4 5.1 1.6292 4 5.2 1.6486 6 5.3 1.667 7

. El valor verdadero de

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

Comentarios: La aproximacin presentada por este mtodo de diferencias hacia atrs presenta resultados muy parecidos al mtodo de diferencias hacia adelante; sin embargo para la segunda derivada se nota que el error producido es del 25%, totalmente intolerable en un clculo donde normalmente se pretende precisin y exactitud. Los resultados obtenidos por este mtodo son igualmente engaosos, debido tambin a la inestabilidad del mtodo.

Frmulas de diferencias finitas centrales Primera diferencia

Segunda diferencia

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

10

Ejemplo 9. 5. Sea la funcin , calcular las derivadas por mtodos numricos en el punto , en base a la siguiente tabla, con , aplicando la formula de la primera diferencia finita central. 4.7 1.5475 6 Solucin: Para 4.8 1.5686 2 4.9 1.5892 2 5.0 1.6094 4 5.1 1.6292 4 5.2 1.6486 6 5.3 1.667 7

. El valor verdadero de

Primera derivada

Segunda derivada

Ejemplo 9. 6. Sea la funcin , calcular las derivadas por mtodos numricos en el punto , en base a la siguiente tabla, con , aplicando la formula de la segunda diferencia finita central. Primera derivada

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

11

Segunda derivada

b) Se buscar de nuevo la derivada segunda, pero con un valor de h menor que el anterior, reduciendo dicha amplitud o peso de h a la mitad, o sea: de

4.85 1.5789 79

4.90 1.5892 35

4.95 1.5993 88

5.00 1.6094 4

5.05 1.6193 88

5.10 1.6292 4

5.15 1.6389 97

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

12

Comentarios La primera diferencia de estas diferencias finitas centrales presenta resultados parecidos a los anteriores, sin embargo, la segunda derivada de la segunda diferencia de diferencias centrales presenta un error mucho mayor que el 100% (118,25%), razn por la cual ni siquiera necesita ser estudiado, no es que la frmula empleada sea errnea, sino que la inestabilidad que produce este grupo de formulas no presenta garantas de buen resultados en el clculo de diferencias, agregndose a esto la amplitud de h, que en este caso particular parece ser muy elevado, que en vez de converger hacia el resultado exacto, diverge; sin embargo, al reducir el valor de h a la mitad, el resultado obrtenido se hacerca bastante al valor verdadero, pues el error porcentual producido es solamente del 6,25%, pero aun as, sigue siendo un error muy grande. Por lo tanto, a modo de conclusin general respecto a estas formulas de diferencias finitas, cuando se desea precisin, estas formulas de diferencias finitas no son las recomendadas y se tomaran simplemente a modo didctico.

Inestabilidad numrica de las frmulas de diferencias finitas Las formulas presentadas anteriormente como tablas, son inestables por naturaleza, debido a la operacin de dividir entre nmeros cercanos a 0. El problema aumenta para las frmulas de mayor orden de derivacin, debido a la divisin entre potencias de h cada vez mayores. Estas frmulas no son recomendadas en los procesos en que se desean resultados relativamente precisos, pues como se dijo, presentan inestabilidad inherente en la formula, por lo tanto, su uso no es recomendado, sin embargo, para fines didcticos son totalmente aceptables la presentacin de esta tabla. La precisin de la frmula aumenta cuando mayor sea el orden de la diferencia, por otro lado, cuanto mayor sea el orden de la derivada la formula se vuelve menos confiable. Por ltimo es bueno indicar que las formulas centrales presentan mayor confiabilidad que cualquiera de las otras dos. La deduccin de las frmulas puede hacerse empleando las frmulas de interpolacin, o directamente la serie de Taylor.

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

13

DIFERENCIAS CENTRALES
Este mtodo de aproximacin numrica presenta la caracterstica de que los valores de y se sitan a ambos lados de tanto a la derecha como a la izquierda de . Derivacin numrica por diferencia centrada de orden Teorema 9.1. Suponiendo que , entonces

Adems existen

, tal que

Este Teorema se presenta sin demostracin:1

Derivacin numrica por diferencia centrada de orden Teorema 9.2. Suponiendo que , entonces:

Adems existe

, tal que

Este Teorema se presenta sin demostracin:2 Ejemplo 9.7. Si , calcular la aproximacin de diferencias centradas de orden con
1

, usando las frmulas de las

La demostracin de este teorema se encuentra en: Velzquez Zapateiro, Jorge. (2007). Anlisis Numrico (pg. 162). Notas de clase. Edicin Uninorte. Barranquilla. Colombia 2 La demostracin de este teorema se encuentra en: Velzquez Zapateiro, Jorge. (2007). Anlisis Numrico. Notas de clase. Edicin Uninorte. Barranquilla. Colombia

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

14

Solucin a) Con La formula de diferencias centradas de orden

El valor exacto de

, para

Ejemplo 9.8. Si , calcular la aproximacin de diferencias centradas de orden con Solucin

, usando las frmulas de las

El valor exacto de

, para

Comentarios A primera vista parecera ser que estas formulas de diferencias centrales se acercan bastante al valor verdadero de la derivada de la funcin buscada, ya que con las diferencias centradas de orden el error producido en el ejemplo es de apenas 0.166%, error bastante pequeo; sin embargo en error producido con la formulas de diferencias centradas de orden es aun menor, tan solo de 0.0096%.

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

15

De nuevo vale repetir que estas formulas de diferencias centradas parecen bastantes precisas. La formula de diferencias centradas de orden es una de las recomendadas para hallar la primera derivada de .

Frmulas de las diferencias centradas de los tres puntos

Las ecuaciones (9.1) y (9.2) son las llamadas frmulas de los tres puntos de derivacin numrica, aun cuando la formula (9.1) solamente utiliza dos puntos y no aparece en ella el punto central . El error presentado en la ecuacin (9.1) es aproximadamente la mitad que en la ecuacin (9.2), esta situacin se debe a que en la ecuacin (9.1) se usan datos que estn a ambos lados de , mientras que en la ecuacin (9.2.) se considera solo un lado y se desconoce el valor del otro lado que est fuera del intervalo. La ventaja que presenta la ecuacin (9.1) es su simplicidad, ya que solamente se evala en dos puntos, mientras que la ecuacin (9.2) necesita tres puntos. Ejemplo 9.9. Aproximar el valor de la funcin (9.1) de los tres puntos, con Solucin: , utilizando la frmula

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

16

Estimacin de error: El valor verdadero de la derivada de la funcin

Comentarios: La aproximacin lograda es bastante buena, pues el error porcentual es solamente del 0.2%, y este valor es aceptable para cualquier clculo promedio. Adems, debe tenerse siempre en cuenta el tipo de clculo que se realiza y la precisin que se requiera para estimar el error. Ejemplo 9.10. Aproximar el valor de la funcin (9.2) de los tres puntos, con , utilizando la frmula

Solucin: La solucin inicia con la formula de los tres puntos (9.2)

Estimacin de error: El valor verdadero de la derivada de la funcin

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

17

Comentarios: En este caso, con la aplicacin de la formula (9.2) de los tres puntos la aproximacin lograda es de menor precisin que la de (9.1), aun as, sigue siendo bastante buena la aproximacin lograda, pues el error porcentual es de 0.44%. Comparando los dos ejercicios resueltos se nota claramente que la ecuacin (9.1) presenta menor error, aproximadamente la mitad de error producido por (9.2), lo que se haba ya indicado al definir las dos frmulas de los tres puntos. Importante: Recodar siempre que el error puede ser pequeo o grande dependiendo siempre de la precisin que se desee al evaluar una determinada funcin. Frmula de los tres puntos

Ejemplo 9.11. Aproximar el valor de la funcin de los tres puntos, con Solucin: La solucin inicia con la formula de los tres puntos , utilizando la frmula

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

18

Estimacin de error: El valor verdadero de la derivada de la funcin

Comentarios: En este caso, con la aplicacin de la formula de los tres puntos la aproximacin lograda es de menor precisin que la de las diferencias centradas, aun as, sigue siendo bastante buena la aproximacin lograda, pues el error porcentual es de 0.44%, un poco mayor que la de las diferencias centradas de tan solo del 0.2%.

Frmula de los cinco puntos

Entre las distintas frmulas de cinco puntos, las ms utilizadas son:

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

19

Ejemplo 9.12. Aproximar el valor de la funcin de los cinco puntos, con

, utilizando la frmula

Solucin: Se inicia el clculo de la solucin partiendo de la formula de los cinco puntos

Estimacin de error:

Clculo Numrico Lic. R. Riveros

Derivacin Numrica El valor verdadero de la derivada de la funcin

20

Comentarios: La aproximacin lograda con la formula de los cinco puntos es excelente, puede notarse en este ejercicio que el error porcentual es de apenas 0.01%, y que la aproximacin lograda puede considerarse un valor totalmente valido, demostrando que este mtodo es el mejor que cualquiera de lo empleado anteriormente. Conclusiones generales

EJERCICIOS RESUELTOS

Ejercicio resuelto 9.13. Para estudiar un determinado fenmeno fsico, se registran los cambios producidos en l en la siguiente tabla. Aproxima el valor de la derivada a utilizando la formula de derivacin numrica por diferencia centrada de orden x 1 2. 5 1.1 2.4368 51 1.2 2.3728 95 1.3 2.3087 85 1.4 2.2450 66 1.5 2.1821 79 1.6 2.1204 72

Solucin

El valor exacto de

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

21

Ejercicio resuelto 9.14. Para estudiar un determinado fenmeno fsico, se registran los cambios producidos en l en la siguiente tabla. Aproxima el valor de la derivada a utilizando la formula de derivacin numrica por diferencia centrada de orden x 1 2. 5 1.1 2.4368 51 1.2 2.3728 95 1.3 2.3087 85 1.4 2.2450 66 1.5 2.1821 79 1.6 2.1204 72

Solucin

El valor exacto de

Ejercicio resuelto 9.15. Aproximar el valor de la funcin de los tres puntos (9.2), con Solucin

, utilizando la frmula

5.7 9.5157

5.8 10.2720

5.9 10.9442

Clculo Numrico Lic. R. Riveros

Derivacin Numrica 26 26 45

22

Estimacin de error: El valor verdadero de la derivada de la funcin

Ejercicio resuelto 9.15. Aproximar a la funcin cinco puntos, con Solucin

, utilizando la frmula de los

4.0 1.6050 81

4.1 2.0085 77

4.2 2.5512 64

4.3 3.3341 72

4.4 4.5875 27

4.5 6.9749 06

El valor verdadero de la derivada de la funcin

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

23

Ejercicio resuelto 9.8 Por el mtodo de diferencia hacia adelante encontrar la derivada de la funcin f(x) para x=2, o sea encontrar f(x). Para resolver este ejercicio utilize la siguiente tabla de x y f(x).

Ejercicio medio (Respuesta)

Derivacin lineal de Newton

1. Dada la funcin , aproxima el valor de su derivada en el punto , con la frmula de derivacin lineal de Newton. a).- Establece la frmula de derivacin lineal de Newton para este problema. b).- Calcula el valor de la derivada con incremento constante c).- Calcula el error absoluto de la aproximacin, con el valor real de .

Nota: Para los clculos utiliza hasta 6 cifras despus del punto decimal.

Solucin
a).- Para establecer la frmula de derivacin de Newton, se recurre a la frmula de interpolacin de Newton:

, En donde:

es el incremento constante,

la k-sima diferencia en la posicin i.

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

24

Derivando con respecto a x, por la regla de la cadena tenemos (expresin 5.8 del libro pgina 237):

Finalmente se llega a la frmula de derivacin lineal por Newton:

b).- Con base en la frmula anterior se calcula el valor de la derivada con incremento constante . Evaluando la funcin en cada uno de los puntos: y Luego:

c).- Para el error absoluto de la aproximacin, con el valor real de

Ejercicio resuelto N 7 La carga en un circuito elctrico con base en el tiempo est dada por: t q 0.000 2.5000 0.002 2.5523 0.004 2.6087 0.006 2.6682 0.008 2.7299 0.010 2.7931 En donde t es el tiempo en segundos y q la carga en coulombios. Se sabe que la corriente instantnea es igual a la derivada de la carga en ese instante; determina por derivacin lineal de Newton la corriente del circuito en t 0.005 segundos. a) Establece la frmula de derivacin lineal de Newton para este problema. b) Calcula el valor de la derivada con incremento constante h 0.002 .
Nota: Para los clculos utiliza hasta 4 cifras despus del punto decimal.

Ejercicio resuelto N 8

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

25

Aplicacin a la medicina Para estudiar la tasa de crecimiento de una bacteria se hacen cultivos y se registran sus cambios peridicamente durante 7 das obtenindose los valores de la siguiente tabla: Tiempo en das Bacterias 0 35 1 52 2 95 3 140 4 198 5 266 6 342 7 465 Empleando los valores de la tabla anterior aproxima por derivacin de Newton la tasa de crecimiento al cuarto da. a) Establece la frmula de derivacin lineal de Newton para este problema. b) Calcula el valor de la derivada con incremento constante h = 1 .
Nota: Para los clculos utiliza hasta 4 cifras despus del punto decimal.

Ejercicio resuelto N 9 1. Dada la funcin


3.4 1 3.5 ()
2 2 0.25

++ = xx xe fx
x

, aproxima el valor de su derivada en el punto x = 1.25 , con la frmula de derivacin lineal de Newton. a) Establece la frmula de derivacin lineal de Newton para este problema. b) Calcula el valor de la derivada con incremento constante h = 0.05 . c) Calcula el error absoluto de la aproximacin, con el valor real de f _(1.25) = 1.079616...
Nota: Para los clculos utiliza hasta 6 cifras despus del punto decimal.

2. Dada la siguiente tabla de valores obtenidos en observaciones en diferentes tiempos de un experimento: ty 0 38.20 0.20 35.25 0.50 30.45 0.60 27.80 0.85 24.90 1.10 22.75 Por medio de la diferenciacin de Lagrange de segundo grado hacia delante aproxima el valor de rapidez de decrecimiento del fenmeno en estudio en el tiempo t = 0.55 . a) Establece la frmula de la derivacin de Lagrange de segundo grado para este problema. b) Aproxima la derivada numrica en t = 0.55 .

Clculo Numrico Lic. R. Riveros

Derivacin Numrica
Nota: Para los clculos utiliza hasta 3 cifras despus del punto decimal.

26

Ejercicio resuelto N 10

1. La siguiente tabla contiene los datos de f(x) = senh(x) correctos hasta las cifras dadas. x 1.2 1.3 1.4 1.5 1.6 f(x) 1.5095 1.6984 1.9043 2.1293 2.3756 Calcular f0(1.4) mediante las tres formulas de 3 puntos. Comparar los resultados obtenidos con la solucion f0(1.4) = 2.150898. Obtener tambien f00(1.4) y compararla con la real. 2. Con los datos x 1 1.01 1.02 fi 1.27 1.32 1.38 a) Aproximar f0(1.005) y f0(1.015) b) Aproximar f00(1.01) usando los resultados del apartado a). c) Obtener f00(1.01) con la formula de la derivada segunda 3. La siguiente tabla contiene los valores de f(x) = 1
_

R_ 0 cos(xsen t)dt x 0 0.2 0.4 0.6 0.7 0.9 fi 1 0.990025 0.960398 0.912005 0.881201 0.807524 Sabemos que f 2 C1(lR) y 8n 2 lN y __ fn)(x) __ _1 a) Mediante interpolacion con 3 puntos estimar f0(0.5) y acotar el error cometido. b) Mediante interpolacion con cinco puntos estimar f0(0.4) y acotar el error cometido. c) Mediante interpolacion con 3 puntos estimar f00(0.2) y acotar el error cometido. d) Mediante interpolacion con 5 puntos estimar f00(0.4) y acotar el error cometido. 4. De cierta funcion f 2 C1(lR) se conoce los datos x 1.2 1.3 1.4 1.5 1.6 fi 1.5095 1.6984 1.9043 2.1293 2.3756 y que para todo numero natural n y para todo x 2 [1, 2] se tiene que __ fn)(x) __ _ e2 + e1 2 .

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

27

Aproximar f0(1.4) y f00(1.4) mediante formulas de 5 puntos y estimar el error cometido.

Ejercicio resuelto N 11

EJEMPLO. Consideremos la siguiente tabla de datos

0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

1.00 1.010050167 1.02020134 1.030454534 1.040810774 1.051271096 1.061836547 1.072508181 1.083287068 1.094174284

Estimar

. se puede usar la frmula de cinco puntos podemos usar una frmula de tres puntos, .

SOLUCIN. Para estimar mientras que para estimar

para ser exactos, la frmula apropiada es la frmula para


Ejercicio

EJERCICIOS 1. Considere la tabla

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

28

1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8

1.042236692 1.082222055 1.120140413 1.156156396 1.190417757 1.223057566 1.254195979 1.283941742

i.) En Excel, estimar con el valor real. ii.) En Excel, estimar con el valor real.

y comparar

y comparar

2. Implementar una hoja en Excel, con o sin macros, para que poder calcular la aproximacin de cada una de las derivadas usando las cinco frmulas vistas en la teora.

EJERCICIOS DE FIJACIN

11)

12)

13)

14) Clculo Numrico Lic. R. Riveros

Derivacin Numrica

29

15)

Mtodo de los 5 pasos Tenemos una funcin f(x) y se quiere hallar la derivada en el punto a Para calcular la derivada por definicin se utiliza este mtodo que consiste en los 5 siguientes pasos: 1- calcular 2. Calcular 3. Calcular que es

Ejemplo Calcular la derivada de f(x) = x3 en el punto a 1- calcular 2. Calcular

Clculo Numrico Lic. R. Riveros

Derivacin Numrica 3. Calcular

30

Se ha sacado el factor comn h para que el siguiente paso sea fcil.

Diferenciacin numrica Como cualquier tipo de operacin numrica, la diferenciacin numrica refiere a una funcin y un punto arbitrario en . Se necesita un mtodo para aproximar , con para algn lo suficientemente pequea para asegurar que , se calcula Usando la siguiente notacin:

, .

2. Frmulas de derivacin numrica Sea f(x) una funcin derivable en un cierto intervalo I de la recta real y sea x* un punto de dicho intervalo. Consideremos adems un soporte de (n+1) puntos {x0, x1, ..., xn} del intervalo I en el que se suponen conocidos los valores de la funcin f(x). Por simplicidad supondremos adems, en todo cuanto sigue, que los puntos del soporte son todos ellos distintos y estn ordenados de menor a mayor es decir que: x0 < x1 < ... < xn. Definicin 2.1. Siendo f(x) una funcin de la que se conocen sus valores en el soporte de (n+1) puntos {x0 , x1, ...., xn} del intervalo I, se denomina frmula de derivacin numrica para aproximar el valor de la primera derivada f(x) en el punto x* sobre el soporte de puntos considerado, a toda expresin de la forma: f(x*) ' * f = c0.f(x0) + c1.f(x1)+ . + cn.f(xn) = n ii i0 c .f(x ) = donde c0, c1, , cn son (n+1) escalares denominados coeficientes (o Clculo Numrico Lic. R. Riveros

Derivacin Numrica

31

pesos) de la frmula de derivacin NOTA: La frmula de derivacin que se acaba de definir puede decirse que es una frmula lagrangiana pues en ella slo intervienen valores de la funcin f en los puntos del soporte. Podran considerarse frmulas ms generales, hermitianas, en las que el valor de f(x*) fuese aproximado a partir del valor de la funcin fy de algunas de sus derivadas en los puntos del soporte. No obstante, estas ltimas frmulas tienen un uso mucho ms espordico que las de tipo lagrangiano y es por ello que en este tema nos limitaremos a considerar como frmulas de derivacin numrica tan slo a las que hacen intervenir los valores de la funcin en los puntos del soporte. En general el valor aproximado '* f y el valor exacto f(x*) diferirn, cometindose un error en la aproximacin de f(x*). Es por ello que junto a la definicin de una frmula numrica conviene precisar de forma rigurosa la definicin del error que con ella se comete. En este sentido se introduce la siguiente definicin: Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 5 Definicin 2.2. Siendo ' * f la aproximacin de f(x*) que se obtiene operando sin error de redondeo segn la frmula de derivacin numrica: f(x*) ' *f= n ii i0 c .f(x ) = se denomina error de truncamiento de la frmula en el punto x*y para la funcin f al valor Rf(x*) = f(x*) - ' *f Obviamente se verificar que: ' f '(x*) = f*+Rf(x*) por lo que considerando la frmula en cuestin aplicada a todos los puntos x de un dominio dado puede definirse la funcin error de truncamiento de la frmula derivacin numrica para la funcin f considerada como la funcin: Rf : I R

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

32

x Rf(x) = f(x) - '* f En el anlisis del error de truncamiento de las frmulas de derivacin numrica se perseguir encontrar cotas del valor de esta funcin de error Rf(x) en el intervalo I sobre el que se trabaje. Ejemplo: Siendo {x0 , x1 } un soporte formado por dos puntos tales que x1 = x0 + h, y considerando que x* = x0, la sustitucin de la expresin de f(x0) por el cociente incremental: '10 0 f(x ) f(x ) f h = conduce a una frmula en la que sus coeficientes son c0 = (-1/h) y c1 = (1/h). Una forma de acotar el error de truncamiento de esta frmula, si se supone que f(x) es al menos de clase C2([x0, x1]) consiste en considerar el desarrollo en serie de Taylor siguiente: f(x1) = f(x0+h) = f(x0) + h.f(x0) + 2 0 h .f "(x .h) 2 + (0,1) de donde: =01+ 00 f '( x ) f ( x ) f ( x ) h .f "( x .h) h2 (0,1) Por tanto: = '= + f0000 R (x ) f '(x ) f h .f "(x .h) 2 (0,1) expresin que puede acotarse por: Programacin y Mtodos Numricos Derivacin Numrica 6

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

33

{} = 01 ' f000 x (x ,x ) R (x ) f '( x ) f h . Sup f "( x ) 2 Para el caso particular de la funcin f(x) = x2 el cociente incremental considerado conduce a la expresin: + ==+ 22 '00 00 f ( x h) x 2.x h h por lo que el error de truncatura cometido es en este caso Rf(x0) = h. Obsrvese que la acotacin antes realizada conducira (para esta funcin x2) a la acotacin |Rf(x0)| h coincidente con el error de truncatura realmente cometido1. Las frmulas que conducen al valor exacto de la derivada se denominan frmulas exactas. Ms concretamente: Definicin 2.3. Se dice que la frmula de derivacin numrica f(x*) ' *f= n ii i0 c .f(x ) = es exacta para la funcin f(x) en el punto x* y para el soporte {x0, ..., xn} cuando el error de truncatura Rf(x*) es nulo. Ejemplo: Dado un soporte {x0 < x1 } y denotando por h = x1 x0, la frmula: ==+ 10 *01 10 f(x*) f ' f(x ) f(x ) 1f(x ) 1f(x ) xxhh es una frmula exacta para la funcin f(x) = x2, en el punto x* = 1 y para el

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

34

soporte {x0 = 0, x1 = 2}. En efecto, f(1) = 2 y: = = = 2+ 2= * 2 f'(1) f ' 10 12 2 22 Ahora bien esta frmula no tiene que ser exacta si se cambia de punto x* (por ejemplo f(1.5) = 3 f* = 2) o si se cambia de soporte (por ejemplo para x0 = -1 y x1 = 2 , siendo f(x) = x2 y x* = 1 se tiene que f(1) = 2 f* = 1) o si se cambia de funcin (por ejemplo si f(x) = x3 con el soporte {x0 = 0 y x2 = 2} y para x* = 1 se tiene que: 3 = f(1) f* = 4) 1 No siempre las acotaciones del error de truncatura que se obtendrn sern tan finas como la que se acaba de describir. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 7 De poco servira tener frmulas que slo fuesen exactas para funciones concretas con soportes concretos y en puntos concretos pues la aplicabilidad de dichas frmulas sera escasa. Por ello, las frmulas de derivacin numrica suelen disearse de forma que sean exactas para determinadas familias de funciones con independencia de cules sean los (n+1) puntos del soporte que se elijan y para cualquier punto x* en el que se apliquen. Ms concretamente puede darse la definicin siguiente: Definicin 2.4. Se dice que la frmula de derivacin numrica: n ' *ii i0 f '(x*) f c .f(x ) = = es exacta de orden k para la familia de funciones de clase C1([x0 , xn]): {0(x),1(x),...,k(x),....} cuando es nulo el error de truncatura cometido al aplicar la frmula para la estimacin de la primera derivada de cualquiera de las (k+1) primeras funciones de la familia y en cualquier punto x* perteneciente al intervalo

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

35

[x0 , xn]: k 0 n R (x) 0 x [x ,x ] = Propiedad 2.1. Si la frmula de derivacin numrica n ' *ii i0 f '(x*) f c .f(x ) = = es exacta de orden k para la familia de funciones { } 0 1 k (x),(x),..., (x),.... entonces es exacta para cualquier combinacin lineal de las (k+1) primeras funciones de la familia Demostracin: Si la frmula es exacta de orden k para la familia de funciones consideradas se podr escribir que: [] = = n ' jiji0n i0 (x*) c . (x ) x* x ,x (j = 0, ..., k) Por otra parte, una funcin cualquiera que sea combinacin lineal de las (k+1) primeras funciones de la familia ser de la forma: k 0011kkjj j0 f(x) (x) (x) ..... (x) (x) = = + + + = por lo que su primera derivada en cualquier punto x* del intervalo [x0, xn]se puede expresar como: Programacin y Mtodos Numricos Derivacin Numrica 8 ====== = = = = kknnkn ' jjjijiijjiii j0j0i0i0j0i0 f '(x*) (x*) c (x ) c (x ) c f(x )

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

36

y puesto que la aplicacin de la frmula de derivacin numrica a la funcin f(x) en cualquier punto x* conduce a que: n ' xii i0 f c.f(x) = = puede concluirse que: [ ] f 0n R (x*)=0 x*x ,x Esto demuestra que la frmula es exacta para cualquier funcin f(x) que sea combinacin lineal de las (k+1) primeras funciones de la familia de funciones considerada. c.q.d. Las frmulas de derivacin numrica ms utilizadas en la prctica son exactas, de algn orden k, para la familia de funciones formada por los monomios, es decir: {1, x, x2, ...,xk, ....}. En este tema nos referiremos en exclusiva a esta familia de funciones y por ello cuando digamos que una frmula es de orden k se sobreentender que es de orden k para la familia de los monomios, es decir que permite estimar sin error alguno la primera derivada de cualquier funcin polinmica de grado menor o igual que k en cualquier punto x*. Ejemplo: La frmula que se ha utilizado en ejemplos anteriores consistente en sustituir el lmite con el que se define la derivada por el cociente incremental en un soporte de dos puntos consecutivos es una frmula exacta de orden 1. En efecto, para la funcin f(x) = 1 se verifica que: '00[] x00 f f(x h) f(x ) 1 1 0 f '(x) x x ,x h hh + ====+ Asimismo para la funcin g(x) = x se tiene que: ++[] '=00=00==+ x00 g g(x h) g(x ) x h x 1 g'(x) x x ,x h hh

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

37

Pero para la funcin q(x) = x2, en general, ya no coincidir el valor de la primera derivada y el valor estimado mediante la frmula de derivacin: Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 9 ++[] === + + 22 '0000 x000 q q(x h) q(x ) (x h) x 2 x h q'(x) x x ,x h hh por lo que slo se puede afirmar que el error de la frmula es nulo para los monomios {1, x}. En consecuencia, como se seal anteriormente, la frmula es de orden 1. NOTA: Para facilitar el seguimiento de todo cuanto hasta aqu se ha dicho, nos hemos referido nicamente a frmulas que permiten estimar el valor de la primera derivada de una funcin. Anlogo tratamiento podra realizarse para las frmulas de derivacin numrica que permiten estimar derivadas de orden mayor (segundas derivadas, terceras derivadas, etc...). A ellas nos referiremos en el apartado 7 de este tema. Programacin y Mtodos Numricos Derivacin Numrica 10 3. Frmulas de derivacin numrica de tipo interpolatorio para aproximar la primera derivada de una funcin. Como se ha comentado en el apartado anterior, las frmulas ms utilizadas en la prctica se buscan de forma que sean exactas para polinomios de grado menor o igual que n (es decir frmulas de orden de exactitud n). Una manera natural de construir frmulas exactas de orden n consiste en recordar que el polinomio pn(x) que interpola en el sentido de Lagrange y sobre un soporte de (n+1) puntos a una funcin f(x) que sea polinmica de grado menor o igual que n coincide con dicha funcin2. Por ello es equivalente derivar la funcin polinmica f(x) que derivar la su polinomio interpolador pn(x). A todas las frmulas de derivacin que se obtienen derivando la expresin del polinomio interpolador de Lagrange se las denomina frmulas de derivacin de tipo

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

38

interpolatorio. Definicin 3.1. Se denomina frmula de derivacin numrica de tipo interpolatorio (de Lagrange) para aproximar derivadas de primer orden a cualquier frmula obtenida derivando una vez la expresin del polinomio interpolador de Lagrange construido sobre un soporte de (n+1) puntos distintos. NOTA: Obsrvese que en la definicin anterior se ha escrito entre parntesis de Lagrange. En efecto podra pensarse en derivar tambin la expresin del polinomio interpolador de Hermite obtenindose otros tipos de frmulas de derivacin de tipo interpolatorio. Puesto que nosotros slo nos vamos a referir a las frmulas que se obtienen al derivar la expresin del polinomio interpolador de Lagrange omitiremos en lo sucesivo la coletilla de Lagrange y simplemente diremos frmula de derivacin numrica de tipo interpolatorio. Una frmula de derivacin numrica de tipo interpolatorio puede obtenrse de cualquiera de las expresiones del polinomio interpolador. Recordando la expresin del polinomio interpolador en funcin de los polinomios de base de Lagrange puede deducirse la expresin de los pesos que intervienen en dicha frmula. En efecto: 2 Consltese, por ejemplo, el tema dedicado a la Interpolacin de Lagrange elaborado por A. Hidalgo y C. Conde en estos mismos apuntes. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 11 Propiedad 3.1. La condicin necesaria y suficiente para que la frmula de derivacin numrica n ' x* i i i0 f c.f(x) = = que sea de tipo interpolatorio es que sus coeficientes satisfagan las igualdades: ' ci=Li(x*) (i = 0, 1, ..., n)

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

39

donde se ha denotado por Li(x) a los (n+1) polinomios de base de Lagrange3 sobre el soporte {x0, x1, ..., xn}. Demostracin: a) Demostremos en primer lugar que si la frmula es de tipo interpolatorio entonces sus pesos satisfacen la relacin ci = Li(x*). En efecto, la expresin detallada del polinomio interpolador de Lagrange pn(x) de una funcin f(x) sobre el soporte de (n+1) puntos {x0, x1, ..., xn} en funcin de los (n+1) polinomios de base de Lagrange { }n i i 0 L (x) = es: n nii i0 f(x) p (x) f(x ) L (x) = = de donde, en cualquier punto x* se puede considerar la aproximacin: n '' nii i0 f '(x*) p (x*) L (x*) f(x ) = = Esta frmula es una frmula de derivacin numrica en la que sus coeficientes estn dados por la expresin: ' i i c =L(x*) (i = 0, ..., n) b) Demostremos que si la frmula de derivacin numrica satisface ' i i c =L(x*) (i = 0, ..., n) entonces es de tipo interpolatorio. En efecto, considerando que el polinomio interpolador de Lagrange de f(x) sobre el soporte {x0, ..., xn} se puede expresar como: pn(x) = = n ii i0 f(x )L (x) se tiene que si se verifican las igualdades consideradas para los coeficientes: 3 Recurdese que: nn ijij j0j0 jiji

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

40

L (x) (x x ) (x x ) == = (i = 0, 1, ..., n) Programacin y Mtodos Numricos Derivacin Numrica 12 f(x*) ( ) ( ) ==== = = = = nnnn' iiiiiiiin i0i0i0i0 c f(x ) L' (x*)f(x ) L (x*)f(x ) ' L (x*)f(x ) p' (x*) lo que demuestra que el valor de la primera derivada en x* se aproxima con el valor de la primera derivada del polinomio interpolador en x*. c.q.d. La propiedad anterior caracteriza a las frmulas de derivacin numrica de tipo interpolatorio que permiten aproximar primeras derivadas. Adems nos permite obtener otras propiedades que deben satisfacer los coeficientes de las frmulas de tipo interpolatorio. Por ejemplo: Propiedad 3.2. En toda frmula de derivacin numrica de tipo interpolatorio n ' x* i i i0 f c.f(x) = = se verifica que: n i i1 c0 = = Demostracin: Puesto que segn las propiedades de los polinomios de base de Lagrange se

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

41

verifica que: n i i0 L (x) 1 = = x , es obvio que: n'n ' ii i0i0 L (x) L (x) 0 == == x En particular para el punto x* se tendr que: nn ' ii i0i0 L (x*) c 0 == = = c.q.d. Ocupmonos ahora de analizar el error en las frmulas de derivacin numrica de tipo interpolatorio. Denotando por (x) a la funcin error de interpolacin cometido al aproximar una funcin f(x) por su polinomio interpolador de Lagrange pn(x) sobre el soporte de (n+1) puntos considerado, se verifica que: f(x) = pn(x) + (x) 0 n x(x ,x ) por lo que: 'n f '(x*)=p (x*)+'(x*) Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 13 lo cual nos conduce a poder expresar el error en el punto x* de la frmula de derivacin numrica mediante: Rf(x*) = '(x*) En el caso particular en que f(x) sea un polinomio de grado menor o igual que n

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

42

se verificar que f(x) pn(x) y por tanto (x) = 0 x , de donde resulta que la frmula de derivacin numrica de tipo interpolatorio construida sobre un soporte de (n+1) puntos es exacta para cualquier polinomio de grado menor o igual que n. En resumen es exacta de orden n. Este hecho nos permite incluir a las frmulas de derivacin numricas de tipo interpolatorio en el conjunto de frmulas de derivacin exactas de orden n. Pero an puede precisarse ms, puesto que adems toda frmula exacta de orden n construida sobre un soporte de (n+1) puntos debe ser necesariamente de tipo interpolatorio. Este hecho se demuestra en el siguiente teorema. Teorema 3.1. La condicin necesaria y suficiente para que una frmula de derivacin numrica construida sobre un soporte de (n+1) puntos, n ' x* i i i0 f c.f(x) = =, sea exacta de orden n es que sea de tipo interpolatorio. Demostracin: a) Demostremos en primer lugar que la condicin recogida en el enunciado del teorema es suficiente, es decir que si la frmula construida sobre el soporte de (n+1) puntos es de tipo interpolatorio entonces es exacta de orden n. Para ello basta con recapitular los razonamientos anteriormente realizados. En efecto, si f(x) es una funcin polinmica de grado menor o igual que n su polinomio interpolador de Lagrange sobre el soporte de (n+1) puntos coincide con la funcin y por tanto: f(x) = pn(x) x por lo que f(x) = pn(x) x . En particular para cualquier punto x* se tendr que: '' n x* f '(x*) = p (x*) f Programacin y Mtodos Numricos Derivacin Numrica 14 Ello demuestra que la frmula es exacta sea cual sea el polinomio f(x) de grado menor o igual que n al que se aplique y el punto x* en el que se aproxime la primera derivada.. En particular lo ser cuando se aplique a los (n+1) primeros monomios {1, x, ..., xn} y por ello es exacta de grado n. b) Demostremos ahora que la condicin anterior tambin es necesaria, es decir que si la frmula construida sobre el soporte de (n+1) puntos es exacta de orden n entonces tiene que ser de tipo interpolatorio. Para ello

Clculo Numrico Lic. R. Riveros

Derivacin Numrica partimos del hecho de que, al ser la frmula exacta de orden n, para cualquier funcin polinmica de grado menor o igual que n, p(x), se debe verificar que: n ii i0 p'(x*) c .p(x ) = = Por otra parte, puesto que hemos considerado que p(x) es un polinomio de grado menor o igual que n, se verificar que el polinomio interpolador de p(x) en el soporte de (n+1) puntos coincidir con p(x) y por tanto p(x) se puede expresar como: n ii i0 p(x) p(x ).L (x) = = de donde su primera derivada en el punto x* estar dada por: n ' ii i0 p'(x*) L (x*).p(x ) = = Identificando las dos expresiones de la primera derivada de p(x) en x* se tiene que: nn ' iiii i0i0 c .p(x ) L (x*).p(x ) == = Esta igualdad debe ser satisfecha para cualquier polinomio p(x) que sea de grado menor o igual que n. Por tanto deber verificarse tambin en el caso de que consideremos como p(x) cualquiera de los (n+1) polinomios de base de Lagrange construidos sobre el soporte { }n i i 0 x = . Recordemos adems que los polinomios de base de Lagrange verifican: Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 15 ij

43

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

44

0 si i j L (x ) 1 si i=j = Por tanto, particularizando la igualdad antes obtenida para L0(x) se tiene que: nn '' i0ii0i00 i0i0 c.L (x ) L(x*).L (x ) c L (x*) == = = Al hacerlo para el polinomio L1(x) resultar que: nn '' i1ii1i11 i0i0 c .L (x ) L (x*).L (x ) c L (x*) == = = Y en general al particularizar para cualquier polinomio de base Lj(x) obtendremos que: nn '' ijiijijj i0i0 c .L (x ) L (x*).L (x ) c L (x*) == = = c.q.d. Ejemplos: 1) Si se considera un nico punto de soporte {x0} el polinomio interpolador de una funcin f(x) en dicho soporte ser el polinomio: p0(x) = f(x0). La figura 1 recoge, junto al grafo de la funcin f(x) el grafo de p0(x) y la tangente geomtrica a la curva en (x0, f(x0)). La pendiente de esta tangente geomtrica ser la derivada f(x0). Figura 1: Interpretacin grfica del proceso de aproximacin de la derivada primera de una funcin mediante la frmula de tipo interpolatorio con soporte de un punto. Programacin y Mtodos Numricos Derivacin Numrica 16

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

45

Ello nos conducira a que, para cualquier punto x*, la frmula de derivacin de tipo interpolatorio de una funcin con un soporte de un nico punto es: '' f '(x*) fx* =p0(x*)=0 =0.f(x0 ) Obviamente esta frmula slo sera exacta en el caso de derivar constantes (es decir, polinomios de grado 0). 2) Si se considera un soporte de 2 puntos {x0, x1} el polinomio interpolador de la funcin f(x) en el sentido de Lagrange est dado por: 10 101 0110 p (x) f(x ). (x x ) f(x ). (x x ) (x x ) (x x ) =+ La derivada de este polinomio es: '10 101 011010 p (x) f(x ). 1 f(x ). 1 f(x ) f(x ) (x x ) (x x ) (x x ) =+= Al no depender del punto en el que se evale la derivada podemos concluir que para cualquier abscisa x* el valor de la primera derivada de la funcin en ella, f(x*), se aproximar mediante: '10 x* 10 f(x ) f(x ) f '(x*) f xx = Esta expresin se corresponde con el cociente incremental que se utiliz en los ejemplos de los apartados anteriores. Puede observarse que los pesos de la frmula son: c0 = -1/(x1 x0) y c1 = 1/(x1 x0) por lo que su suma se anula. La

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

46

grfica de la figura 2 representa junto a los grafos del polinomio interpolador y de la funcin f(x) la tangente geomtrica al grafo de f(x) en un punto (x*, f(x*)). Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 17 Figura 2: Interpretacin grfica del proceso de aproximacin de la derivada primera de una funcin mediante la frmula de tipo interpolatorio con soporte de dos puntos. Obviamente esta frmula de derivacin numrica ser exacta sobre cualquier polinomio de grado menor o igual que 1 (es decir sobre lneas rectas). Otras relaciones entre los pesos y los puntos del soporte de las frmulas de derivacin numrica de tipo interpolatorio se recogen en la propiedad siguiente: Propiedad 3.3 En toda frmula de derivacin numrica de tipo interpolatorio n ' x* i i i0 f c.f(x) = = , construida sobre un soporte de (n+1) puntos, se verifica que: ()n kk1 ii i1 c x k x* = = (k = 1, ...n) Demostracin: Por ser la frmula de tipo interpolatorio es exacta para todo polinomio de grado menor o igual que n. En particular lo ser para la funcin f(x) = xk sea cual sea el valor del entero positivo k siempre que k < n. Puesto que f(x*) = k(x*)(k1), la exactitud de la frmula implica que: () = = n

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

47

kk1 ii i1 c x k x * ( 0 < k < n) c.q.d. Programacin y Mtodos Numricos Derivacin Numrica 18 EJERCICIO PROPUESTO: Demustrese que para cualquier funcin f(x) que sea derivable en todo punto del intervalo [x0, x1] siempre existe algn punto x* de dicho intervalo para el que la frmula de derivacin numrica de tipo interpolatorio construida sobre el soporte {x0 ,x1} proporciona el valor exacto f(x*). Ntese que, si esto es as, en particular se puede afirmar que siempre existir algn punto x* en el intervalo [x0, x1] para el que la frmula construida con dos puntos de soporte proporciona el valor exacto de la derivada de xk sea cual sea el valor que le demos al entero no negativo k. Contradice esto la afirmacin de que la frmula es de orden 1?. A la luz de este comentario no sera ms preciso decir que la frmula es de orden infinito?. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 19 4. Expresiones del error de las frmulas de derivacin numrica de tipo interpolatorio que aproximan la primera derivada de una funcin. El proceso seguido para obtener las frmulas de derivacin numrica de tipo interpolatorio nos conduce de forma natural a que el error de cada frmula Rf(x*) de derivacin as determinada es igual a la primera derivada de la funcin de error interpolacin (x) particularizada en el punto x* en que se deriva: Rf(x*)= '(x*) . No obstante trabajar con la expresin del error de interpolacin que se dedujo en los temas dedicados al estudio de las tcnicas de interpolacin4 no es cmodo en muchas ocasiones. Es por ello interesante obtener otras expresiones ms cmodas para el anlisis del error de las frmulas de derivacin numrica. Una primera forma de obtener otra expresin del error de derivacin numrica se basa en utilizar diferencias divididas. Para ello, como es habitual,

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

48

denotaremos por f[x0, x1, ..., xn, x] a la diferencia dividida de orden (n+1) de la funcin f(x) en los puntos {x0, x1, ..., xn, x] y consideraremos una funcin g(x) que a todo punto x le haga corresponder el valor: g(x) = f[x0, x1, ..., xn, x] La primera derivada de esta funcin estar dada por: g(x)= 0 1 n 0 1 n h0h001n limf[x ,x ,....,x ,x h] f[x ,x ,....,x ,x] limf[x ,x ,....,x ,x,x h] (x h) x + =+ + que representaremos por: 0 1 n g'(x) = f[x ,x ,....,x ,x,x] Ms concretamente: Definicin 10.4.1. Se define la diferencia dividida de orden (n+2 )de una funcin en el soporte {x0, x1, ..., xn, x, x} mediante: 01n 01n df[x ,x ,....,x ,x] f[x ,x ,...,x ,x,x] dx = 4 Recurdese que la expresin obtenida era: (n 1 n x i i0 f() (x) . (x x ) (n 1)! + = = + donde x era un punto dependiente de la abscisa x en la que se deseaba estimar el error de interpolacin. Este error tambin se poda expresar usando las diferencias divididas como n 01ni i0 (x) f[x , x ,..., x , x] (x x ) = = .

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

49

Programacin y Mtodos Numricos Derivacin Numrica 20 Con ayuda de las diferencias divididas con puntos repetidos que se acaban de definir y partiendo de la expresin del error de interpolacin que se obtuvo al trabajar con diferencias divididas, es sencillo demostrar la siguiente propiedad: Propiedad 4.1. La frmula de derivacin numrica de tipo interpolatorio n ' x* i i i0 f c.f(x) = = tiene asociado un error de truncatura dado por la expresin [ ]n [ ] nn f01ni01nj i0i0j0 ji R ( x*) f x ,x ,...,x ,x*,x * . ( x * x ) f x ,x ,...,x ,x*,x * . ( x * x ) === = + Demostracin: Basta con particularizar en x* la expresin obtenida al derivar una vez la funcin de error de interpolacin: n 01ni i0 (x) f[x ,x ,...,x ,x]. (x x ) = = c.q.d. La expresin anterior, teniendo un inters terico, tambin es de difcil aplicacin prctica. Es por eso que lo que resta de este apartado lo dedicaremos a determinar una expresin de fcil aplicacin advirtiendo de antemano al lector que ms que la frmula que finalmente determinemos, en la prctica es el mtodo que vamos a seguir el que tiene inters prctico. Consideremos que f(x) es una funcin de clase Cn+1((x0, xn)) y que para aproximar la primera derivada de la funcin f(x) en un punto x* perteneciente al intervalo [x0 , xn] se considera la frmula de derivacin numrica de tipo

Clculo Numrico Lic. R. Riveros

Derivacin Numrica interpolatorio n ' x* i i i0 f c.f(x) = = construida sobre un soporte de (n+1) puntos distintos {x0 < x1 < ....< xn}. Advirtase que, por ser la frmula de tipo interpolatorio, al menos, ser de orden n. Ello, en particular implica que servir para determinar sin error de truncatura ninguno las derivadas de las funciones {1, x, x2, ..., xn}. Ello a su vez se traduce en que: nn k k' k *(k1) i i x x* i i i0i0 c x (x ) c x k.(x ) = == = = (k = 0,..., n) Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 21 Denotemos adems por h al valor: h=Max( x *x0, x * xn) y sean { }n i i=0 (n+1) escalares de valor absoluto no superior a 1 y tales que: i i x =x*+ h Para cada uno de estos puntos, al haber supuesto la funcin f(x) suficientemente regular, se puede considerar el desarrollo en serie de Taylor siguiente: 22nn i i (n iii f(x ) f(x * .h) f(x*) .h.f '(x*) .h .f "(x*) .... .h .f (x*) 2 n! = + = + + + + + n1n1 i (n 1 i .h .f (x * .h) (n 1)!

50

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

51

++ + + + + Por tanto la frmula de derivacin numrica de tipo interpolatorio considerada podr rescribirse en la forma: nnn2n '2 x* i i i i i i i i0i0i0i0 f c .f(x ) c .f(x*) h. c . .f '(x*) h . c . .f "(x*) ..... = = = 2! = = = + + + + + ++ == + + + + n n n1 n n (n (n 1) (n 1 iiiii i0i0 h. c. .f (x*) h . c. .f (x* .h) n! (n 1)! Simplifiquemos la expresin que se acaba de obtener. El coeficiente que multiplica a f(x*) es nulo pues es la suma de los pesos de la frmula (vase la propiedad 3.2.). Para simplificar otros sumandos de la expresin utilizaremos las dos propiedades siguientes: Propiedad 4.2. Con la notacin introducida anteriormente y siendo n ' x* i i i0 f c.f(x) = = una frmula de derivacin numrica de tipo interpolatorio con n > 0, se verifica que: n ii

Clculo Numrico Lic. R. Riveros

Derivacin Numrica i0 c.1 =h = Demostracin: Con la notacin que estamos utilizando se tiene que: Programacin y Mtodos Numricos Derivacin Numrica 22 i i x x* h = de donde: nnnn iiiiiii i0i0i1i0 c . 1. c .(x x*) 1. c .x 1.x *. c = h= h = h = = = En esta ltima igualdad se sabe que n i i0 c0 = = (vase la propiedad 3.2.). Por otra parte n ii i1 c .x = se corresponde con la expresin de la derivada del monomio x en el punto x*. Por ello su valor ser 1. En resumen: n ii i0 c .x 1 =h = c.q.d. Propiedad 4.3.

52

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

53

Con la notacin introducida anteriormente y siendo n ' x* i i i0 f c.f(x) = = una frmula de derivacin numrica de tipo interpolatorio, con n>1, se verifica que: n k ii i0 c.0 = = (k=2,....,n) Demostracin: Con la notacin que se est utilizando y empleando la frmula de Newton para desarrollar potencias de binomios5, se tiene que: nnnk k k j (k j) j iikiikii i0i0i0j0 c . 1. c .(x x*) 1. c . ( 1) . k .x .(x*) hhj ==== = = = kn j j (k j) kii j0i0 1. ( 1). k .(x*). c.x hj == = Al ser la frmula de tipo interpolatorio ser exacta para cualquier polinomio de grado menor o igual que n. En particular, al haber considerado n > 1 si se

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

54

toman valores de k tales que 2 k n se debe verificar para todo valor del entero j comprendido entre 0 y (k-1) que el sumatorio n (k j) ii i0 c .x = coincide con el 5 Como es habitual, en dicha frmula se utiliza la notacin k j para representar a k! (k j)!.j! Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 23 valor de la derivada del monomio x(k-j) particularizado en el punto x*. Es decir que: n (k j) ( (k j))' (k j 1) ii i 0 x x* c .x x (k j).(x*) == = = Para el caso en que j coincida con el valor de k el sumatorio quedar n i i0 c = cuyo valor es nulo(vase la propiedad 3.2.). Por tanto: n k ii i0 c. = = (k 1) j j (k j 1)

Clculo Numrico Lic. R. Riveros

Derivacin Numrica k j0 1 . ( 1) . k .(x*) .(k j).(x*) hj = = (k 1) (k 1) j k j0 1 .(x*) . ( 1) .(k j). k hj = = Puesto que6 se verifica que: = = (k 1) j j0 k ( 1).(k j). 0 k 2 j puede concluirse que: n k ii i0 c.0 = = (k = 2, ..., n) c.q.d. Estas dos propiedades junto a la expresin que obtuvimos antes de enunciarlas

55

Clculo Numrico Lic. R. Riveros

Derivacin Numrica nos permiten demostrar fcilmente el siguiente teorema: Teorema 4.1. Dado el soporte de (n+1) puntos x0 < x1 < ... < xn , siendo f(x) una funcin de clase C(n+1)((x0 , xn)), siendo x* un punto del intervalo [x0 , xn], denotando hi = xi x* , por h al valor h = mx(|x*-x0| , |x* - xn|) y por { }n i i=0 a los (n+1) escalares tales que hi = i .h , para toda frmula de derivacin numrica de tipo interpolatorio: n ' x* i i i0 f '(x*) f c .f(x ) = = existen (n+1) valores i pertenecientes al intervalo [-1 , 1] tales que: 6 El lector interesado puede encontrar la demostracin en el anexo a este apartado (Lema 4.2.) Programacin y Mtodos Numricos Derivacin Numrica 24 ()+ = = = + +nn ' n (n 1 f x* i i i i i0 R (x*) f(x*) f h . c . .h.f (x * .h) (n 1)! Demostracin: Introduciendo el resultado de las propiedades 4.2. y 4.3. en la expresin antes obtenida resulta: nnn2n '2 x* i i i i i i i i0i0i0i0 f c .f(x ) c .f(x*) h. c . .f '(x*) h . c . .f "(x*) ..... = = = 2! = = = + + + + + ++

56

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

57

== + + + + n n n1 n n (n (n 1) (n 1 iiiii i0i0 h. c. .f (x*) h . c. .f (x* .h) n! (n 1)! = ()+ = = + + +nn n (n1 iiii i0 f '(x*) h . c . .h.f (x * .h) (n 1)! c.q.d. NOTAS: 1) Obsrvese que en el trmino del error se ha descompuesto hn+1 en la forma hnh, dejando slo como factor comn del sumatorio hn y expresando en cada uno de los sumandos del trmino de error ih como hi. El motivo de ello es que los coeficientes ci de la frmula de derivacin dependen en general de los valores hi por lo que procediendo de esta manera el trmino de error podr expresarse en funcin de los valores de las derivadas f(n+1( i) (siendo i los puntos x*+ ih), de hn y de (n+1) constantes i = ci i nhi/(n+1)!. En los ejemplos del siguiente apartado se ilustrar este hecho. 2) La expresin anterior se resume frecuentemente indicando que el error es de orden O(hn). 3) Para algunas funciones y en algunos puntos se verificar que el trmino que multiplica a la derivada de orden (n+1) en el desarrollo en serie de Taylor del que se parta tambin se anula. En dichos casos, si f(x) es lo suficientemente regular, puede ampliarse el desarrollo en serie considerado

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

58

truncndolo en el primero de los trminos que no se anule (que ser posterior a aquel en el que interviene la derivada n-sima). Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 25 4) Con todo, como ya seal anteriormente, lo ms interesante de esta forma de proceder no es tanto el resultado obtenido como el procedimiento seguido para determinar el error de la frmula (combinando desarrollos en serie de Taylor). 5) Cuando el soporte es equidistante los clculos anteriores suelen rehacerse designando como h a la distancia entre los puntos del soporte. Habitualmente el error se acota en valor absoluto, |Rf(x*)|. A partir del teorema anterior es fcil obtener una cota de este error utilizando el lema siguiente: Lema 4.1. Si g(x) es una funcin continua en [a, b] y se consideran (n+1) coeficientes positivos, { }n i i=0 , y (n+1) puntos { }n i i=0 pertenecientes al intervalo [a, b], entonces existe un punto [a,b] tal que: = = n ii i0 .g( ) .g( ) donde n i i=0 = . Demostracin: Denotemos por gm y por gM a los valores mnimo y mximo que toma la funcin g(x) en [a, b]. Por ser todos los coeficientes positivos se verifica que: i m i i i M .g .g() (i = 0, 1, ..., n) .g Sumando las expresiones anteriores se tiene que: nnnn imiiiMmiiM i0i0i0i0 .g .g( ) .g .g .g( ) .g ====

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

59

n miiM i0 g 1. .g( ) g = Las desigualdades anteriores, junto a la hiptesis realizada sobre la continuidad de la funcin g(x) en el intervalo [a, b], nos muestran que, por aplicacin del teorema del valor medio, existir en [a, b] al menos un punto para el que se verifique que: Programacin y Mtodos Numricos Derivacin Numrica 26 nn iiii i0i0 1 . .g( ) g( ) .g( ) .g( ) == = = c.q.d. El lema precedente y el teorema 4.1. nos permiten demostrar fcilmente el siguiente teorema: Teorema 4.2. Dado el soporte de (n+1) puntos x0 < x1 < .... < xn, siendo f(x) una funcin de clase C(n+1)((x0 , xn)), x* un punto del intervalo [x0 , xn] y denotando por h al valor h = mx( |x* x0 |, |xn x|), para toda frmula de derivacin numrica de tipo interpolatorio: n ' x* i i i0 f '(x*) f c .f(x ) = = existe algn punto [x0,xn] y alguna constante real positiva para los que se verifica: |Rf(x*)| .hn.f(n+1() Demostracin: Segn el teorema 4.1., y utilizando la misma notacin que en l, se tiene que: ()nn ' n (n 1 f x* i i i i i0

Clculo Numrico Lic. R. Riveros

Derivacin Numrica R (x*) f(x*) f h . c . .h .f (x * .h) (n 1)! + = = = + + de donde: ()nn ' n (n 1 f x* i i i i i0 R (x*) f(x*) f h . c . .h .f (x * .h) (n 1)! + = = = + + nn n (n1 iiii i0 h . c. .h.f (x* .h) (n 1)! + = + + Aplicando el lema 4.1. (para la funcin g(x) = |f(n+1(x)|, evaluada en los puntos i = x* + i.h, y con los coeficientes i = |ci.i n.hi| ) se puede concluir que existir un valor x [x0 , xn] para el que se verificar que: n i i 0 (n 1) (n 1 f R (x*) .h . f ( ) (n 1)! =++ + de donde se tiene el resultado de este teorema sin ms que llamar al escalar n i

60

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

61

i0 1. (n 1)! = = + c.q.d. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 27 En el apartado siguiente se deducirn algunas frmulas de derivacin numrica y se detallar cmo obtener la expresin del error que con ellas se comete. ANEXO AL APARTADO 4 Lema 4.2. Para todo valor entero k superior o igua a 2 se verifica que: ( k 1) j j0 k ( 1) .(k j). 0 k 2 j = = Demostracin: Se tiene que: ==== = = (k 1) k k k jjjj j0j0j0j0 kkkk ( 1) (k j) ( 1) (k j) k ( 1) ( 1) j jjjj Analicemos, utilizando la frmula del binomio de Newton7, el primero de los sumandos del lado derecho de esta igualdad: = = = =

Clculo Numrico Lic. R. Riveros

Derivacin Numrica k jk j0 k k ( 1) k(1 1) k0 0 j Analicemos ahora el sumando que queda en el lado derecho: = k j j0 k ( 1)j j . Para ello procederemos por induccin. Para el valor k = 2 se tiene que el sumando anterior tiene el valor: = = + + = 2 j j0 2 ( 1) j 1 0 1 ( 1) 1 2 1 2 1 0 j Admitamos entonces que para algn valor (k-1) > 2 se verifica que: = = (k 1) j j0 k1 ( 1)j 0 j 7 Recurdese que la frmula del binomio de Newton establece que: () = +=

62

Clculo Numrico Lic. R. Riveros

Derivacin Numrica k k (k j) j j0 k a b a b j Programacin y Mtodos Numricos Derivacin Numrica 28 y demostremos que en ese caso tambin se anula el sumatorio para el entero k. En efecto, con esta suposicin: ==== = = = = kkkk jjjj j0j0j1j1 ( 1) j k ( 1) j k! ( 1) j k! ( 1) k! j j!(k j)! j!(k j)! (j 1)!(k j)! === = = = = kkk jjj j1j0j0 k ( 1) (k 1)! k ( 1) (k 1)! k ( 1) k 1 0 (j 1)!(k j)! j!(k j 1)! j Por tanto: === === (k 1) k k jjj j0j0j0 kkk ( 1) (k j) k ( 1) ( 1) j 0 0 0 jjj c.q.d. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 29 5. Algunas frmulas de derivacin numrica de tipo interpolatorio usuales

63

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

64

para aproximar primeras derivadas. 5.1. Frmula con dos puntos de soporte Si se considera el soporte {x0 , x1} y una funcin f(x) de la que se conoce su valor en los puntos del soporte, el polinomio interpolador de Lagrange de tal funcin sobre el soporte escogido est dado por: 10 01 0110 p(x) f(x ). (x x ) f(x ). (x x ) (x x ) (x x ) =+ Por tanto la expresin de la frmula que permite aproximar f(x*) se obtendr derivando la expresin de este polinomio de manera que: 'x *0101 01101010 f '(x*) f p'(x*) 1 .f(x ) 1 .f(x ) 1 .f(x ) 1 .f(x ) (x x ) (x x ) (x x ) (x x ) ==+=+ Es habitual en este caso denotar por H a la distancia entre puntos: H = (x1 x0) con lo que la frmula anterior puede expresarse como: ' x* 0 1 f(x*) f 1.f(x ) 1.f(x ) HH =+ siendo los coeficientes de la frmula c0 = -(1 / H) y c1 = (1 / H). NOTAS: 1) Obsrvese que la frmula obtenida coincide con el cociente incremental que nos sirvi para ilustrar las frmulas de derivacin numrica en la introduccin a este tema (apartado 1). 2) En la obtencin de esta frmula se ha partido de la expresin del polinomio interpolador que utiliza los polinomios de base de Lagrange. Cualquier otra expresin del polinomio interpolador nos hubiese conducido a idntico resultado pues el polinomio interpolador de Lagrange, sobre un soporte dado,

Clculo Numrico Lic. R. Riveros

Derivacin Numrica es el mismo se utilice el mtodo que se utilice para determinarlo. As por ejemplo si se hubiera partido de la frmula de Newton en diferencias divididas: p(x) = f(x0) + f[x0, x1].(x-x0) Programacin y Mtodos Numricos Derivacin Numrica 30 que al derivarlo, teniendo en cuenta la expresin de la diferencia dividida nos proporciona: p(x) = f[x0, x1].(x-x0) = 1 0 0 10 f(x ) f(x ) .(x x ) xx por lo que particularizando esta expresin en el punto x = x* y denotando por H a la distancia entre puntos se tiene finalmente que: ' x* 0 1 f(x*) f p'(x*) 1.f(x ) 1.f(x ) HH ==+ En este caso, al haber slo dos puntos de soporte, se puede considerar el soporte equidistante y podran haberse utilizado las expresiones del polinomio interpolador en diferencias finitas (centradas, regresivas o progresivas) obtenindose la misma frmula. Se deja el desarrollo detallado de estos casos como ejercicio propuesto al lector. 3) La figura 2 representada anteriormente (ver apartado 3) recoge la interpretacin grfica de este proceso de aproximacin. La expresin del error de esta frmula, admitiendo la hiptesis de que f(x) sea de clase C2 ((x0 , x1)) y que x* pertenezca a [x0, x*], puede obtenerse sin ms que denotar por h al valor h = mx(|x0 x*|, |x1 x*|) y considerando entonces que: x0 - x* = 0 .h x1 - x* = 1 .h por lo que: ' x* f = c0.f(x0) + c1.f(x1) = ( ) 1 0

65

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

66

1 . f(x ) f(x ) H =()10 1. f(x* .h) f(x* .h) H + + = 22 111 1. f(x*) .h.f '(x*)1. .h .f "(x * .h) H2 + + + = 22 000 f(x*) .h.f '(x*) 1. .h .f "(x * .h) 2 += = 1 0.h.f '(x*) H +2222 1100 1 .h .f "(x * .h) 1 .h .f "(x * .h) 2.H 2.H + += = 1 0 1. x x .h.f '(x*) Hh +2222 1100 1 .h .f "(x * .h) 1 .h .f "(x * .h) 2.H 2.H + += = f(x*) + ( ) 2 22 1100 h . .f"(x* .h) .f"(x* .h) 2.H + + Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 31 Puesto que H se podr expresar como .h con ( > 1) resultar finalmente, aplicando el lema 4.1., que: Rf(x*) = h .

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

67

2.(2 2 ) 1 1 0 0 .f "(x *+.h).f "(x *+.h) = .h.f "() En el caso de ser x* un punto cualquiera el orden del error de la frmula de derivacin numrica es 0(h) donde h representa la mayor de las distancias del punto x* a los extremos del intervalo. Ms frecuente an que la expresin del error anterior es la que se obtiene al expresar dicha frmula en funcin de la distancia entre los puntos del soporte (H). Fcilmente se obtiene esta nueva expresin sin ms que considerar que h = .H (con < < 1) por lo que la expresin del error queda en el caso ms general en la forma: Rf(x*) = .H.f() La frmula de derivacin con dos puntos de soporte suele utilizarse cuando x* es uno de los puntos extremos del intervalo o el punto medio del mismo (caso, este ltimo, en el que el orden del error de la frmula se incrementa en una unidad). A continuacin se desarrollan estos casos particulares de la frmula de derivacin con un soporte de dos puntos. 5.1.1. Casos particulares A) Caso en el que x* = x0 En este caso h = H, 0 = 0 y 1 = 1 y la frmula se puede escribir en la forma: ' x* f f(x * h) f(x*) h + = denominndose aproximacin mediante la diferencia finita progresiva de primer orden (o en adelanto). El error de esta frmula, si f(x) es suficientemente regular puede obtenerse particularizando en la expresin antes obtenida resultando: ' f x* R (x*) f(x*) f h.f "(x * .h) 2 = = + [0,1] Por tanto en este caso la frmula es exacta de orden 1. Programacin y Mtodos Numricos Derivacin Numrica 32 NOTA: Al mismo resultado sobre el error se llegara sin ms que considerar que: f(x*+h) = f(x*) + h.f(x*) + (h2/ 2).f(x*) + ..... de donde: f(x*) = ' x*

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

68

f(x * h) f(x*) 1.h.f "(x*) .... f 1.h.f "(x*) .... h22 + = B) Caso en el que x* = x1 En este caso h = H, 0 = 1 y 1 = 1 y la frmula se puede escribir en la forma: ' x* f f(x*) f(x * h) h = denominndose aproximacin mediante la diferencia finita regresiva de primer orden (o en retroceso o upwind). El error de esta frmula, si f(x) es suficientemente regular puede obtenerse particularizando en la expresin antes obtenida resultando: ' f x* R (x*) f(x*) f h.f "(x * .h) 2 = = [0,1] Por tanto, en este caso la frmula es exacta de orden 1. NOTA: Al mismo resultado sobre el error se llegara sin ms que considerar que: f(x*-h) = f(x*) - h.f(x*) + (h2/ 2).f(x*) - ..... de donde: f(x*) = ' x* f(x*) f(x * h) 1.h.f "(x*) .... f 1.h.f "(x*) .... h22 +=+ C) Caso en que x* es el punto medio del intervalo: x* = (x0 + x1) / 2 En este caso h = H/2, 0 = 1 y 1 = 1 pudindose rescribir la frmula de derivacin numrica en la forma: ' x* f f(x * h) f(x * h) 2.h + = Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 33 denominndose aproximacin mediante la diferencia finita centrada de primer orden. El error de esta frmula, si f(x) es suficientemente regular

Clculo Numrico Lic. R. Riveros

Derivacin Numrica puede obtenerse, en un primer intento, particularizando en la expresin antes obtenida resultando: '() f x* 1 0 R (x*) f(x*) f h . f "(x * .h) f "(x * .h) 4 = = + [ ] 0 1 , 0,1 No obstante la expresin anterior nos deja con la duda de si no podrn anularse ms trminos del desarrollo en serie de Taylor a partir del cual se obtuvo la expresin del error. En efecto, en este caso si se admite que f(x) es suficientemente regular se podran considerar los desarrollos en serie de Taylor de f(x) con ms trminos que los antes planteados, es decir: f(x0) = f(x*-h) = f(x*) h.f(x*) + ().h2f(x*) 34 h.f '''(x*) h.f(iv (x*) .... 6 24 + f(x1) = f(x*+h) = f(x*) + h.f(x*) + ().h2f(x*) + 34 h.f '''(x*) h.f(iv (x*) .... 6 24 ++ por lo que: f(x+h) f(x-h) = 2.h.f(x*) + 35 h.f '''(x*) h.f(v (x*) ... 3 60 ++ de donde: 24 ' (v x* f f(x * h) f(x * h) f '(x*) h .f '''(x*) h .f (x*) .... 2.h 6 120 + ==+++ y por tanto: Rf(x*) = f(x*) 24 ' (v x* f h.f '''(x*) h .f (x*) .... 6 120 = En resumen, si f(x) es de clase C3((x0, x1)) puede afirmarse en este caso que:

69

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

70

2 f R (x*) h .f '''(x* h) 6 = + [0,1] por lo que en este caso la frmula es exacta de orden 2. 5.2. Frmula con tres puntos de soporte Sea ahora el soporte de tres puntos x0 < x1 < x2 y consideremos un punto x* perteneciente al intervalo [x0, x2]. Sea adems f(x) una funcin de la que se conocen sus valores en los puntos del soporte. El polinomio interpolador de Lagrange de f(x) sobre este soporte puede expresarse, utilizando la frmula de Newton en diferencias divididas, mediante: Programacin y Mtodos Numricos Derivacin Numrica 34 p2(x) = f(x0) + f[x0, x1].(x - x0) + f[x0 , x1, x2].(x x0).(x x1) por lo que: p2(x) = f[x0, x1]+ f[x0 , x1, x2].((x x0) + (x x1)) lo que nos conduce a que la frmula de derivacin numrica de tipo interpolatorio con este soporte est dada por: f(x*) ' ' __________fx* =p2(x*) = f[x0, x1]+ f[x0 , x1, x2].((x* x0) + (x* x1)) NOTAS: 1) En este caso se ha utilizado la frmula de Newton del polinomio interpolador para inferir a partir de ella la frmula de derivacin de tipo interpolatorio. Puesto que, sobre un soporte dado, el polinomio interpolador de Lagrange es nico podran haberse utilizado otras expresiones de este polinomio para obtener el mismo resultado. No obstante es cmodo utilizar la frmula de Newton en el caso general para no obtener expresiones que, desarrolladas, quedan muy aparatosas sin aportar nada para nuestros propsitos. 2) En la expresin anterior pueden sustituirse las diferencias divididas que intervienen por sus expresiones respectivas8. Ello hace que la frmula tome un aspecto ms engorroso para su manipulacin. 3) En el sentido de lo expresado en la primera de estas notas el polinomio interpolador podra haberse expresado en la forma: p2(x) = f(x0).L0(x) + f(x1).L1(x) + f(x2).L2(x) con: 12 0 0102 L (x) (x x ).(x x )

Clculo Numrico Lic. R. Riveros

Derivacin Numrica (x x ).(x x ) = ,02 1 1012 (x x ).(x x ) L (x) (x x ).(x x ) = ,01 2 2021 (x x ).(x x ) L (x) (x x ).(x x ) = 8 Recurdese que: [ ] = 10 01 10 f(x)f(x) f x ,x xx ,[]21 12 21 f(x)f(x) f x ,x xx = y []1201 012 20 f [ x ,x ] f [ x ,x ] fx,x,x xx

71

Clculo Numrico Lic. R. Riveros

Derivacin Numrica = Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 35 para as obtener la misma frmula de derivacin numrica pero ahora con la expresin ''''' x* 2 0 0 1 1 2 2 f(x*) f p (x*) L (x*). = = f(x )+L (x*).f(x )+L (x*).f(x ) En esta ltima expresin los coeficientes de la frmula aparecen de forma ms explcita y toman la expresin: c0 ' 1 2 0 0102 L (x*) (x * x ) (x * x ) (x x ).(x x ) + == , c1 02 1 1012 (x * x ) (x * x ) L (x*) (x x ).(x x ) + == c2 0 1 2 2021 (x * x ) (x * x ) L (x*) (x x ).(x x ) + == 4) La interpretacin grfica del proceso de derivacin numrica seguido con esta frmula consiste en sustituir la tangente trigonomtrica del ngulo formado

72

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

73

entre el eje de abscisas y la tangente geomtrica al grafo de f(x) en el punto (x*, f(x*)) por la tangente trigonomtrica del ngulo formado entre el eje de abscisas y la tangente geomtrica en el punto (x*, p2(x*)) al grafo de la parbola p2(x) que pasa por los puntos (x0 , f(x0)), (x1 , f(x1)) y (x2 , f(x2)). La figura 3 ilustra este proceso. Figura 3: Interpretacin grfica del proceso de derivacin numrica seguido con una frmula de tipo interpolatorio con tres puntos de soporte. Programacin y Mtodos Numricos Derivacin Numrica 36 En lo que se refiere al error de truncatura de esta frmula, su expresin puede acotarse, si fC3((x0 , x1)), utilizando el teorema 4.2. mediante: 2 ''' Rf(x*) .h . f () Los casos de aplicacin ms tpicos para esta frmula de derivacin numrica son aquellos en los que el punto x* coincide con uno de los puntos del soporte siendo, adems, el soporte equidistante. A continuacin se analizan con detalle estas situaciones. 5.2.1. Casos particulares con soporte equidistante En este caso, denotando por H a la distancia entre puntos consecutivos del soporte las diferencias divididas que intervienen en la frmula pueden ser expresadas mediante: 10 01 f(x ) f(x ) f[x ,x ] H =210 0122 f(x ) 2.f(x ) f(x ) f[x ,x ,x ] 2.H + = por lo que la frmula de derivacin numrica de tipo interpolatorio se convierte en: ' 1 0 2 1 0* x* 2 0 1

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

74

f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x ).((x x ) (x * x )) H 2.H + =++ A) Caso de soporte equidistante en el que x* = x0 Si se toma como punto x* el extremo izquierdo del soporte se tiene que: x0 = x*, x1 = x* + H y x2 = x* + 2.H. Con ello (x* - x0) = 0 y (x* - x1) = -H por lo que: x0 x1 x2 HH Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 37 '10210 x* f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x ) H 2.H + == 2 1 0 f(x ) 4.f(x ) 3.f(x ) f(x * 2.H) 4.f(x * H) 3.f(x*) 2.H 2.H ++++ == La frmula anterior se conoce con el nombre de frmula de derivacin numrica en diferencias progresivas de segundo orden. Si se admite que f(x) es una funcin suficientemente mente regular, el error de derivacin puede obtenerse fcilmente combinando los desarrollos en serie de Taylor: f(x* + 2.H) = f(x*) + 2.H.f(x*) +2.H2.f(x*) + (8/6).H3.f(x*) + f(x* + H) = f(x*) + H.f(x*) + ( ) H2.f(x*) + (1/6).H3.f(x*) +... por lo que: -f(x*+2.H) + 4.f(x*+H) 3.f(x*) = 2.H.f(x*) (2/3).H3.f(x*) + . de donde: f(x*) f(x * 2.H) 4.f(x * H) 3.f(x*) 1.H2.f '''(x*) .... 2.H 3 +++ =++ pudindose concluir que si f(x) es al menos de clase C3((x0 , x1)) entonces: Rf(x*) = f(x*) fx* = (1/3).H2.f() B) Caso de soporte equidistante en el que x* = x1 Si se toma como punto x* el punto medio del soporte se tiene que: x0 = x* - H, x1 = x* y x2 = x* + H. Con ello (x* - x0) = H y (x* - x1) = 0 por lo que: '1021020 x*

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

75

f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x ) f(x ) f(x ) H 2.H 2.H + =+== f(x * H) f(x * H) 2.H + = Programacin y Mtodos Numricos Derivacin Numrica 38 frmula que coincide con la que se obtuvo al utilizar un soporte de 2 puntos y aproximar la derivada en el punto medio de ellos. C) Caso de soporte equidistante en el que x* = x2 Si se toma como punto x* el punto derecho del soporte se tiene que: x0 = x* - 2.H, x1 = x*- H y x2 = x*. Con ello (x*-x0) = 2.H y (x*-x1) = H por lo que: '10210 x* 2 f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x ).(3.H) H 2.H + =+= 2 1 0 3.f(x ) 4.f(x ) f(x ) 3.f(x*) 4.f(x * H) f(x * 2.H) 2.H 2.H ++ == expresin que se conoce como frmula de derivacin numrica en derivadas regresivas de segundo orden. Si f(x) es suficientemente regular pueden combinarse los desarrollos en serie de Taylor: f(x* - 2.H) = f(x*) - 2.H.f(x*) +2.H2.f(x*) - (8/6).H3.f(x*) + f(x* - H) = f(x*) - H.f(x*) + ( ) H2.f(x*) - (1/6).H3.f(x*) +... obteniendo: 3.f(x*) 4.f(x*-H) + f(x*-2.H) = 2.H.f(x*) (2/3).H3.f(x*) - .... de donde, si f(x) es al menos de clase C3((x0, x2) se obtiene que: Rf(x*) = f(x*) fx* = (1/3).H2.f() Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 39 6. Otros mtodos para la obtencin de frmulas de derivacin numrica de tipo interpolatorio. 6.1. Mediante la combinacin de desarrollos en serie de Taylor. El proceso seguido en el apartado 4 para determinar el error de derivacin numrica muestra otra manera de calcular las frmulas de derivacin. En

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

76

efecto, una alternativa al proceso de obtencin de frmulas de derivacin numrica mediante el clculo de la primera derivada del polinomio interpolador de Lagrange de la funcin f(x) en los (n+1) puntos del soporte, consiste en combinar los desarrollos de Taylor en torno al punto x* de f(x0), f(x1), ..., f(xn) buscando que en dicha combinacin se anulen el mayor nmero posible de los primeros trminos salvo, obviamente, el que multiplica a f(x*). Despejando despus f(x*) de esta combinacin se obtendr la frmula de derivacin y el trmino de error. De forma ms detallada, si se denota por hi = xi x* (i = 0, .., n) y se admite que f(x) posee la regularidad necesaria, se puede escribir que: f(xi) = f(x*+hi) = f(x*) + hif(x*) + + + + + 23k i i i (k hf "(x*) hf '''(x*) .... h f (x*) .... 2! 3! k! Por lo que: ==== = + + + nnnn 2 iiiiiii i0i0i0i0 f(x ) f(x*) h f '(x*) 1 h f "(x*) 2! == +++ nn 3 k(k iiii i0i0 1 h f '''(x*) ....1 h f (x*) ... 3! k! (1) Si se desea que la frmula de derivacin sea del mayor orden posible debe buscarse que, salvo el coeficiente de f(x*), se anulen el mayor nmero de los primeros sumandos del desarrollo anterior. Esto es, que: = = n

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

77

i i0 0 = = n 2 ii i0 h 0 ......... = = n k ii i0 h 0 En general el nmero de ecuaciones que as se pueden formar es de n ecuaciones quedando un sistema con (n+1) incgnitas (0, ..., n) y tan slo n ecuaciones. Ello es debido a que con el coeficiente de f(x*) se debe aadir la inecuacin = n ii i0 h 0 . Programacin y Mtodos Numricos Derivacin Numrica 40 Por ello los coeficientes (0, ..., n) que se determinen mediante la resolucin del sistema: = = n i i0 0 = = n 2 ii i0 h 0 ........ = = n n ii

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

78

i0 h 0 quedarn en funcin del valor que libremente se le asigne a uno de ellos. En todo caso, una vez calculados estos coeficientes, denotando por = = n ii i0 h se tendr que los coeficientes de la frmula de derivacin se obtienen mediante: ci = i / (i = 0, ..., n) y que del primer trmino que no se haya podido anular en la expresin (1) se podr inferir fcilmente la expresin del error de derivacin. Ilustremos estos extremos con un ejemplo. Ejemplo: Determinemos la frmula de derivacin numrica del mayor orden de exactitud posible que permite calcular el valor aproximado de f(x*) usando un soporte de la forma: {x0 = x* - 2h, x1 = x* - ()h, x2 = x* + ()h, x3 = x* + (3/2)h} donde h es un valor real estrictamente positivo. Para ello, si suponemos que f(x) es suficientemente regular en (x0, x3) podemos considerar los desarrollos en serie de Taylor: f(x*-2h) =f(x*) 2hf(x*) + + 4h2f "(x*) 8h3f '''(x*) 26 4 16h f(iv (x*) 24 + 5 32h f(v (x*) ... 120 f(x*-()h) =f(x*) 1 2 hf(x*) + + h2f "(x*) h3f '''(x*) 8 48 4 h f(iv (x*) 384 + 5

Clculo Numrico Lic. R. Riveros

Derivacin Numrica h f(v (x*) ... 3840 Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 41 f(x*+()h) =f(x*) + 1 2 hf(x*) + + + h2f "(x*) h3f '''(x*) 8 48 + 4 h f(iv (x*) 384 ++ 5 h f(v (x*) ... 3840 f(x*+ 3 2 h) =f(x*) + 3 2 hf(x*) + + + 9h2f "(x*) 27h3f '''(x*) 8 48 + 4 91h f(iv (x*) 384 ++ 5 273h f(v (x*) ... 3840 de donde: + + + + + = 0 1 2 3 f(x * 2h) f(x * 1h) f(x * 1h) f(x * 3h) 222 =( + + + ) + 0 1 2 3f(x*) + + + + 0123 2 1 1 3 hf '(x*) 222 + + + + + 2 0123

79

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

80

2 1 1 9 h f "(x*) 888 + + + + 3 0123 8. 1 1 27 h f '''(x*) 6 48 48 48 + + + + + 4 (iv 0123 16. 1 1 91 hf(x*) 24 384 384 384 + + + + 5 (v 0123 32 . 1 1 273 h f (x*) .... 120 3840 3840 3840 Si se desea que la frmula tenga el mayor orden posible se obligar a que: +++=01230 0123 2 1 1 9 0 888 +++= 0123 8. 1 1 27 0 6 48 48 48 ++= Programacin y Mtodos Numricos Derivacin Numrica 42 de donde9, dejando como incgnita libre 1, se tiene: 012131 8 , 66 , 3 455 65 91 === Si se asigna a 1 el valor 1 = 1 se tiene que: 0123 8, 1, 66 , 3 455 65 91 ==== Para estos valores de los coeficientes i, se tiene entonces que la combinacin de desarrollo en serie de Taylor antes obtenida se convierte en:

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

81

8f(x * 2h) f(x *1h) 66f(x * 1h) 3 f(x * 3h) 455 2 65 2 91 2 ++++= = 12hf '(x*) 1 h4f(iv(x*) + .... 13 208 por lo que: f(x*) = ( ) ( h) ( h) ( 3h ) 222 1 2 f x * 2h 13f x * 11f x * 1 f x * h 105 12 10 28 + + + 1 h3f(iv(x*)+..... 192 De esta igualdad se infiere que la frmula buscada es: ( ) ( h) ( h) ( 3h ) *222 f '(x*) f ' 1 2 f x * 2h 13f x * 11f x * 1f x * h 105 12 10 28 = + + + y que con ella, si fC4((x*-2h, x*+3h/2)), se comete un error dado por: = 3 (iv f R (x*) 1 h f ( ) 192 para algn valor (x*-2h, x*+3h/2). Es decir un error de orden 3. 9 Obsrvese que si al sistema anterior se le aadiese la ecuacin procedente de obligar a que se anulase el coeficiente de f(x*) se tendra un sistema que slo admite la solucin trivial 0 = = 1 = 2 = 3 = 0. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 43 6.2. Modo de coeficientes indeterminados. Este mtodo de determinacin de frmulas de derivacin de tipo interpolatorio soportadas en (n+1) puntos se basa en que, segn el teorema 3.1. toda frmula de tal tipo debe ser exacta para los monomios {1, x, ..., xn}. Por tanto, si se busca una frmula con expresin: = =n *ii

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

82

i0 f '(x*) f ' c f(x ) , su aplicacin a cada uno de los (n+1) monomios xk (0 < k < n) nos conduce a que: = = n i i0 c0 () = = n k (k 1) ii i0 c x k x * (k = 1, ..., n) es decir al sistema: () = 0 012n1 2222 012n2 n n n n (n 1) 012nn 1 1 1 ... 1 c 0 x x x ... x c 1 x x x ... x c 2x * ... ... ... ... ... ... ... x x x ... x c n x* Si los (n+1) puntos del soporte son diferentes puede asegurarse que el sistema anterior es compatible determinado. Su resolucin proporciona los pesos de la frmula de derivacin buscada. Siendo h un valor estrictamente positivo en funcin del cual se puedan escribir, para valores convenientes de i (i = 0, ...,n), los puntos del soporte en la forma xi = x* + ih, el sistema anterior puede simplificarse si en lugar de aplicar la frmula a los monomios {1, x, ..., xn} se aplica a los polinomios: { 1, (x-x*), (x-x*)2, ...., (x-x*)n} En efecto, la aplicacin de la frmula a f(x) = 1 conduce a que: =

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

83

= n i i0 c0 Si n > 0, su aplicacin a f(x) = (x x*) proporciona la ecuacin: == = = n n iiii i0i0 ch1c1 h Programacin y Mtodos Numricos Derivacin Numrica 44 Y si n > 1 , para valores del exponente menores o iguales que n se tiene que: () == = = n n (k 1) k k k iiii i0i0 k x* x* c h c 0 En resumen, los coeficientes de la frmula de tipo interpolatorio se obtienen resolviendo el sistema: = 0 1 012n1h 2222 012n2 nnnn 012nn 1 1 1 ... 1 c 0 ... c ... c 0 ... ... ... ... ... ... ... ... c 0 Una vez determinada la frmula, su error puede tambin ser calculado si se busca en la forma Rf(x*) = Kh(m-1)f(m() aplicndolo al primer binomio (xx*)m (cuya derivada m-sima es una constante no nula) para el que la frmula deja de ser exacta (hecho que tendr lugar para m > n).

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

84

Ilustremos esta forma de proceder obteniendo nuevamente la frmula de derivacin numrica hallada en el subapartado anterior mediante combinaciones de desarrollos en serie de Taylor. Ejemplo: Determinemos la frmula de derivacin numrica de tipo interpolatorio que permite calcular el valor aproximado de f(x*) usando un soporte de la forma: {x0 = x* - 2h, x1 = x* - ()h, x2 = x* + ()h, x3 = x* + (3/2)h} donde h es un valor real estrictamente positivo. Segn se ha visto anteriormente, los coeficientes de la frmula se pueden obtener resolviendo el sistema: = 0 1131 2221h 119 4442 1 1 27 8883 1111c0 2c 4c0 8c0 o, eliminando denominadores, el sistema equivalente: Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 45 = 0 2 1h 2 3 1111c0 4113c 16 1 1 9 c 0 64 1 1 27 c 0 La solucin del sistema anterior nos proporciona los valores: ====0124

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

85

c 2,c 13,c 11,c 1 105h 12h 10h 28h Para determinar el error de la frmula consideraremos la funcin f(x) = (xx*)4. La primera derivada de dicha funcin en x* es: f(x*) = 4.(x*-x*)3 = 0 siendo el valor aproximado dado por la frmula: ( ) ( ) = + = '41414343 *222 f 1 2 (2h) 13( h) 11 h 1 h 1h h 105 12 10 28 8 por lo que = = = 4 3 '3 (x x*) * R (x*) f '(x*) f 0 h 1h 88 . Si se busca el error en la forma: = 3 (iv f R (x*) Kh f (x*) para la funcin considerada (cuya cuarta derivada es: f(iv(x*) = 24) se tiene que: K = -1/192 En resumen la frmula buscada es: = + ( + ) ( + ) '113 *222 f 1 2 f(x * 2h) 13 f(x * h) 11f x * h 1 f x * h h 105 12 10 28 y el error de derivacin numrica est dado por: = 3 (iv f R (x*) 1 h f ( ) 192 Programacin y Mtodos Numricos Derivacin Numrica 46 Ejercicio propuesto: a) Siendo h un parmetro estrictamente positivo, determinar la frmula de derivacin numrica que permite aproximar el valor de f(x*) sobre el soporte: x0 = x* +h, x1 = x* + 2h y x2 = x* + (5 ) 2 h. Suponiendo que f(x) es suficientemente regular en el intervalo [x*, x2], determnese tambin la

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

86

expresin de su error e indquese la regularidad que se le debe exigir a f(x) para que dicha expresin sea vlida. Obtngase la frmula pedida y su error: i) Derivando el correspondiente polinomio interpolador de Lagrange, ii) Combinando desarrollos en serie de Taylor, y iii) Mediante el mtodo de coeficientes indeterminados. b) Aplquese la frmula obtenida en el apartado anterior a la obtencin de un valor aproximado de la primera derivada de la funcin f(x) = ecos(x) con los siguientes valores de h: h0 = 0.1, h1 = 0.01, h2 = 0.001, h3 = 0.0001 y h4 = 0.00001. Realcense los clculos en coma flotante usando mantisas con 5 decimales significativos. c) Obtngase una cota del error de derivacin numrica vlida en el intervalo [x*, x2] para la funcin considerada en el apartado anterior. El error realmente cometido es en todos los casos inferior a la cota hallada? Si no lo fuese justifquese el motivo. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 47 7. F mulas de derivaci num ica de tipo interpolatorio para la aproximaci de derivadas de orden superior. Los mtodos de obtencin de frmulas numricas para aproximar primeras derivadas pueden extenderse fcilmente para deducir frmulas de derivacin numrica que permitan aproximar derivadas de orden superior al primero. Destinaremos este apartado a describir este proceso con detalle. Sea f(x) una funcin k veces derivable en un cierto intervalo I de la recta real y sea x* un punto de dicho intervalo. Consideremos adems un soporte de (n+1) puntos {x0, x1, ..., xn} del intervalo I en el que se suponen conocidos los valores de la funcin f(x). Por simplicidad supondremos que los puntos del soporte son todos ellos distintos y estn ordenados de menor a mayor es decir que: x0 < x1 < ... < xn. Definici 7.1. Siendo f(x) una funcin de la que se conocen sus valores en el soporte de (n+1) puntos {x0 , x1, ...., xn} del intervalo I, se denomina frmula de derivacin numrica para aproximar el valor de la k-sima derivada f(k(x) en el punto x* sobre el soporte de puntos considerado, a toda expresin de la forma: f(k(x*) (k * f = c0.f(x0) + c1.f(x1)+ . + cn.f(xn) = n

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

87

ii i0 c .f(x ) = donde c0, c1, , cn son (n+1) escalares denominados coeficientes (o pesos) de la frmula de derivacin. NOTA: La frmula de derivacin que se acaba de definir puede decirse que es una frmula lagrangiana pues en ella slo intervienen valores de la funcin f en los puntos del soporte. Podran considerarse frmulas ms generales, hermitianas, en las que el valor de f(k(x*) fuese aproximado a partir del valor de la funcin f y de algunas de sus derivadas en los puntos del soporte. No obstante, estas ltimas frmulas tienen un uso mucho ms espordico que las de tipo lagrangiano y es por ello que nos limitaremos a considerar como frmulas de derivacin numrica tan slo a las que hacen intervenir los valores de la funcin en los puntos del soporte. Programacin y Mtodos Numricos Derivacin Numrica 48 En general el valor aproximado (k * f y el valor exacto f(k(x*) diferirn, cometindose un error en la aproximacin de f(k (x*). Es por ello que junto a la definicin anterior conviene precisar la definicin del error que con la frmula se comete. En este sentido se introduce la siguiente definicin: Definici 7.2. Siendo (k * f la aproximacin de f(k(x*) que se obtiene operando sin error de redondeo segn la frmula de derivacin numrica: f(k(x*) (k *f= n ii i0 c .f(x ) = se denomina error de truncamiento de la frmula en el punto x* al valor Rf(x*) = f (k(x*) - (k *f Obviamente se verificar que: (k (k f (x*)= f* +Rf(x*) por lo que considerando la frmula en cuestin aplicada a todos los puntos x de un dominio dado puede definirse la funcin error de truncamiento de la frmula derivacin

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

88

numrica para la funcin f considerada como la funcin: Rf : I R x Rf(x) En el anlisis del error de truncamiento de las frmulas de derivacin numrica se perseguir encontrar cotas del valor de esta funcin de error Rf(x) en el intervalo I sobre el que se trabaje. Ejemplo: Siendo {x0 , x1 , x2 } un soporte formado por tres puntos tales que x0 = x1 hy x2 = x1 + h, considerando que x* = x1, la sustitucin de la expresin de f(x1) por: []+ "==210 110122 f "(x ) f 2f x ,x ,x f(x ) 2f(x ) f(x ) h conduce a una frmula en la que sus coeficientes son c0 = (1/h2) , c1 = (2/h2) y c2 = (1/h2). Una forma de acotar el error de truncamiento de esta frmula, si se supone que f(x) es al menos de clase C3([x0, x1]) consiste en considerar los desarrollos en serie de Taylor siguientes: Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 49 f(x0) = f(x*-h) = f(x*) - h.f(x*) + + 234 ( iv 0 h.f "( x*) h.f "'( x*) h .f ( x * .h) 2 3! 4 ! + + 0 (1,0) f(x2) = f(x*+h) = f(x*) + h.f x*) + + 234 ( iv 1 h.f "(x*) h.f '''( x*) h .f ( x * .h) 2 3! 4! + + + 1 (0,1) de donde: 4 2 (iv ( iv

Clculo Numrico Lic. R. Riveros

Derivacin Numrica 2001 f ( x ) f ( x ) 2f ( x*) h f "( x*) h (f ( x * h) f ( x* h)) 24 + = + + + + + ()2 ( iv ( iv *201 f " f ( x* h) 2f ( x*) f ( x * h) f "( x*) h f ( x * h) f (x* h) h 24 ++ ==++++ Por tanto: ()2 ( iv ( iv f00001 R (x ) f "( x ) f " h f (x* h) f ( x * h) 24 = = + + + expresin que puede acotarse por: {} 01 2 ( iv f000 x (x ,x ) R ( x ) f "( x ) f " h . Sup f ( x ) 12 = Para el caso particular de la funcin f(x) = x4 en que f(x*) = 12(x*)2 se tiene que: +++ == 444 *2 f " (x * h) 2(x*) (x * h) h 12(x*)2+ 2h2 por lo que el error de truncatura cometido es en este caso Rf(x0) = -2h2. Obsrvese que la acotacin antes realizada conducira (para esta funcin x4) a la acotacin |Rf(x0)| 2h2 coincidente con el valor absoluto del error de truncatura realmente cometido10. 10 No siempre las acotaciones del error de truncatura que se obtendrn sern tan finas como la que se acaba de describir.

89

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

90

Programacin y Mtodos Numricos Derivacin Numrica 50 Definici 7.3. Se dice que la frmula de derivacin numrica: = =n (k (k *ii i0 f (x*) f c.f(x) es exacta de orden m para la familia de funciones de clase Ck([x0 , xn]): { } 0 1 m (x), (x),..., (x),.... cuando es nulo el error de truncatura cometido al aplicar la frmula para la estimacin de la k-sima derivada de cualquiera de las (m+1) primeras funciones de la familia en cualquier punto x* perteneciente al intervalo [x0 , xn]: j 0 n R ( x ) 0 x [ x ,x ], ( j 0,...,m) = = Propiedad 7.1. Si la frmula de derivacin numrica = =n (k (k *ii i0 f (x*) f c.f(x) es exacta de orden m para la familia de funciones { } 0 1 m (x), (x),..., (x),.... entonces es exacta para cualquier combinacin lineal de las (m+1) primeras funciones de la familia Demostraci : Si la frmula es exacta de orden m para la familia de funciones consideradas se podr escribir que: [] = = n (k jiji0n i0 (x*) c . (x ) x* x ,x (j = 0, ..., m) Por otra parte, una funcin cualquiera que sea combinacin lineal de las (m+1) primeras funciones de la familia ser de la forma: = = + + + = m 0011mmjj j0 f(x) (x) (x) ..... (x) (x)

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

91

por lo que su k-sima derivada en cualquier punto x* del intervalo [x0, xn]se puede expresar como: ====== = = = = mmnnmn (k (k jjjijiijjiii j0j0i0i0j0i0 f (x*) (x*) c (x ) c (x ) c f(x ) Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 51 y puesto que la aplicacin de la frmula de derivacin numrica a la funcin f(x) en cualquier punto x* conduce a que: = =n (k xii i0 f c.f(x) puede concluirse que: Rf(x)=0 x[x0,xn ] Esto demuestra que la frmula es exacta para cualquier funcin f(x) que sea combinacin lineal de las (m+1) primeras funciones de la familia de funciones considerada. c.q.d. Las frmulas de derivacin numrica ms utilizadas en la prctica son exactas, de algn orden m, para la familia de funciones formada por los monomios, es decir: {1, x, x2, ...,xm, ....}. En este tema nos referiremos en exclusiva a esta familia de funciones y por ello cuando digamos que una frmula es de orden de exactitud m se sobreentender que es de orden de exactitud m para la familia de los monomios, es decir que permite estimar sin error alguno la k-sima derivada de cualquier funcin polinmica de grado menor o igual que m. Ejemplo: La frmula que se ha utilizado en el ejemplo anterior " *2

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

92

f "(x*) f f ( x* h) 2f ( x*) f ( x* h) h ++ = es una frmula exacta de orden 3. En efecto, para la funcin p(x) = 1 se verifica que: *2 p " 1 21 1 0 p"( x*) x * h + === Asimismo para la funcin p(x) = x se tiene que: *2 p " ( x * h) 2(x*) (x* h) 0 p"( x*) x * h ++ === Tambin para la la funcin p(x) = x2 se tiene que: 222 *2 p " ( x * h) 2(x*) (x* h) 2 p"( x*) x * h ++ === Programacin y Mtodos Numricos Derivacin Numrica 52 Y para la funcin p(x) = x3 se verifica que: 333 x2 p " ( x * h) 2(x*) (x* h) 6x* p"( x ) x* h ++ === Pero para la funcin q(x) = x4 se tiene que: 444 222 x2 q " ( x * h) 2(x*) (x* h) 12( x*) 2h q"( x*) 2h x* h ++ ==+=+ por lo que slo se puede afirmar que el error de la frmula es nulo para los monomios {1, x, x2, x3}. En consecuencia, como se seal anteriormente, la frmula es de orden de exactitud 3.

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

93

Entre las frmulas de derivacin numrica para aproximar las derivadas de orden k de una funcin f(x), las ms frecuentemente utilizadas son aquellas que se pueden obtener derivando k veces el polinomio interpolador de la funcin f(x). A tales frmulas se las denomina frmulas de tipo interpolatorio. Definici 7.4. Se denomina frmula de derivacin numrica de tipo interpolatorio (de Lagrange) para aproximar derivadas de orden k a cualquier frmula obtenida derivando una vez la expresin del polinomio interpolador de Lagrange construido sobre un soporte de (n+1) puntos distintos. NOTAS: 1) Obsrvese que en la definicin anterior se ha escrito entre parntesis de Lagrange. En efecto podra pensarse en derivar tambin la expresin del polinomio interpolador de Hermite obtenindose otros tipos de frmulas de derivacin de tipo interpolatorio. Puesto que nosotros slo nos vamos a referir a las frmulas que se obtienen al derivar la expresin del polinomio interpolador de Lagrange omitiremos en lo sucesivo la coletilla de Lagrange y simplemente diremos frmula de derivacin numrica de tipo interpolatorio. 2) Si el orden de derivacin k fuese superior o igual al nmero de puntos (n+1) las frmulas de tipo interpolatorio correspondientes se reduciran a f(k(x*) = 0, pues la derivada de orden k de un polinomio de grado menor o igual que n, si n es inferior a k, es nula. Por dicho motivo, en todo cuanto sigue, se supondr que n > k. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 53 Una frmula de derivacin numrica de tipo interpolatorio puede obtenerse a partir de cualquiera de las expresiones del polinomio interpolador. Recordando la expresin del polinomio interpolador en funcin de los polinomios de base de Lagrange puede deducirse la expresin de los pesos que intervienen en dicha frmula. En efecto: Teorema 7.1. Una condicin necesaria y suficiente para que la frmula de derivacin

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

94

numrica = =n (k x* i i i0 f c.f(x) sea de tipo interpolatorio es que sus coeficientes satisfagan las igualdades: (k ci=Li (x*) (i = 0, 1, ..., n) donde se ha denotado por Li(x) a los (n+1) polinomios de base de Lagrange11 sobre el soporte {x0, x1, ..., xn}. Demostraci : a) Demostremos que en toda frmula de tipo interpolatorio sus coeficientes satisfacen las igualdades recogiodas en el enunciado. En efecto, la expresin detallada del polinomio interpolador de Lagrange pn(x) de una funcin f(x) sobre el soporte de (n+1) puntos {x0, x1, ..., xn} en funcin de los (n+1) polinomios de base de Lagrange { }n i i 0 L (x) = es: n nii i0 f(x) p (x) f(x ) L (x) = = de donde, en cualquier punto x* se puede considerar la aproximacin: = = n (k (k (k nii i0 f (x*) p (x*) L (x*) f(x ) Esta frmula es una frmula de derivacin numrica en la que sus coeficientes estn dados por la expresin: = (k i i c L (x*) 11 Recurdese que: nn ijij j0j0 jiji L (x) (x x ) (x x ) ==

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

95

= (i = 0, 1, ..., n) Programacin y Mtodos Numricos Derivacin Numrica 54 b) Demostremos que si la frmula de derivacin numrica satisface = (k i i c L (x*) (i = 0, ..., n) entonces es de tipo interpolatorio. En efecto, considerando que el polinomio interpolador de Lagrange de f(x) sobre el soporte {x0, ..., xn} se puede expresar como: pn(x) = = n ii i0 f(x )L (x) se tiene que si se verifican las igualdades consideradas para los coeficientes: f(x*) ( ) ( ) ==== = = = = n n n n (k (k (k (k iiiiiiiin i0i0i0i0 c f(x ) L (x*)f(x ) L (x*)f(x ) L (x*)f(x ) p (x*) lo que demuestra que el valor de la k-sima derivada en x* se aproxima con el valor de la k-sima derivada del polinomio interpolador en x*. c.q.d. De la propiedad anterior se deduce fcilmente la siguiente: Propiedad 7.2. En toda frmula de derivacin numrica de tipo interpolatorio = =n (k x* i i i0 f c.f(x) se verifica que: n i i1 c0

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

96

= = Demostraci : Puesto que segn las propiedades de los polinomios de base de Lagrange se verifica que: n i i0 L (x) 1 = = x , es obvio que: == == n (k n (k ii i0i0 L (x) L (x) 0 x En particular para el punto x* se tendr que: == = = n n (k ii i0i0 L (x*) c 0 c.q.d. Denotando por (x) a la funcin error de interpolacin cometido al aproximar una funcin f(x) por su polinomio interpolador de Lagrange pn(x) sobre el soporte de (n+1) puntos considerado, se verifica que: Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 55 f(x) = pn(x) + (x) 0 n x(x ,x ) por lo que: (k = (k +(k n f (x*) p (x*) (x*) lo que nos conduce a poder expresar el error en el punto x* de la frmula de derivacin numrica mediante: = (k f R (x*) (x*) En el caso particular en que f(x) sea un polinomio de grado menor o igual que n

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

97

se verificar que f(x) pn(x) y por tanto (x) = 0 x , de donde resulta que la frmula de derivacin numrica de tipo interpolatorio construida sobre un soporte de (n+1) puntos es exacta para cualquier polinomio de grado menor o igual que n. En resumen es exacta, al menos, de orden n. Este hecho nos permite incluir a las frmulas de derivacin numricas de tipo interpolatorio en el conjunto de frmulas de derivacin exactas de orden n. Pero an puede precisarse ms, puesto que adems toda frmula exacta de orden n construida sobre un soporte de (n+1) puntos debe ser necesariamente de tipo interpolatorio. Este hecho se demuestra en el siguiente teorema. Teorema 7.2. La condicin necesaria y suficiente para que una frmula de derivacin numrica construida sobre un soporte de (n+1) puntos, = =n (k x* i i i0 f c.f(x), sea exacta de orden n es que sea de tipo interpolatorio. Demostraci: a) Demostremos en primer lugar que la condicin recogida en el enunciado del teorema es suficiente, es decir que si la frmula construida sobre el soporte de (n+1) puntos es de tipo interpolatorio entonces es exacta de orden n. Para ello basta con recapitular los razonamientos anteriormente realizados. En efecto, si f(x) es una funcin polinmica de grado menor o igual que n su polinomio interpolador de Lagrange sobre el soporte de (n+1) puntos coincide con la funcin y por tanto: f(x) = pn(x) x Programacin y Mtodos Numricos Derivacin Numrica 56 por lo que f(k(x) = (k pn (x) x. En particular, al ser la frmula de derivacin de tipo interpolatorio, para cualquier punto x* se tendr que: (k = (k (k n x* f (x*) p (x*) f Ello demuestra que la frmula es exacta sea cual sea el polinomio f(x) de grado menor o igual que n al que se aplique. En particular lo ser cuando se aplique los (n+1) primeros monomios {1, x, ..., xn} y por ello es exacta de grado n. b) Demostremos ahora que la condicin anterior tambin es necesaria, es decir que si la frmula construida sobre el soporte de (n+1) puntos es exacta de orden n entonces tiene que ser de tipo interpolatorio. Para ello partimos del hecho de que, al ser la frmula exacta de orden n, para

Clculo Numrico Lic. R. Riveros

Derivacin Numrica cualquier funcin polinmica de grado menor o igual que n, p(x), se debe verificar que: = =n (k ii i0 p (x*) c.p(x) Por otra parte, puesto que hemos considerado que p(x) es un polinomio de grado menor o igual que n, se verificar que el polinomio interpolador de p(x) en el soporte de (n+1) puntos coincidir con p(x) y por tanto p(x) se puede expresar como: n ii i0 p(x) p(x ).L (x) = = de donde su k-sima derivada en el punto x* estar dada por: = =n (k (k ii i0 p (x*) L (x*).p(x ) Identificando las dos expresiones de la primera derivada de p(x) en x* se tiene que: == = n n (k iiii i0i0 c .p(x ) L (x*).p(x ) Esta igualdad debe ser satisfecha para cualquier polinomio p(x) que sea de grado menor o igual que n. Por tanto deber verificarse tambin en el caso de que consideremos como p(x) cualquiera de los (n+1) polinomios Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 57 de base de Lagrange construidos sobre el soporte { }n i i 0 x = . Recordemos adems que los polinomios de base de Lagrange verifican: ij 0 si i j L (x ) 1 si i=j

98

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

99

= Por tanto, particularizando la igualdad antes obtenida para L0(x) se tiene que: == = = n n (k (k i0ii0i00 i0i0 c.L (x ) L (x*).L (x ) c L (x*) Al hacerlo para el polinomio L1(x) resultar que: == = = n n (k (k i1ii1i11 i0i0 c .L (x ) L (x*).L (x ) c L (x*) Y en general al particularizar para cualquier polinomio de base Lj(x) obtendremos que: == = = n n (k (k ijiijijj i0i0 c .L (x ) L (x*).L (x ) c L (x*) c.q.d. Ejemplos: 1. Sobre un soporte de tres puntos {x0, x1, x2} el polinomio interpolador de Lagrange de una funcin f(x) puede expresarse como: = + [ ] + [ ] 2 0 0 1 0 0 1 2 0 1 p (x) f(x ) f x ,x (x x ) f x ,x ,x (x x )(x x) por lo que la frmula de derivacin numrica que aproxima derivadas segundas sobre este soporte es: = = [ ] x* 2 0 1 2 f "(x*) f " p" (x) 2f x ,x ,x 2. Sobre un soporte de cuatro puntos {x0, x1, x2, x3} el polinomio interpolador de Lagrange de una funcin f(x) puede expresarse como: p x =f x +f[x x ] xx +f[x x x ] xx xx + 3 0 0 1 0 0 1 2 0 1 ( ) ( ) , ( ) , , ( )( ) +f[x x x x ] xx xx xx 0 1 2 3 0 1 2 , , , ( )( )( ) Programacin y Mtodos Numricos Derivacin Numrica 58 por lo que la frmula que aproxima f(x) es: '' [ ]

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

100

x* 3 0 1 2 f "(x*)f = p" (x*)=2f x ,x ,x + f[x x x x ] x x x x 0 1 2 3 0 1 2 2 , , , (3 * ) y para la aproximacin de la tercera derivada: ''' [ ] x* 3 0 1 2 3 f '''(x*)f = p''' (x*)=6f x ,x ,x ,x Propiedad 7.3 En toda frmula de derivacin numrica de tipo interpolatorio = =n (k x* i i i0 f c.f(x), construida sobre un soporte de (n+1) puntos con n > k, se verifica que: n j ii(jk) i1 0 si j k c x j ! ( x*) si k j n ( j k)! = < = (j = 1, ...n) Demostracin: La demostracin de esta propiedad se deja como ejercicio propuesto al lector y consiste simplemente en comparar el valor (exacto) proporcionado por la frmula de derivacin al ser aplicada a la funcin f(x) = xj (j = 0, ..., n) con el valor de f(k(x*) . c.q.d. En cuanto al error de las frmulas de derivacin que permiten aproximar derivadas de orden mayor que 1 puede realizarse un anlisis similar al descrito anteriormente para las frmulas que aproximaban la primera derivada. Dejamos al lector interesado la tarea de adaptar las propiedades y teoremas desarrollados en el apartado 4 a este tipo de frmulas. Nosotros nos centraremos en la descripcin del proceso que permite obtener frmulas de derivacin de tipo interpolatorio, junto a la expresin de su error, combinando desarrollos en serie de Taylor para funciones que tengan la suficiente regularidad.

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

101

Para ello siendo n > k consideremos el soporte de (n+1) puntos {x0 < x1 <... < xn} y siendo x* el punto en el que se desea aproximar f(k(x) denotemos por hi al Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 59 valor: hi = hi = xi x* (i = 0, .., n). Suponiendo que f(x) es sufiecientemente regular pueden considerarse los desarrollos en serie de Taylor: f(xi) = f(x*+hi) = f(x*) + hif(x*) + + + + + 23k i i i (k hf "(x*) hf '''(x*) .... h f (x*) .... 2! 3! k! Por lo que: ==== = + + + nnnn 2 iiiiiii i0i0i0i0 f(x ) f(x*) h f '(x*) 1 h f "(x*) 2! == ++ + nn 3 k(k iiii i0i0 1 h f '''(x*) ....1 h f (x*) ... 3! k! (1) Si se desea que la frmula de derivacin sea del mayor orden posible debe buscarse que, salvo el coeficiente de f(k(x*), se anulen el mayor nmero de los primeros sumandos del desarrollo anterior. Esto es, que: = = n j ii i0 h 0 (j = 0, 1,...,(k-1), (k+1), ...n) En general el nmero de ecuaciones que as se pueden formar es de n

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

102

ecuaciones, obtenindose un sistema con (n+1) incgnitas ( ..., n) y tan 0, slo n ecuaciones. Ello es debido a que con el coeficiente de f(k(x*) se debe aadir la inecuacin = n k ii i0 h 0 . Por ello los coeficientes ( ..., n) que se determinen mediante la 0, del sistema: = = n i i0 0 = = n ii i0 h 0 ........ = = n (k 1) ii i0 h 0 + = = n (k 1) ii i0 h 0 ........ = = n n ii i0 h 0 quedarn expresados en funcin del valor que libremente se le asigne a uno de ellos. Programacin y Mtodos Numricos Derivacin Numrica 60

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

103

En todo caso, una vez calculados estos coeficientes, denotando por = = n ii i0 h se tendr que los coeficientes de la frmula de derivacin se obtienen mediante: ci = / (i = 0, ..., n) y que del primer trmino que no se haya i podido anular en la expresin (1) se podr inferir fcilmente la expresin del error de derivacin. Ilustremos estos extremos con un ejemplo. Ejemplo: Determinemos la frmula de derivacin numrica del mayor orden de exactitud posible que permite calcular el valor aproximado de f(x*) usando un soporte de la forma: {x0 = x* - 2h, x1 = x* - h, x2 = x*, x3 = x* +h, x4 = x* + 2h} donde h es un valor real estrictamente positivo. Para ello, si suponemos que f(x) es suficientemente regular en (x*-2h, x*+2h) podemos considerar los desarrollos en serie de Taylor: f(x*- 2h) =f(x*) 2hf(x*) + + 4h2f "(x*) 8h3f '''(x*) 26 4 16h f(iv (x*) 24 + 567 32h f(v (x*) 64h f(vi(x*) 128h f(vii(x*)... 120 720 5040 f(x*-h) =f(x*) - hf(x*) + + h2f "(x*) h3f '''(x*) 26 4 h f(iv (x*) 24 + 567 h f(v (x*) h f(vi(x*) h f(vii(x*)... 120 720 5040 f(x*) = f(x*) f(x*+ h) =f(x*) + hf(x*) + + + h2f "(x*) h3f '''(x*)

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

104

26 + 4 h f(iv (x*) 24 ++++ 567 h f(v (x*) h f(vi(x*) h f(vii(x*) ... 120 720 5040 f(x*+2h) =f(x*) +2hf(x*) + + + 4h2f "(x*) 8h3f '''(x*) 26 + 4 16h f(iv (x*) 24 +++ 567 32h f(v (x*) 64h f(vi(x*) 128h f(vii(x*)... 120 720 5040 Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 61 de donde: + + + + + + = 0 1 2 3 4 f(x * 2h) f(x * h) f(x*) f(x * h) f(x * =( + + + + ) + 0 1 2 3 4f(x*) +( + + ) + 0 1 3 4 2 2 hf '(x*) +( + + + ) + 2 0134 h 4 4 f "(x*) 2 +( + + ) + 3 0134 h 8. 8 f '''(x*) 6 +( + + + ) + 4 (iv 0134 h 16. 16 f (x*) 24 +( + + ) + 5 (v

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

105

0134 h 32. 32 f (x*) .... 120 Si se desea construir una frmula que con el soporte anterior aproxime el valor de f(x*) y que tenga el mayor orden de exactitud posible se obligar a que: + + + + = 0 1 2 3 4 0 (Coeficiente en h0 y f(x*)) + + = 0 1 3 4 2 2 0 (Coeficiente en h y f(x*)) + + + = 0 1 3 4 4. 4 0 (Coeficiente en h2 y f(x*)) + + + = 0 1 3 4 16. 16 0 (Coeficiente en h4 y f(iv (x*)) de donde12, dejando como incgnita libre 3, se tiene: 0= 4 1 = 4 2 = 3 = 4 4 R , 2 , 0 , 2 , Cualquier eleccin no nula de 4 nos conducir a la frmula buscada. Obsrvese que se descarta la opcin 4 = 0 ya que ello anulara el coeficiente de f(x) con lo que no lo podramos despejar del desarrollo resultante. Si se asigna a 4 el valor 4 = 1 se tiene que: 12 Obsrvese que si al sistema anterior se le aadiese la ecuacin procedente de obligar a que se anulase el coeficiente de f(v(x*) se tendra un sistema que slo admite la solucin trivial 0 = = 1 = 2 = 3 = 4 = 0. Programacin y Mtodos Numricos Derivacin Numrica 62 0= 1= 2= 3= 4= 1, 2 , 0 , 2 , 1 Para estos valores de los coeficientes i, se tiene entonces que la combinacin de desarrollo en serie de Taylor antes obtenida se convierte en: f(x *2h)+2f(x *h)f(x *+h)+2f(x *+2h)= =++ 35 12hf '''(x*) 60hf(v (x*) .... 6 120 de donde: f(x*) = ( )+ ( ) ( + )+ ( + ) 3 3 3 3 1f x * 2h 1f x * h 1 f x * h 1 f x * 2h 2h h h 2h 1h2f(v(x*)+..... 4 De esta igualdad se infiere que la frmula buscada es: = ( )+ ( ) ( + )+ ( + ) * 3 3 3 3 f '''(x*) f ''' 1f x * 2h 1f x * h 1 f x * h 1 f x * 2h 2h h h 2h y que con ella, si fC5((x*-2h, x*+2h)), se comete un error dado por: = 2 (v

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

106

f R (x*) 1h f ( ) 4 para algn valor (x*-2h, x*+2h). Es decir un error de orden 0(h2).13 13 No debe confundirse el orden de exactitud de una frmula de derivacin numrica con el orden del error de dicha frmula. Mientras que el primero seala el mximo grado de los polinomios que pueden derivarse sin error con dicha frmula, el segundo seala la potencia menor a la que aparece elevado el parmetro h en la expresin del error. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 63 7.1. Obtenci de f mulas de derivaci de tipo interpolatorio mediante el modo de los coeficientes indeterminados. Un mtodo alternativo para la determinacin de frmulas de derivacin de tipo interpolatorio soportadas en (n+1) puntos se basa en que, segn el teorema 7.2. toda frmula de tal tipo debe ser exacta para los monomios {1, x, ..., xn}. Por tanto, si se busca una frmula cuya expresin sea: = =n (k (k *ii i0 f (x*) f cf(x), su aplicacin a los binomios (x-x*)j (0 < j < n) nos conduce a un sistema de ecuaciones cuya solucin nos proporciona los pesos de la frmula. De forma ms concreta, siendo h un valor estrictamente positivo en funcin del cual se puedan escribir, para valores convenientes de i (i = 0, ...,n), los puntos del soporte en la forma xi = x* + ih, la aplicacin de la frmula a los binomios f(x) = (x-x*)j (j = 0, ..., n) conduce a que, si k < n: = = = n j iij i0 0 sij k c

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

107

j!/h si j k En resumen, los coeficientes de la frmula de tipo interpolatorio se obtienen resolviendo el sistema: ++++ 012n 2222 012n0 1 (k 1) (k 1) (k 1) (k 1) 012n2 kkkk 012n (k 1) (k 1) (k 1) (k 1) 012nn nnnn 012n 1 1 1 ... 1 ... ... c ... ... ... ... ... c ... c ... ... ... c ... ... ... ... ... ... =

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

108

k k! h 0 0 0 ... 0 0 ... 0 Una vez determinada la frmula, su error puede tambin ser calculado si se busca en la forma Rf(x*) = Kh(m-k)f(m() aplicndolo al primer binomio (xx*)m (cuya derivada m-sima es m!) para el que la frmula deja de ser exacta (hecho que tendr lugar para m > n). Programacin y Mtodos Numricos Derivacin Numrica 64 Ilustremos esta forma de proceder obteniendo nuevamente la frmula de derivacin numrica hallada en el subapartado anterior mediante combinaciones de desarrollos en serie de Taylor. Ejemplo: Determinemos la frmula de derivacin numrica del mayor orden de exactitud posible que permite calcular el valor aproximado de f(x*) usando un soporte de la forma: {x0 = x* - 2h, x1 = x* - h, x2 = x*, x3 = x* +h, x4 = x* + 2h} donde h es un valor real estrictamente positivo. Segn se ha visto anteriormente, los coeficientes de la frmula, soportada por 4 puntos, se pueden obtener resolviendo el sistema obtenido al aplicar la frmula a los cuatro binomios {1, (x-x*), (x-x*)2, (x-x*)3} . Tal sistema es: c c c ch = 0 1 2 3 3

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

109

11110 21120 41140 8 1 1 8 6/ cuya solucin nos proporciona los valores: cccc hhhh ====03132343 1, 1, 1, 1 2 2 Para determinar el error de la frmula consideraremos la funcin f(x) = (xx*)4. La tercera derivada de dicha funcin en x* es: f(x*) = 432.(x*-x*) = 0 siendo el valor aproximado dado por la frmula: f h h (h) ( h) h = + + = ''' 4 4 4 4 *3 1 1( 2 ) ( ) 12 0 22 lo que nos indica que la frmula es tambin exacta para los polinomios de orden 4. Incrementemos una unidad el grado del binomio y apliqumosla a f(x) =(x x*)5. El valor exacto de la tercera derivada de este binomio es: f(x*) = 543.(x*-x*) = 0 Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 65 siendo ahora el valor aproximado: f h h (h) ( h) h h = + + = ''' 5 5 5 5 2 *3 1 1( 2 ) ( ) 12 30 22 por lo que el error de derivacin est dado, para esta funcin por: xxRxhh==5 22 ( *) ( *) 0 30 30 Si buscamos la expresin genrica del error en la forma:

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

110

v f R(x*)=Kh2f( () es fcil verificar, aplicndolo a (x-x*)5, que: h Kh K 30 2= 25! = 30= 1 5! 4 por lo que en general: v fRxhfx ( *)= 1 2 ( ( *) 4 En resumen la frmula buscada es: f (fx h f x h f(x h) f(x h)) h '''= + + + + *3 1(*2)2(*)2**2 2 y el error de derivacin numrica, si fC5([x*2h,x*+2h]) est dado por: v fRxhf ( *)= 1 2 ( ( ) 4 es decir un error de orden 2. Programacin y Mtodos Numricos Derivacin Numrica 66 Ejercicio propuesto: d) Siendo h un parmetro estrictamente positivo, determinar la frmula de derivacin numrica que permite aproximar el valor de f(x*) sobre el soporte: x0 = x* -h, x1 = x*, x2 = x* + 2h y x3 = x* + (5 ) 2 h. Suponiendo que f(x) es suficientemente regular en el intervalo [x0, x3], determnese tambin la expresin de su error e indquese la regularidad que se le debe exigir a f(x) para que dicha expresin sea vlida. Obtngase la frmula pedida y su error: i) Derivando el correspondiente polinomio interpolador de Lagrange, ii) Combinando desarrollos en serie de Taylor, y iii) Mediante el mtodo de coeficientes indeterminados. e) Aplquese la frmula obtenida en el apartado anterior a la obtencin de un valor aproximado de la segunda derivada de la funcin f(x) = ecos(x) con los siguientes valores de h: h0 = 0.1, h1 = 0.01, h2 = 0.001, h3 = 0.0001 y h4 = 0.00001. Realcense los clculos en coma flotante usando mantisas con 5 decimales significativos. f) Obtngase una cota del error de derivacin numrica vlida en el

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

111

intervalo [x0, x2] para la funcin considerada en el apartado anterior. El error realmente cometido es en todos los casos inferior a la cota hallada? Si no lo fuese justifquese el motivo. Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 67 8. Mejora de la precisi de las f mulas de derivaci numica. M odo de extrapolaci de Richardson. Como se present en apartados anteriores el error de las frmulas de derivacin numrica (ya sea para aproximar la primera derivada o derivadas de orden superior) responde a expresiones en las que interviene hp donde p es un nmero no negativo y h es una longitud caracterstica del soporte (la distancia entre puntos consecutivos del soporte cuando este es equidistante, la distancia entre los puntos extremos del soporte, la mayor de las distancias del punto x* en el que se evala la derivada a los puntos del soporte, ....). Por ello, si se quiere mejorar la precisin de una frmula de derivacin numrica la primera idea que surge intuitivamente es la de reducir el valor de h (lo que generalmente se traduce en tomar puntos ms prximos entre s y ms cercanos al punto x*). En este sentido la forma habitual de proceder consiste en, siendo q un valor tal que 0 < q < 1, aplicar la frmula numrica para los valores h0 = h, h1 = qh, h2 = qh1 = q2h , ...., hj = qhj-1 = qjh, .... Se obtienen as diferentes valores V0, V1, ...., Vj, .... que aproximan la derivada en cuestin. Este proceso se finaliza cuando |Vj Vj-1| sea lo suficientemente pequeo (menor que un cierto predefinido de antemano). Ejemplo: Si se utiliza la frmula: = ( + ) ( + ) * f '(x*) f ' 1f x * h 1f x * h 2h 2h para aproximar el valor de la primera derivada de la funcin f(x) = ex en el punto x* = 0 ( cuyo valor exacto es f(0) = 1) se obtendrn los siguientes valores para el valor aproximado de la derivada (calculados con el programa MAPLE 7 utilizando 20 dgitos), para diferentes valores de h: h0 = 0.5, V0 = 1.042190610987.... |Error|=0.0421906...

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

112

h1 = 0.25, V1 = 1.010449267232.... |Error|=0.0104492... h2 = 0.125, V2 = 1.002606201928.... |Error|=0.0026062... h3 = 0.0625, V3 = 1.000651168835.... |Error|=0.0006511... h4 = 0.03125,V4 = 1.000162768364.... |Error|=0.0001627... pudiendo observarse como el error se reduce de una aproximacin a la siguiente al reducir el paso a la mitad. Ntese que el error se reduce aproximadamente a la cuarta parte alreducir el paso a la mitad al ser el orden del error de la frmula empleada O(h2). Programacin y Mtodos Numricos Derivacin Numrica 68 La reduccin del paso h utilizado en una frmula que presente un error de orden p proporciona una sucesin de valores aproximados { } j=0 V que, si se admite que f(x) es suficientemente regular, converge hacia el valor exacto con una velocidad de convergencia de orden p, es decir que el error obtenido con un paso (qjh) es aproximadamente qp veces menor que el que se produce con paso (qj-1h). En este sentido, cuanto mayor sea el orden del error del mtodo ms rpida ser la convergencia hacia el valor exacto. Por ello esta reduccin del paso se suele combinar con la denominada tnica de extrapolaci de Richardson14 que, en sntesis, genera a partir de la sucesin { } j=0 V otras sucesiones con mayor velocidad de convergencia hacia el valor exacto. Para describir este proceso, consideremos una frmula de derivacin numrica en la que el error sea de orden p y que pueda expresarse como: ++ = = + + + n (k (m p (m 1 p 1 ii i0 f (x*) c f(x ) f (x*)h f (x*)h ... y denominemos Ve al valor exacto que se est aproximando, V0 al valor obtenido con el paso h y V1 al obtenido con paso qh (donde supondremos que q < 1). Se tendr que:

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

113

Ve = V0 + f(m(x*)hp+ f(m+1(x*)hp+1 + ... Ve = V1 + f(m(x*)qphp+ f(m+1(x*)qp+1hp+1 + ... Restando ambas igualdades se obtiene: V1 V0 = f(m(x*)(1qp )hp + f(m+1(x*)(1 qp+1)hp+1 + ... (+++) = + (m p 1 0 (m 1 p 1 p 1 pp f (x*)h V V 1 f (x*)(1 q )h ... 1q1q Sustituyendo esta expresin en la primera de las expresiones del valor exacto resulta que: + ++ = + + + p1 1 0 (m 1 p 1 e0pp V V V V f (x*)1 1 q h ... 1q1q 14 En honor al matemtico ingls Lewis Fry Richardson (1881 1953) que fue uno de los pioneros del clculo cientfico (y en concreto el primero en aplicar mtodos de diferencias finitas a la prediccin del tiempo). Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 69 lo que nos indica que el valor: =+= p 1010 1,1 0 p p V V V V V qV 1q1q aproxima al valor exacto Ve con un error de orden (p+1). Anlogamente, si se considera el valor V1, obtenido con paso (qh) y el valor V2 obtenido con paso (q2h) se tiene que: Ve = V1 + f(m(x*)qphp+ f(m+1(x*)qp+1hp+1 + ... Ve = V2 + f(m(x*)q2php+ f(m+1(x*)q2p+2hp+1 + ...

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

114

de donde un proceso anlogo al que se acaba de describir nos conduce a que: () + ++ = + + + p1 2 1 (m 1 (p 1) e1pp V V V V f (x*)1 1 q qh ... 1q1q lo que nos indica que =+= p 2121 1,2 1 p p V V V V V qV 1q1q aproxima el valor exacto con un error de orden (p+1). De manera ms general, si dado un valor del parmetro h se consideran las aproximaciones V0,j ( j = 0, 1, ...) obtenidas con un paso (qjh) usando una frmula de derivacin numrica que presente un error de orden p, pueden construirse los valores: = p 0,j 0,j 1 1,j p V qV V 1q (j = 1, 2, ...) verificndose, si f(x) es suficientemente regular, que: ()+++ = + + (m 1 p 1 ( j 1) p 1 e 1,j p V V f (x*) 1 1 q q h ... 1q Denotando por b al valor 111 1 + =

Clculo Numrico Lic. R. Riveros

Derivacin Numrica p p bq q escribiremos la expresin anterior en la forma: ( ) = + + + + (m 1 ( j 1) p 1 e 1,j V V bf (x*)q h ... Programacin y Mtodos Numricos Derivacin Numrica 70 Segn lo anterior la sucesin de valores { } 1, 1 j j= V converge, cuando ha tiende hacia 0, hacia el valor exacto con un orden de convergencia (p+1) una unidad mayor que el orden de convergencia que presentaba la sucesin { } 0, 0 j j= V . Sobre la propia sucesin { } 1, 1 j j= V puede entonces volverse a actuar. En efecto, como: = + (m+1 p+1+ p+2 + e 1,1 V V bf (x*)h O(h ) ... y: ( ) = + + + + + + (m 1 (p 1) p 2 e 1,2 V V bf (x*)qh O(h ) ... se tiene que: 0 = V1,1 V1,2 + bf(m+1(x*)hp+1(1-qp+1) + O(hp+2) + .... +++ + =+ (m 1 p 1 1,2 11 p 2 p1 VV bf (x*)h O(h ) 1q e introduciendo esta expresin en la primera de las que se han utilizado para obtenerla resulta que: + ++ ++ =+++=+

115

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

116

p1 1,2 1,1 p 2 1,2 1,1 p 2 e 1,1 p 1 p 1 VVVqV V V O(h ) ... O(h ) 1q1q De manera ms general, un razonamiento como el precedente muestra que si f(x) es suficientemente regular, la sucesin { } 2,j j=2 V obtenida mediante: + + = p1 1,j 1,j 1 2,j p 1 VqV V 1q (j = 2, 3, ....) converge hacia el valor exacto con un orden de convergencia (p+2). Estos nuevos valores { } 2,j j=2 V pueden ser mejorados construyendo a partir de ellos una sucesin { } 3,j j=3 V que converja con orden (p+3) y as sucesivamente. En general, si se parte de un mtodo que converge con velocidad de orden p, el mtodo de extrapolacin de Richardson consiste en: 1) Siendo 0 < q < 1 obtener las aproximaciones V0,j usando la frmula con un paso (qjh) (j = 0, 1, ...N). 2) Mejorar las aproximaciones calculando los valores { } = N k,j j k V para k = 1, 2, ...., N, mediante la frmula de recurrencia: Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 71 + + =

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

117

(p k 1) k 1,j k 1,j 1 k,j (p k 1) V q V V 1q Cuanto mayores sean los valores de los subndices k y j ms precisas sern las aproximaciones obtenidas. Ejemplo: Ilustremos el mtodo de extrapolacin de Richardson calculando el valor de la primera derivada de la funcin = + x2 1 x f(x) e sen( x) en el punto x*= 1 mediante la frmula: + =* f '(x*) f ' f(x * h) f(x*) h que presenta un error de orden 1 (es decir O(h)). Para ello partiremos inicialmente del paso h = y posteriormente lo iremos reduciendo a la mitad diez veces. Con ello se obtienen los valores V0,j que figuran en la segunda columna de la tabla siguiente, siendo V0,j el valor obtenido para el paso hj =()(j+1). Las columnas 3, 4 y 5 de la tabla se corresponden con los valores V1,j , V2,j y V3,j respectivamente que proporciona la aplicacin del mtodo de extrapolacin de Richardson. Para poder apreciar mejor la evolucin del error, en la tabla siguiente se han recogido los valores de error cometido con cada una de las aproximaciones de esta tabla, es decir la diferencia entre valor exacto de f(1) y el valor aproximado que figura en cada fila y columna de la tabla, siendo el valor exacto: = = 1 f '(1) e 2 cos( ) 5.1796106318.... Los clculos se han realizado con el programa MAPLE 7 utilizando una precisin de 20 dgitos (aunque en la tabla se muestran redondeados a 5 decimales significativos). Programacin y Mtodos Numricos Derivacin Numrica 72 Aproximaciones =+

Clculo Numrico Lic. R. Riveros

Derivacin Numrica ( j 1) 0,j 1,j 2,j 3,j j (h 2 ) V V V V 0 4.91921 1 5.66420 6.40919 2 5.55380 5.44340 5.12148 3 5.39593 5.23805 5.16960 5.17648 4 5.29456 5.19320 5.17825 5.17948 5 5.23872 5.18288 5.17944 5.17960 6 5.20957 5.18041 5.17 959 5.17961 7 5.19469 5.17981 5.17961 5.17961 8 5.18717 5.17966 5.17961 5.17961 9 5.18340 5.17962 5.17961 5.17961 10 5.18151 5.17961 5.17961 5.17961 Error de las aproximaciones =+ ( j 1) 0,j 1,j 2,j 3,j j (h 2 ) f '(1) V f '(1) V f '(1) V f '(1) V 0 0.260404 1 0.484587 1.22958 2 0.374191 0.263794 0.0581335 3 0.216317 0.058444 0.0100063 0.003131 4 0.114954 0.013590 0.0013613 0.000126 5 0.0591099 0.003266 0.00

118

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

119

6 7 8 10 8 11 01752 5.72810 6 0.0299549 0.000800 0.0000222 2.29210 7 0.0150764 0.000198 0.0000028 1.62110 8 0.0075628 0.000049 0.0000003 9.50210 9 0.0037875 0.000012 4.36410 5.74310 10 0.0018953 0.000003 5.458109 3.5291012 La tabla de errores muestra cmo estos se reducen a, aproximadamente, la mitad ((1/2)1) al pasar de un valor al siguiente en la primera columna, la cuarta parte ((1/2)2) al pasar de un valor al siguiente en la segunda columna, la octava parte ((1/2)3) al pasar de un valor al siguiente en la tercera columna y la decimosexta parte ((1/2)4) al pasar de un valor al siguiente en la cuarta columna. Este hecho puede verse ms claramente en la figura siguiente en la Derivacin Numrica Carlos Conde, Arturo Hidalgo, Alfredo Lpez ETSI Minas de la Universidad Politcnica de Madrid . 73 que se representa la evolucin del logaritmo decimal del valor absoluto del error frente al logaritmo decimal del tamao de paso para las cuatro sucesiones de valores recogidos en la tabla anterior. Puede comprobarse en la grfica como las pendientes (indicativas del orden de convergencia) de las curvas de error son ms pronunciadas cuanto ms se itera en la aplicacin del mtodo de extrapolacin de Richardson. log10(h) log10(|f(1)-Vk,j|) Valores proporcionados por la frmula Valores corregidos aplicando el mtodo de Richardson una vez Valores corregidos aplicando el mtodo de Richardson dos veces Valores corregidos aplicando el mtodo de Richardson tres veces

Clculo Numrico Lic. R. Riveros

Derivacin Numrica

120

Programacin y Mtodos Numricos Derivacin Numrica 74 BIBLIOGRAFA SOBRE EL TEMA [1]. BURDEN, R. L. y FAIRES, J. D. (1.998). Anisis numico. (6 edicin). Ed. International Thomson editores. [2]. KINCAID, D. y CHENEY, W. (1.994). Anisis numico. Las matemicas del cculo cientico. Ed. Addison-Wesley Iberoamericana. [3]. MICHAVILA, F. y CONDE, C. (1.988). Modos de Aproximaci. Ed. Depto. de Mat. Aplic. Y Mt. Informticos. Univ. Politcnica de Madrid. [4]. STOER, J. y BULIRSCH, R. (1.980). Introduction to numerical analysis. Ed. Springer Verlag. [5]. VIAO, J.M. y BURGUERA, M. (2000) Lecciones de modos numicos, 3: Interpolaci. Ed. Trculo edicions__ BIBLIOGRAFA UNIVERSIDAD POLITCNICA DE MADRID ESCUELA TCNICA SUPERIOR DE INGENIEROS DE MINAS DEPARTAMENTO DE MATEMTICA APLICADA Y MTODOS INFORMTICOS Asignatura: PROGRAMACIN Y MTODOS NUMRICOS Tema: DERIVACIN NUMRICA Prof. Carlos Conde Lzaro Prof. Arturo Hidalgo Lpez Prof. Alfredo Lpez Benito Marzo, 2007

Clculo Numrico Lic. R. Riveros

Vous aimerez peut-être aussi