Métodos de derivación numérica: El problema de la derivación numérica consiste en la...

32
todos de derivación numérica: blema de la derivación numérica consiste en la eval da de la función en un punto, cuando únicamente con es de la función en una colección de puntos x 0 , x 1 ,. , en apariencia se trata de un problema similar al ón numérica; de hecho la derivación es más complica egración los errores tienden a cancelarse, y, como os que la aproximación describa con fidelidad la fu e. rgo, la derivada es una propiedad esencialmente loc mos aproximar la función lo más fielmente posible e ediato del punto en el que la queramos calcular.

Transcript of Métodos de derivación numérica: El problema de la derivación numérica consiste en la...

Page 1: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Métodos de derivación numérica:

El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente conocemos los valores de la función en una colección de puntos x0, x1,... xn.

Aunque, en apariencia se trata de un problema similar al de la integración numérica; de hecho la derivación es más complicada ya que,en la integración los errores tienden a cancelarse, y, como vimos, nonecesitamos que la aproximación describa con fidelidad la función localmente.

Sin embargo, la derivada es una propiedad esencialmente local, por lo cuál deberemos aproximar la función lo más fielmente posible en el entorno inmediato del punto en el que la queramos calcular.

Page 2: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

0

1

2

3

4

5

6

7

8

-2 0 2 4 6 8 10 12

Page 3: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

0

1

2

3

4

5

6

7

8

-2 0 2 4 6 8 10 12

Page 4: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

0

1

2

3

4

5

6

7

8

-2 0 2 4 6 8 10 12

a b

f(x)

pn(x)

f (x)a

b

dx pn (x) dxa

b

x0

df (x)

dx xx0

dpn (x)

dx xx 0

Page 5: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Como ya vimos en el caso de interpolación por rectas teníamos que:

No están definidas las derivadas en los puntos xi; sí, en cambio, enlos puntos intermedios xi<x<xi+1, para los cuales la primera derivadaes constante y las derivadas superiores se anulan:

y' x yi1 yixi1 x i

para xi x x i1

Aunque no están definidas las derivadas en los puntos xi; sí quese pueden definir las derivadas por la derecha y por la izquierda que, en el caso, general, serán diferentes:

y' x i

y' ( ) xi yi1 yixi1 x i

derivada por la derecha

y' ( ) xi yi yi 1

xi x i 1

derivada por la izquierda

Page 6: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Mientras que, para el caso de interpolación por parábolas veíamos que:

Las primeras derivadas en los puntos intermedios x, xn-1<x<xn+1 ahora no son constantes:

y' x yn1 yn 1

2hyn 1 yn1 2yn

h2 (x xn ) ; xn h x xn h

Sí es constante la 2ª derivada y, por tanto, nulas todas las demásderivadas de orden superior:

y' ' x yn 1 yn1 2yn

h2 para xn h x xn h

y(n) x 0 ; (con n 3) para xn h x xn h

Page 7: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Si quisiéramos evaluar el valor de la primera derivada en el punto xn, que es un punto de la tabla de datos de la que disponemos, vemos que, mediante la interpolación por rectas no existe tal derivada, mientras que,con la interpolación parabólica sería:

y' x yn1 yn 1

2hyn 1 yn1 2yn

h2 (x xn ) ; xn h x xn h

y' xn yn1 yn 1

2h

que es exactamente el mismo valor que obtenemos si promediamos lasderivadas por la izquierda y por la derecha de la interpolación por rectas:

y' ( ) xn yn 1 ynh

y' ( ) xn yn yn 1

h

1

2y' () xn y' ( ) xn yn1 yn 1

2h

Page 8: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

En cuanto a la segunda derivada:

y' ' xn yn 1 yn1 2ynh2

podríamos re-escribirla del modo siguiente:

y' ' xn yn 1 yn1 2ynh2

yn1 ynh

yn yn 1

hh

y' ' xn y'n

1

2

y'n

1

2

h

lo cuál es acorde con la definición de derivada:

f ' (x0 ) limh 0

f (x0 h) f (x0 )

hlimh 0

f (x0 h

2) f (x0

h

2)

h

Page 9: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Si quisiéramos calcular la 3ª derivada tendríamos que recurrir al polinomio de interpolación de orden 3, o bien podríamos hacer lo siguiente:

y' ' ' xn y' 'n 1 y' ' n 1

2h

Basándonos en el hecho de que:

f ' ' ' (x0 ) limh 0

f ' ' (x0 h) f ' ' (x0 h)2h

Page 10: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Si quisiéramos calcular el orden del error cometido al tomar estas aproximaciones:

para la 1ª derivada:

y' xn yn1 yn 1

2h

Tomando esta fórmula estaríamos haciendo la siguiente aproximación:

f ' (x0 ) f (x0 h) f (x0 h)

2h

Sabemos que ambas magnitudes son iguales en el límite de h tendiendoa cero. Sin embargo, numéricamente, nosotros, estamos usando usando unos h que, aunque pequeños, no son infinitesimalmente tendentes a cero.Cuanto mayores sean los h, mayor será el error cometido. La relación Entre el error y el valor de h se puede encontrar desarrollando en serie laaproximación:

Page 11: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Desarrollando en serie la aproximación:

f (x0 h) f (x0 h)

2h 1

2h{f (x0 ) f ' (x0 )h f ' ' (x0 )

2h2 f ' ' ' (x0)

3!h3

[ f (x0 ) f ' (x0)hf ' ' (x0 )

2h2

f ' ' ' (x0 )

3!h3 ]}

f (x0 h) f (x0 h)

2h f ' (x0 )

f ' ' ' (x0 )

6h2

Y vemos que, efectivamente:

limh 0

f (x0 h) f (x0 h)2h

f ' (x0 )

Page 12: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

para la 2ª derivada:

y' ' xn yn 1 yn1 2ynh2

Tomando esta fórmula estaríamos haciendo la siguiente aproximación:

f ' ' (x0 ) f (x0 h) f (x0 h) 2 f (x0 )

h2

Desarrollando en serie:

f (x0 h) f (x0 h) 2 f (x0 )h2

1h2

{f (x0 ) f ' (x0 )h f ' ' (x0 )2

h2 f ' ' ' (x0 )3!

h3 f 'v (x0 )4!

h4

[ f (x0 ) f ' (x0)hf ' ' (x0 )

2h2

f ' ' ' (x0 )

3!h3

f ' v (x0 )

4!h4

2 f (x0)} f ' ' (x0 )

f ' v (x0 )

12h2

Page 13: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Ejercicios:

- Justificar las siguientes aproximaciones:

y' ' ' xn yn2 yn 2 2yn1 2yn 1

2h3

y' xn 8yn1 yn 2 yn 2 8yn 1

12h

y' ' xn 16(yn1 yn 1) (yn2 yn2 ) 30yn12h2

Page 14: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

y' ' ' xn yn2 yn 2 2yn1 2yn 1

2h3

Tomando esta fórmula estaríamos haciendo la siguiente aproximación:

f ' ' ' (x0 ) f (x0 2h) f (x0 2h) 2 f (x0 h) 2 f (x0 h)

2h3

Desarrollando en serie:

f (x0 2h) f (x0 2h) 2 f (x0 h) 2 f (x0 h)2h3

Page 15: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

f (x0 2h) f (x0 2h) 2 f (x0 h) 2 f (x0 h)2h3

12h3

{ f (x0 ) f ' (x0 )2h f ' ' (x0 )2

(2h)2 f ' ' ' (x0 )3!

(2h)3 f 'v (x0 )4!

(2h)4 fv(x0 )5!

(2h)5

[ f (x0 ) f ' (x0)( 2h) f ' ' (x0 )

2( 2h)2

f ' ' ' (x0 )

3!( 2h)3

f 'v (x0 )

4!( 2h)4

f v(x0 )

5!( 2h)5 ]

2[ f (x0) f ' (x0 )h f ' ' (x0 )

2h2

f ' ' ' (x0 )

3!h3

f ' v (x0 )

4!h4

f v(x0 )

5!h5 ]

2[ f (x0 ) f ' (x0 )( h) f ' ' (x0 )

2( h)2

f ' ' ' (x0 )

3!( h)3

f ' v (x0)

4!( h)4

f v(x0 )

5!( h)5 ]}

f (x0 2h) f (x0 2h) 2 f (x0 h) 2 f (x0 h)2h3 f ' ' ' (x0 )

f v(x0 )

4h2

Page 16: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Tomando esta fórmula estaríamos haciendo la siguiente aproximación:

f ' (x0 ) 8 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h)

12h

Desarrollando en serie:

y' xn 8yn1 yn 2 yn 2 8yn 1

12h

8 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h)

12h

Page 17: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

8 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h)

12h

112h

{8[ f (x0 ) f ' (x0 )h f ' ' (x0 )2

h2 f ' ' ' (x0 )3!

h3 f 'v (x0 )4!

h4 fv (x0 )5!

h5

[ f (x0 ) f ' (x0)( h) f' ' (x0 )

2( h)2

f ' ' ' (x0 )

3!( h)3

f ' v (x0 )

4!( h)4

f v(x0)

5!( h)5 ]]

f (x0 ) f ' (x0 )( 2h) f ' ' (x0 )

2( 2h)2

f ' ' ' (x0 )

3!( 2h)3

f' v (x0 )

4!( 2h)4

f v(x0 )

5!( 2h)5

[ f (x0 ) f ' (x0)2hf ' ' (x0 )

2(2h)2

f ' ' ' (x0 )

3!(2h)3

f ' v (x0 )

4!(2h)4

f v(x0)

5!(2h)5 ]}

8 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h)

12h f ' (x0 )

f ' v (x0 )

30h4

Page 18: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

y' ' xn 16(yn1 yn 1) (yn2 yn 2 ) 30yn12h2

Tomando esta fórmula estaríamos haciendo la siguiente aproximación:

f ' ' (x0 ) 16 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h) 30 f (x0 )

12h2

Desarrollando en serie:

16 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h) 30 f (x0 )

12h2

Page 19: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

16 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h) 30 f (x0 )

12h2

1

12h2 {16[ f (x0 ) f ' (x0 )hf ' ' (x0 )

2h2

f ' ' ' (x0 )

3!h3

f 'v (x0 )

4!h4

f v(x0 )

5!h5

f v ' (x0 )

6!h6

[ f (x0 ) f ' (x0 )( h) f ' ' (x0 )

2( h)2

f ' ' ' (x0 )

3!( h)3

f ' v (x0 )

4!( h)4

f v(x0)

5!( h)5

f v ' (x0 )

6!( h)6 ]]

[ f (x0 ) f ' (x0)( 2h) f ' ' (x0 )2

( 2h)2 f ' ' ' (x0 )3!

( 2h)3 f 'v (x0 )4!

( 2h)4 fv(x0 )5!

( 2h)5 f v ' (x0 )6!

( 2h)6 ]

[ f (x0 ) f ' (x0)2h f ' ' (x0 )2

(2h)2 f ' ' ' (x0 )3!

(2h)3 f 'v (x0 )4!

(2h)4 fv(x0)5!

(2h)5 f v ' (x0 )6!

(2h)6 ]

30 f (x0 )}

16 f (x0 h) f (x0 h) f (x0 2h) f (x0 2h) 30 f (x0 )

12h2 f ' ' (x0 ) f v ' (x0 )

90h4

Page 20: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Calcular las tres primeras derivadas de la función sen x en x = 1, para valores de h de 0.1, 0.01 y 0.001.

Calcular las dos primeras derivadas de la siguiente función en lospuntos 0.25, 0.5, 0.75 y 1.

y(x) [ln arcsen x 2]5

Page 21: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Calcular las tres primeras derivadas de la función sen x en x = 1, para valores de h de 0.1, 0.01 y 0.001.

h = 0.1

y' (1) sen(1.1) sen(0.9)

2 * 0.10.53940

valor exacto cos(1) 0.5403023

¡¡¡EN R

ADIANES!!!

9 *10 4

Page 22: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

h = 0.1

y' ' (1) sen(1.1) sen(0.9) 2 sen(1)

0.12 0.84077

valor exacto sen(1) 0.8414709

7*10 4

y' ' ' (1) sen(1.2) sen(0.8) 2sen(1.1) 2sen(0.9)

2 * 0.13 0.53895

valor exacto cos(1) 0.5403023

1*10 3

Page 23: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

h = 0.01

y' (1) sen(1.01) sen(0.99)

2 * 0.010.5402933

valor exacto cos(1) 0.5403023

9*10 6

y' ' (1) sen(1.01) sen(0.99) 2 sen(1)

0.012 0.841464

valor exacto sen(1) 0.8414709

7*10 6

Page 24: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

h = 0.01

y' ' ' (1) sen(1.02) sen(0.98) 2sen(1.01) 2sen(0.99)

2 * 0.013 0.540305

valor exacto cos(1) 0.5403023

3 *10 6

h = 0.001

y' (1) sen(1.001) sen(0.999)

2 * 0.0010.5403022

valor exacto cos(1) 0.5403023

9*10 8

Page 25: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

h = 0.001

y' ' (1) sen(1.001) sen(0.999) 2 sen(1)

0.0012 0.8417091

valor exacto sen(1) 0.8414709

1*10 8

y' ' ' (1) sen(1.002) sen(0.998) 2sen(1.001) 2sen(0.999)

2 * 0.0013

Page 26: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Calcular las dos primeras derivadas de la siguiente función en lospuntos 0.25, 0.5, y 0.75.

y(x) [ln arcsen x 2]5

y' (x0 ) {ln[arcsen( x0 h)]2}5 {ln[arcsen(x0 h)]2}5

2h

h = 10-2

y' (0.25) {ln[arcsen(0.25 10 2 )]2}5 {ln[arcsen(0.25 10 2 )]2}5

210 2

y' (0.25) 2352.61 2.353 103

¡¡¡EN R

ADIANES!!!

Page 27: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

h = 10-3

y' (0.25) {ln[arcsen(0.25 10 3)]2}5 {ln[arcsen(0.25 10 3)]2}5

210 3

y' (0.25) 2.342 103

h = 10-4

y' (0.25) 2.341896 103

h = 10-5

y' (0.25) 2.3419 103

Page 28: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

El valor exacto se puede evaluar teniendo en cuenta que la primeraderivada de la función es :

y' (x) 10[ln arcsen x 2 ]4

1 x 2 arcsen x

y' (0.25) 10[ln arcsen 0.25 2 ]4

1 x2 arcsen 0.25 2.34191 103

Page 29: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Para la segunda derivada:

y' ' xn yn 1 yn1 2ynh2

y' ' (x0 ) {ln[arcsen( x0 h)]2}5 {ln[arcsen( x0 h)]2}5 2{ln[arcsen(x0 )]2}5

h2

h = 10-2

y' ' (0.25) 3.68883 104

h = 10-3

y' ' (0.25) 3.67825 104

h = 10-4

y' ' (0.25) 3.678 104

Page 30: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

Para los otros puntos, 0.5, y 0.75 :

h = 10-4

y' (0.5) 61.8426 y' ' (0.5) 938.283

y' (0.75) 0.210401 y' ' (0.75) 9.11835

Page 31: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

La observación de la segunda derivada indicaría la existencia de un posible punto de inflexión (derivada segunda cero) en ese intervalo. Así,por ejemplo:

y' ' (0.8) 0.8852247

y' ' (0.85) 0.008934901

y' ' (0.84) 4.409358 10 5

Haciendo una interpolación lineal entre estos dos últimos puntos. Esdecir, calculando la recta que pasa por los puntos (0.84, -4.409358 10-5)y (0.85, 0.008934901):

y' ' 4.409358 10 5 0.008934901 4.409358 10 5

0.85 0.84(x 0.84)

Page 32: Métodos de derivación numérica: El problema de la derivación numérica consiste en la evaluación de la derivada de la función en un punto, cuando únicamente.

y' ' 4.409358 10 5 0.008934901 4.409358 10 5

0.85 0.84(x 0.84)

Luego el punto en el que la interpolación lineal que se aproxima a laderivada se anula sería el siguiente:

y' ' 0 x0.8404910748

y, efectivamente, podemos comprobar que en las inmediaciones de ese punto tenemos un valor prácticamente igual a cero de la segunda derivada:

y' ' (0.8405) 1.27439 10 5