Anda di halaman 1dari 44

METODOS NUMERICOS Y PROGRAMACIN III

DERIVACIN NUMRICA

Las frmulas de derivacin numrica son importantes en el desarrollo de algoritmos para resolver problemas de contorno de ecuaciones diferenciales ordinarias y ecuaciones en derivadas parciales.

La aproximacin del valor de la derivada de una funcin en un punto no es, nuestro objetivo, pues el comando diff de Matlab, se encarga de eso. Por el contrario, si es que se conocen los valores de la funcin en algunos puntos, es ah donde las frmulas de derivacin aproximada s sern de gran utilidad.

Ejemplo Vamos a aproximar la derivada primera de una funcin f, que suponemos regular, en un punto x utilizando los valores de la funcin en dos puntos x y x+h. Consideremos el desarrollo de Taylor de segundo orden

h f ( x + h ) = f ( x ) + hf ' ( x ) + f '' ( ) 2

que determina

f ( x + h) f ( x) h = f ' ( x ) + f '' ( ) h 2
Por tanto, la formula

f ( x + h) f ( x) f ' ( x) h
aproxima la derivada primera de f en x

con un error

M2 h h E = f '' ( ) max f '' ( x ) h 2 2 a x b 2


denotemos

M k = max f
a x b

(k )

( x)

= f

(k )
L ( a ,b )
Para

Frmulas de diferencias centradas


Si la funcin f(x) puede evaluarse en puntos que estn a ambos lados de x, entonces usamos Teorema 1. (Frmula centrada de orden O(h2)) Supongamos que f C3[a,b] y que x-h,

x, x+h [a,b]. Entonces

f ( x + h) f ( x h) f '( x) 2h

(1)

Es ms, existe un nmero = (x)[a,b] tal que

f ( x + h) f ( x h) f '( x) = 2h + Etrunc ( f , h )
siendo

h f ''' ( ) 2 Etrunc ( f , h ) = =O h 6
2

( )

El trmino E(f,h) se llama

error de truncamiento

En efecto, usando la formula de Taylor de orden 2 de f, alrededor de x, para f(x+h) y f(x-h)

h h f ( x + h ) = f ( x ) + hf ' ( x ) + f '' ( x ) + f ''' ( ) 2 3!


y

h h f ( x h ) = f ( x ) hf ' ( x ) + f '' ( x ) f ''' ( ) 2 3!

Restando ambas expresiones y dividiendo por 2h


2 f ( x + h) f ( x h) h = f ' ( x ) + f ''' ( ) + f ''' ( ) 2h 12

h = f ' ( x) + f ''' ( ) 6
como f(x) es continua, por el teorema de valor intermedio existe = (x) en (a,b) tal que

f ''' ( ) + f ''' ( ) f ''' ( ) = 2

As, la formula

f ( x + h) f ( x h) f ' ( x) 2h

(2)

aproxima a la derivada de f en el punto x con un error

h f ''' ( ) h max f ''' ( x ) E= 6 6 a x b


2 2

h 2 = M3 = O h 6

( )

Si los valores de la tercera derivada f() no cambian muy rpidamente, entonces el error de truncamiento tiende a cero a la misma velocidad que h 2 , lo que expresamos mediante la notacin O( h 2 )

Teorema

(Frmula centrada de orden O(h4)) f C 5 [ a, b ] y que x-2h, x-h, x, x+h, x+2h Supongamos que
2

pertenecen a [a,b]. Entonces

f ( x + 2h) + 8 f ( x + h) 8 f ( x h) + f ( x 2h) f ' ( x) 12h


Es ms, existe un nmero = (x)[a,b] tal que

(3)

f ( x + 2 h ) + 8 f ( x + h ) 8 f ( x h ) + f ( x 2h ) f ' ( x) = 12h + Etrunc ( f , h ) ............ ( 4 )

siendo

Etrunc ( f , h ) =

h f

( 5)

30

( ) = O

(h )
4

En efecto, a partir de los desarrollos de cuarto orden de f, alrededor de x, para f(x+h) y f(x-h)

h h f ( x + h ) = f ( x ) + hf ' ( x ) + f '' ( x ) + f ''' ( x ) 2 3! 4 5 h (4 ) h (5 ) + f ( x) + f ( ) 4! 5!


h2 h3 f ( x h ) = f ( x ) hf ' ( x ) + f '' ( x ) f ''' ( x ) 2 3! 4 5 h (4 ) h (5 ) + f ( x) f ( ) 4! 5! 16

2h (3) f ( x + h ) f ( x h ) = 2hf ' ( x ) + f ( x) 3! 5 h (5 ) (5 ) + f ( ) + f ( ) 5!


T .V .I .

obtenemos

2h 3 (3) f ( x + h ) f ( x h ) = 2hf ' ( x ) + f ( x) 3! (@) 5 2h (5 ) + f ( ) 5!


17

Ahora usamos como incremento 2h, en vez de h, y escribimos la correspondiente aproximacin:

2 ( 2h ) (3) f ( x + 2h ) f ( x 2h ) = 2 ( 2h ) f ' ( x ) + f ( x) 3!
3

2 ( 2h ) (5 ) + f ( ) 5!
5

16h ( 3) f ( x + 2h ) f ( x 2h ) = 4hf ' ( x ) + f ( x) (*) 3! 64h 5 (5 ) + f ( ) 5!


18

A continuacin multiplicamos por 8 a la expresin (@) y le restamos la relacin (*), con ello se simplifican varios trminos y obtenemos

8 f ( x + h ) 8 f ( x h ) f ( x + 2h ) + f ( x 2h ) = 16 3 32 5 (5 ) 16hf ' ( x ) + h f ''' ( x ) + h f ( ) 3! 5! 16 3 64 5 (5 ) 4hf ' ( x ) h f ''' ( x ) h f ( ) 3! 5!

19

f ( x + 2h ) + 8 f ( x + h ) 8 f ( x h ) f ( x 2h ) = h5 (5 ) (5) 12hf ' ( x ) + 16 f ( ) 64 f ( ) .....( 5 ) 5!


Si f tiene signo constante y no cambia muy rpidamente cerca de x, podemos encontrar un punto en [x-2h,x+2h] tal que
(5 )

16 f

(5 )

( ) 64 f ( ) = 16 f ( ) 64 f ( ) = 48 f (5 ) ( )
(5 ) (5 ) (5 )

(6)

20

Reemplazando la ecuacin (6) en (5) y despejando f(x), obtenemos

f ( x + 2h ) + 8 f ( x + h ) 8 f ( x h ) + f ( x 2h ) f ' ( x) = 12h (5 ) f ( ) h 4 + 30

21

Ahora podemos comparar las formulas (1) y (3). Supongamos que f(x) admite cinco derivadas continuas y que f (3) ( c ) y f ( 5) ( c ) valen ms o menos lo mismo, entonces el error de truncamiento de (3) es de orden O(h4) y converger a cero ms rpidamente que el error de truncamiento de la frmula (1) que es de orden O(h2); esto quiere decir que podemos usar un incremento mayor para logar la misma precisin.
22

f ( x ) = cos ( x )
(a) Vamos a usar las frmulas (1) y (3) con incrementos h=0.1, 0.01, 0.001 y 0.0001 para calcular aproximaciones a f ' ( 0.8 ) . Trabajaremos con nueve cifras decimales significativas. (b) Compararemos los valores obtenidos con el exacto

' ( 0.8) = sen ( 0.8)

(a) Usando la frmula (1) con h=0.01

f ( x + h) f ( x h) f '( x ) ....... (1) 2h f ( 0.8 + 0.01) f ( 0.8 0.01) f ' ( 0.8 ) 2(0.01)

cos(0.81) cos(0.79) 0.689498433 0.703845316 f '( 0.8) 0.02 0.02

' ( 0.8 ) 0.717344150

Usando la frmula (3) con h=0.01


f ( x + 2h ) + 8 f ( x + h ) 8 f ( x h ) + f ( x 2h ) f '( x ) .... ( 3) 12h
f ( 0.8 + 0.02) + 8 f ( 0.8 + 0.01) 8 f ( 0.8 0.01) + f ( 0.8 0.02) f ' ( 0.8) 12 ( 0.01)

cos ( 0.82) + 8cos ( 0.81) 8cos ( 0.79) + cos ( 0.78) f ' ( 0.8) 0.12
0.682221207 +8( 0.689498433) 8( 0.703845316) + 0.710913538 f '( 0.8) 0.12

f ' ( 0.8) 0.717356108

(b) El error en las aproximaciones dadas por las frmulas (1) y (3) son:

sen(0.8) (0.717344150)

= 0.717356090899523 ( 0.717344150)

= 0.000011941

f ( x + h) f ( x h) f '( x ) 2h

sen(0.8) (0.717356108)
= 0.717356090899523 ( 0.717356108)

=0.000000017

'( x )

(x + 2h ) + 8 f (x + h ) 8 f (x h ) +
12h

(x 2h )

Vemos que, en este ejemplo, la frmula (3) proporciona una aproximacin a f(0.8) mejor que la que proporciona la frmula (1) cuando h=0.01 pero no cuando h=0.0001(vase la tabla)

Tabla : Derivacin numrica mediante las frmula (1) y (3)

ANLISIS DEL ERROR E INCREMENTO PTIMO

Un aspecto importante en el estudio de la derivacin numrica es el efecto de los errores de redondeo cuando los clculos se hacen con un computador. Supongamos que usamos un computador para hacer los clculos de manera que podemos escribir.

f ( x0 h ) = y1 + e1

f ( x0 + h ) = y1 + e1
donde hemos aproximado f(x0-h) y f(x0+h) , respectivamente, por los nmeros del computador y-1 e y1, siendo los errores de redondeo e-1 y e1.

Corolario (a) Supongamos que f verifica las hiptesis del Teorema 1 y usamos la frmula computacional

y1 y-1 f ' ( x0 ) .......(5) 2h

Entonces el trmino del error de esta frmula viene dado por las siguientes relaciones:

y1 y-1 f ' ( x0 ) = + E ( f , h ) .......(6) 2h

donde

E ( f , h ) = Ered ( f , h ) + Etrunc ( f , h )
h f (c) e1 e1 ;........ ( 7 ) = 2h 6
2

( 3)

o sea, el trmino del error total E(f,h) consta de una parte debida a los errores de redondeo ms otra debida al error de truncamiento.

Corolario (b) Supongamos que f verifica las hiptesis del Teorema 1 y que hacemos los clculos con un computador de manera que

e1 , e1
Entonces

y M = max f

( 3)

x :a x b .

Mh 2 E ( f , h) + .........(8) 6 h
3 h= M

Adems, el valor de h que minimiza la expresin anterior es 1/ 3

.........(9)

Cuando h es pequeo, la porcin de (7) dada por (e1-e-1)/2h puede ser relativamente grande; y eso es lo que sucede en el ejemplo cuando h=0.0001; Los errores de redondeo correspondientes son

f ( 0.8001) = 0.696634970 + e1 siendo e1 0.0000000003 f ( 0.7999 ) = 0.696778442 + e1 siendo e1 0.0000000005

y el trmino del error de truncamiento es


3 h2 f ( ) ( c ) 2 sen ( 0.8 ) ( 0.0001) 0.000000001, 6 6

Luego, el error total E(f,h)


Ered ( f , h )

0.0000000003 0.0000000005 E ( f , h) 0.000000001 0.0002

Etrunc ( f , h )

= 0.000004001

De hecho, la aproximacin numrica a la derivada que se obtiene con el incremento h=0.0001 es, haciendo los clculos,
f ( 0.8001) f ( 0.7999 ) f ' ( 0.8 ) 0.0002

0.696634970 0.696778442 = 0.0002

= 0.717360000,

donde es evidente la prdida de unas cuatro cifras significativas. El error real es 0.000003909 que est cerca del error encontrado -0.000004001.
Si aplicamos la frmula (9) al ejemplo f(x)=cos(x) tenemos

( 3)
9

( x)

sen ( x ) 1 = M

= 0.5 10

magnitud del error de redondeo

El valor ptimo del incremento es:

h = 0.5 10 /1

1/ 3

= 0.001144714

y es el que proporciona la mejor aproximacin a f(0.8) (vanse la tabla y la figura)

Determinacin del incremento ptimo h=0.001144714 cuando aplicamos la frmula (8) a la funcin f(x) = cos (x).

Cota del error

Mh 2 E ( f , h) + 6 h

h
0,002 0,001144714 0,004

Anlogamente

Corolario (c) Supongamos que f verifica las hiptesis del Teorema 2 y que usamos la frmula computacional
y2 + 8 y1 8 y1 + y2 f ' ( x0 ) 12h

(10)

Entonces, el trmino del error de sta frmula viene dado por las siguientes expresiones

y2 + 8 y1 8 y1 + y2 f ' ( x0 ) = + E ( f , h) 12h

(11)

donde

E ( f , h ) = Ered ( f , h ) + Etrunc ( f , h )

e2 + 8e1 8e1 + e2 h f ( c ) = + ;.....(12) 12h 30


4

( 5)

El trmino de error total E(f,h) consta de una parte debida a los errores de redondeo ms otra debida al error de truncamiento.

Corolario (d) Supongamos que f verifica las hiptesis

del Teorema 2 y que hacemos los clculos con un computador de manera que
5 ek y M = max f ( ) ( x ) : a x b

Entonces

3 Mh E ( f , h) ....... (13) + 2h 30
4

Adems, el valor de h que minimiza la expresin del miembro derecho de la desigualdad anterior es

45 h= 4M

1/ 5

..... (14 )

FIN

Anda mungkin juga menyukai