You are on page 1of 12

Universidad de las Fuerzas Armadas - ESPE

Métodos Numéricos

Trabajo Tercer Parcial

Métodos Numéricos
Tema:

Derivación hacia adelante, hacia atrás y centrada

Autores:

David Bravo
Bryan Gudiño
Patricio Jaramillo
Alexis Ramírez
Nathaly Villarreal

NRC:

1114

Docente:

Ing. Jose Luis Marcillo

Sangolquí, 31 de Enero del 2017


Índice
1. Tema 3

2. Objetivos 3
2.1. Objetivo Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3. Marco Teórico 3

4. Ejemplos 6

5. Ejemplos en MATLAB 9
Universidad de las Fuerzas Armadas - ESPE

6. Conclusiones 12

7. Recomendaciones 12

8. Bibliografía 12

Métodos Numéricos
1. Tema

Derivación hacia adelante, hacia atrás y centrada

2. Objetivos
2.1. Objetivo Principal

Identificar y aplicar los diferentes tipos de diferenciaciones numéricas mediante el uso de métodos
numéricos y código en MATLAB
Universidad de las Fuerzas Armadas - ESPE

2.2. Objetivos Específicos

Diferenciar entre los métodos derivación numérica, ya sea centrada, hacia la derecha o hacia la izquierda
para utilizarlo en aplicaciones prácticas.
Programar el método descrito anteriormente en MATLAB para cada uno de los casos a estudiar y así
observar su funcionamiento.

Métodos Numéricos
3. Marco Teórico

Derivación numérica

Se le conoce con un nombre especial en el análisis numérico: diferencia finita dividida y generalmente se
representa como:
Derivada = Aproximación de primer orden + Error de truncamiento
Se pueden generar fórmulas por diferencias divididas de alta exactitud tomando términos adicionales en la
expansión de la serie de Taylor. Por ejemplo, la expansión de la serie de Taylor hacia adelante se escribe
como:

f 00 (xi ) 2
f (xi+1 ) = f (xi ) + f 0 (xi )h + h + ...
2
De la que se despeja:

f (xi+1 ) − f (xi ) f 00 (xi


f 0 (xi ) = − h + O(h2 )
h 2
Se trunca este resultado al excluir los términos de la segunda derivada en adelante y nos quedamos con un

resultado final

f (xi+1 ) − f (xi )
f 0 (xi ) = + O(h)
h
Ahora retendremos, en cambio, el término de la segunda derivada sustituyendo la siguiente aproximación de

la segunda derivada

f (xi+2 ) − 2f (xi+1 ) + f (xi )


f 00 (xi ) = + O(h)
h2
f (xi+1 ) − f (xi ) f (xi+2 ) − 2f (xi+1 ) + f (xi )
f 0 (xi ) = − h + O(h2 )
h 2h2

−f (xi+2 ) + 4f (xi+1 ) − 3f (xi )


f 0 (xi ) = + O(h2 )
2h
Observe que al incluir el término de la segunda derivada mejora la exactitud a O(h2 ).

Es posible desarrollar versiones similares mejoradas para las fórmulas hacia adelante y centradas, así como
para las aproximaciones de derivadas de orden superior.
1. Fórmulas de diferencias divididas hacia adelante

Se presentan dos versiones para cada derivada. La última versión emplea más términos de la expansión
Universidad de las Fuerzas Armadas - ESPE

de la serie de Taylor y, en consecuencia, es más exacta.

Primera Derivada Error


f (xi+1 )−f (xi )
f 0 (xi ) = h O(h)

−f (xi+2 )+4f (xi+1 )−3f (xi )


f 0 (xi ) = 2h O(h2 )

Métodos Numéricos
Segunda Derivada Error
f (xi+2 )−2f (xi+1 )+f (xi )
f 00 (xi ) = h2 O(h)

−f (xi+3 )+4f (xi+2 )−5f (xi+1 )+2f (xi )


f 00 (xi ) = h2 O(h2 )

Tercera Derivada Error


f (xi+3 )−3f (xi+2 )+3f (xi+1 )−f (xi )
f 000 (xi ) = h3 O(h)

−3f (xi+4 )+14f (xi+3 )−24f (xi+2 )+18f (xi+1 )−5f (xi )
f 000 (xi ) = 2h3 O(h2 )

Cuarta Derivada Error


f (xi+4 )−4f (xi+3 )+6f (xi+2 )−4f (xi+1 +f (xi )
f iv (xi ) = h4 O(h)

−2f (xi+5 )+11f (xi+4 )−24f (xi+3 )+26f (xi+2 )−14f (xi+1 )+3f (xi )
f iv (xi ) = h4 O(h2 )

2. Fórmulas de diferencias divididas hacia atrás

Se presentan dos versiones para cada derivada. La última versión emplea más términos de la expansión
de la serie de Taylor y, en consecuencia, es más exacta.

Primera Derivada Error


f (xi )−f (xi−1 )
f 0 (xi ) = h O(h)

3f (xi )−4f (xi−1 )+f (xi−2 )


f 0 (xi ) = 2h O(h2 )
Segunda Derivada Error
f (xi )−2f (xi−1 )+f (xi−2 )
f 00 (xi ) = h2 O(h)

−f (xi )−5f (xi−1 +4f (xi−2 )−f (xi−3 )


f 00 (xi ) = h2 O(h2 )

Tercera Derivada Error


f (xi )−3f (xi−1 )+3f (xi−2 )−f (xi−3 )
f 000 (xi ) = h3 O(h)

5f (xi )−18f (xi−1 )+24f (xi−2 )−14f (xi−3 )+3f (xi−4 )


f 000 (xi ) = 2h3 O(h2 )
Universidad de las Fuerzas Armadas - ESPE

Cuarta Derivada Error


f (xi )−4f (xi−1 )+6f (xi−2 )−4f (xi−3 )+f (xi−4 )
f iv (xi ) = h4 O(h)

3f (xi )−14f (xi−1 )+26f (xi−2 )−24f (xi−3 )+11f (xi−4 )+2f (xi−5 )
f iv (xi ) = h4 O(h2 )

Métodos Numéricos
3. Fórmulas de diferencias divididas centradas

Se presentan dos versiones para cada derivada. La última versión emplea más términos de la expansión
de la serie de Taylor y, en consecuencia, es más exacta.

Primera Derivada Error


f (xi+1 )−f (xi−1 )
f 0 (xi ) = 2h O(h)

−f (xi+1 )+8f (xi+1 )−8f (xi−1 )+f (xi−2 )


f 0 (xi ) = 12h O(h2 )

Segunda Derivada Error


f (xi+1 )−2f (xi )+f (xi−1 )
f 00 (xi ) = h2 O(h)

−f (xi+2 )+16f (xi+1 )−30f (xi )+16f (xi−1 )−f (xi−2 )


f 00 (xi ) = 12h2 O(h2 )

Tercera Derivada Error


f (xi+2 )−2f (xi+1 )+2f (xi−1 )−f (xi−2 )
f 000 (xi ) = 2h3 O(h)

−f (xi+2 )+8f (xi+2 )−13f (xi+1 )+13f (xi−1 )−8f (xi−2 )+f (xi−3 )
f 000 (xi ) = 8h3 O(h2 )

Cuarta Derivada Error


f (xi+2 )−4f (xi+1 )+6f (xi )−4f (xi−1 )+f (xi−2 )
f iv (xi ) = h4 O(h)

−f (xi+3 )+12f (xi+2 )+39f (xi+1 )+56f (xi )−39f (xi−1 )+12f (xi−2 )+f (xi−3
f iv (xi ) = 6h4 O(h2 )
4. Ejemplos
1. Sea f (x) = 0, 5x4 + 1, 3x3 − 0, 9x2 + 2, 2x − 18. Calcular las derivadas de diferencias finitas en el punto
x=2; h=0,15

a) Encontrar la primera derivada de diferencia finita hacia adelante


b) Encontrar la segunda derivada de diferencia finita hacia adelante

Solución

Para f (x) = 0, 5x4 + 1, 3x3 − 0, 9x2 + 2, 2x − 18

El valor verdadero de:


Universidad de las Fuerzas Armadas - ESPE

f 0 (x) = 2x3 + 3, 9x2 − 1, 8x + 2, 2


f 0 (2) = 30, 2

f 00 (x) = 6x2 + 7, 8x − 1, 8
f 00 (2) = 37, 8

Métodos Numéricos
Primera Derivada:

f (xi+1 )+f (xi )


f 0 (xi ) = h

Donde: xi+1 = xi+h

f (2+0,15)4 +f (2)4
f 0 (xi ) = 0,15

(2+0,15)4 −(2)4
f 0 (xi ) = 0,15

f 0 (xi ) = 35, 78

Cálculo del error:

error = | v.real−v.calculado
v.real | ∗ 100 %

error = | 30,2−35,78
30,2 | ∗ 100 %

error = 18, 47 % Segunda Derivada:

f (xi+2 )−2f (xi+1 )+f (xi


f 00 (xi ) = h2

Donde: xi+2 = xi+2h


xi+1 = xi+h

f (2+0,3)−2f (2+0,15)+f (2)


f 0 (xi ) = 0,152

47,88−2(42,70)+37,8
f 00 (xi ) = 0,152

f 00 (xi ) = 12
2. Sea la función f (x) = ln(x)tg(x).Calcular la derivada por métodos numéricos en el punto x = 4, con
h = 0,1, aplicando la fórmula de:

a) La primera diferencia finita hacia atrás


b) La segunda diferencia finita hacia atrás

Solución

x 3,7 3,8 3,9 4 4,1 4,2 4,3


f (x) 0.81736 1.03269 1.28942 1.60508 2.00858 2.55126 3.33417

Para f (x) = ln(x)tg(x). El valor verdadero de:


Universidad de las Fuerzas Armadas - ESPE

f 0 (4) = 3,534154

f 00 (4) = 8,61146
Primera derivada:
f (xi )−f (xi1 )
f 0 (xi ) = h

Reemplazando los valores en la tabla:

Métodos Numéricos
f 0 (xi ) = 1,60508−1,28942
0,1
f 0 (xi ) = 3, 1566
Cálculo del error:
error = | v.real−v.calculado
v.real | ∗ 100 %

error = | 3,54315−3,1566
3,54315 | ∗ 100 %

error = 10, 68 %
Segunda Derivada:

f (xi )−2f (xi+1 )+f (xi−2 )


f 00 (xi ) = h2

1,60508−2(1,28942)+1,03269
f 00 (xi ) = 0,12

f 00 (xi ) = 5, 893
Cálculo del error:
error = | v.real−v.calculado
v.real | ∗ 100 %

error = | 8,61146−5,893
8,61146 | ∗ 100 %

error = 31, 57 %
Segunda diferencia finita hacia atrás, primera derivada O(h2 )

3f (xi )−4f (xi+1 )+f (xi+2 )


f 0 (xi ) = 2h

3(1,60508)−4(1,28942)+1,03269
f 0 (xi ) = 2(0,1)

f 0 (xi ) = 3, 45125
Cálculo del error:
error = | v.real−v.calculado
v.real | ∗ 100 %

error = | 3,53415−3,45125
3,53415 | ∗ 100 %

error = 2, 35 %
Segunda diferencia finita hacia atrás:

2f (xi )−5f (xi−1 +4f (xi−2 )−f (xi−3 )


f 00 (xi ) = h2

2(1,60508)−5(1,28942)+4(1,03269)−0,81736
f 00 (xi ) = (0,1)2

f 00 (xi ) = 7, 646
Universidad de las Fuerzas Armadas - ESPE

Cálculo del error:


error = | v.real−v.calculado
v.real | ∗ 100 %

error = | 8,61146−7,646
8,61146 | ∗ 100 %

error = 11, 21 %
3. Sea la función f (x) = ln(x) tan(x) , calcular la derivada por métodos numéricos en el punto x=4 con
h= 0.1, aplicando el método de diferencia centrada.

Métodos Numéricos
Solución

Creamos una tabla.

x 3,7 3,8 3,9 4 4,1 4,2 4,3


f (x) 0,8173 1,0326 1,2894 1,6050 2,0085 2,5512 3,3341
Al aplicar la primera formula de diferencia:

f (x + h) − f (x − h)
f 0 (x) =
2h

2,0085 − 1,2894
f 0 (x) = = 3,5955
2(0,2)
calculamos el error:
Vr − Vc
Er = | ∗ 100 %|
Vr
3,5341 − 3,5955
Er = | ∗ 100 %| = 1,73 %
3,5341
Al aplicar la segunda formula de diferencia:
−f (x + 2h) + 8f (x + h) − 8f (x − h) + f (x − 2h)
f 0 (x) =
12h

−(2,5512) + 8(2,0085) − 8(1,2894) + 1,0326


f 0 (x) = = 3,5285
12(0,1)
calculamos el error:
Vr − Vc
Er = | ∗ 100 %|
Vr
3,5341 − 3,5285
Er = | ∗ 100 %| = 0,16 %
3,5341
5. Ejemplos en MATLAB

Código Matlab
1 clc
2 clear all
3
4 f=i n p u t ( ’ I n g r e s e ␣ l a ␣ f u n c i o n ␣ f : ␣ ’ ) ;
5 x0=i n p u t ( ’ I n g r e s e ␣ e l ␣ punto ␣ donde ␣ s e ␣ d e s e a ␣ e v a l u a r ␣ l a ␣ d e r i v a d a : ␣ ’ ) ;
6 h=i n p u t ( ’ I n g r e s e ␣ l a ␣ v a r i a c i o n ␣ de ␣ " x " : ␣ ’ ) ;
7 f 4=s u b s ( f , x0+4∗h ) ;
8 f 3=s u b s ( f , x0+3∗h ) ;
9 f 2=s u b s ( f , x0+2∗h ) ;
10 f 1=s u b s ( f , x0+h ) ;
11 f 0=s u b s ( f , x0 ) ;
Universidad de las Fuerzas Armadas - ESPE

12 f_1=s u b s ( f , x0−h ) ;
13 f_2=s u b s ( f , x0−2∗h ) ;
14 f_3=s u b s ( f , x0−3∗h ) ;
15 f_4=s u b s ( f , x0−4∗h ) ;
16 d i s p ( ’1−DIFERENCIAS␣DIVIDIDAS␣FINITAS␣HACIA␣ADELANTE␣ ’ ) ;
17 d i s p ( ’2−DIFERENCIAS␣DIVIDIDAS␣FINITAS␣HACIA␣ATRAS ’ ) ;
18 d i s p ( ’3−DIFERENCIAS␣DIVIDIDAS␣FINITAS␣CENTRADA ’ ) ;
19 n=i n p u t ( ’ s e l e c c i o n e ␣ e l ␣ c a s o : ␣ ’ ) ;
20
21 switch n
22 case 1
23 d i s p ( ’DIFERENCIAS␣DIVIDIDAS␣FINITAS␣HACIA␣ADELANTE␣ ’ ) ;

Métodos Numéricos
24 p r i m e r a _ d e r i v a d a =( f 1 −f 0 ) /h ;
25 s eg u nd a _d e ri v ad a =( f 2 −2∗ f 1+f 0 ) /h ^ 2 ;
26 t e r c e r a _ d e r i v a d a =( f 3 −3∗ f 2 +3∗ f 1 −f 0 ) /h ^ 3 ;
27
28 p r i m e r a _ d e r i v a d a 2=(− f 2 +4∗ f 1 −3∗ f 0 ) / ( 2 ∗ h ) ;
29 s e g u n d a _ d e r i v a d a 2=(− f 3 +4∗ f 2 −5∗ f 1 +2∗ f 0 ) /h ^ 2 ;
30 t e r c e r a _ d e r i v a d a 2 =(−3∗ f 4 +14∗ f 3 −24∗ f 2 +18∗ f 1 −5∗ f 0 ) / ( 2 ∗ h ^ 3 ) ;
31
32 case 2
33 d i s p ( ’DIFERENCIAS␣DIVIDIDAS␣FINITAS␣HACIA␣ATRAS ’ ) ;
34 p r i m e r a _ d e r i v a d a =( f 0 −f_1 ) /h ;
35 s eg u nd a _d e ri v ad a =( f 0 −2∗f_1+f_2 ) /h ^ 2 ;
36 t e r c e r a _ d e r i v a d a =( f 0 −3∗f_1+3∗f_2−f_3 ) /h ^ 3 ;
37
38 p r i m e r a _ d e r i v a d a 2 =(3∗ f 0 −4∗f_1+f_2 ) / ( 2 ∗ h ) ;
39 s e g u n d a _ d e r i v a d a 2 =(2∗ f 0 −5∗f_1+4∗f_2−f_3 ) /h ^ 2 ;
40 t e r c e r a _ d e r i v a d a 2 =(5∗ f 0 −18∗f_1+24∗f_2 −14∗f_3+3∗f_4 ) / ( 2 ∗ h ^ 3 ) ;
41 case 3
42 d i s p ( ’DIFERENCIAS␣DIVIDIDAS␣FINITAS␣CENTRADA ’ ) ;
43 p r i m e r a _ d e r i v a d a =( f 1 −f_1 ) / ( 2 ∗ h ) ;
44 s eg u nd a _d e ri v ad a =( f 1 −2∗ f 0+f_1 ) /h ^ 2 ;
45 t e r c e r a _ d e r i v a d a =( f 2 −2∗ f 1 +2∗f_1−f_2 ) / ( 2 ∗ h ^ 3 ) ;
46
47 p r i m e r a _ d e r i v a d a 2=(− f 2 +8∗ f 1 −8∗f_1+f_2 ) / ( 1 2 ∗ h ) ;
48 s e g u n d a _ d e r i v a d a 2=(− f 2 +16∗ f 1 −30∗ f 0 +16∗f_1−f_2 ) / ( 1 2 ∗ h ^ 2 ) ;
49 t e r c e r a _ d e r i v a d a 2=(− f 3 +8∗ f 2 −13∗ f 1 +13∗f_1 −8∗f_2+f_3 ) / ( 8 ∗ h ^ 3 ) ;
50 otherwise
51 f p r i n t f ( ’ERROR: ␣ Opcion ␣ i n v a l i d a \n ’ ) ;
52
53 end
54
55 e r r o r 1=abs ( p r i m e r a _ d e r i v a d a 2 −p r i m e r a _ d e r i v a d a ) / p r i m e r a _ d e r i v a d a ;
56 e r r o r 2=abs ( segunda_derivada2−s eg u nd a _d e ri v ad a ) / se g un d a_ de r iv a da ;
57 e r r o r 3=abs ( t e r c e r a _ d e r i v a d a 2 −t e r c e r a _ d e r i v a d a ) / t e r c e r a _ d e r i v a d a ;
58 f p r i n t f ( ’ Primera ␣ D eri vad a \ t ␣ Segunda ␣ De riv ada \ t ␣ E r r o r \n ’ )
59 f p r i n t f ( ’ \tO ( h ) \ t \ t \ t \ t 0 ( h ^ 2 ) \n−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n ’ )
60 f p r i n t f ( ’ %0.5 f ␣ \ t \ t \ t ␣ %0.5 f ␣ \ t \ t \ t ␣ %0.5 f \n ’ , p r i m e r a _ d e r i v a d a , p r i m e r a _ d e r i v a d a 2 ,
error1 ) ;
61 f p r i n t f ( ’ %0.5 f ␣ \ t \ t \ t ␣ %0.5 f ␣ \ t \ t \ t ␣ %0.5 f \n ’ , segunda_derivada , segunda_derivada2 ,
error2 ) ;
62 f p r i n t f ( ’ %0.5 f ␣ \ t \ t \ t ␣ %0.5 f ␣ \ t \ t \ t ␣ %0.5 f \n ’ , t e r c e r a _ d e r i v a d a , t e r c e r a _ d e r i v a d a 2 ,
error3 ) ;
Ejemplos

Estime la derivada de f (x) = −0,1x4 − 0,15x3 − 0,5x2 − 0,25x + 1,2 en x = 0,5 usando diferencias
dividadas finitas y tamaño de paso: h = 0,25 utilizando DIFERENCIAS DIVIDIDAS FINITAS
HACIA ADELANTE

Ejecución del Programa

Ingrese la funcion f: ’-0.1*x^4-0.15*x^3-0.5*x^2-0.25*x+1.2’


Ingrese el punto donde se desea evaluar la derivada: 0.5
Ingrese la variacion de "x": 0.25

1-DIFERENCIAS DIVIDIDAS FINITAS HACIA ADELANTE


Universidad de las Fuerzas Armadas - ESPE

2-DIFERENCIAS DIVIDIDAS FINITAS HACIA ATRAS


3-DIFERENCIAS DIVIDIDAS FINITAS CENTRADA
seleccione el caso: 1

DIFERENCIAS DIVIDIDAS FINITAS HACIA ADELANTE


Primera Derivada Segunda Derivada Error
O(h) 0(h^2)
---------------------------------------------
-1.15469 -0.85938 -0.25575

Métodos Numéricos
-2.36250 -1.61250 -0.31746
-3.00000 -2.10000 -0.30000

Estime la derivada de f (x) = −0,1x4 − 0,15x3 − 0,5x2 − 0,25x + 1,2 en x = 0,5 usando diferencias
dividadas finitas y tamaño de paso: h = 0,25 utilizando DIFERENCIAS DIVIDIDAS FINITAS
HACIA ATRAS

Ejecución del Programa

Ingrese la funcion f: ’-0.1*x^4-0.15*x^3-0.5*x^2-0.25*x+1.2’


Ingrese el punto donde se desea evaluar la derivada: 0.5
Ingrese la variacion de "x": 0.25

1-DIFERENCIAS DIVIDIDAS FINITAS HACIA ADELANTE


2-DIFERENCIAS DIVIDIDAS FINITAS HACIA ATRAS
3-DIFERENCIAS DIVIDIDAS FINITAS CENTRADA
seleccione el caso: 2

DIFERENCIAS DIVIDIDAS FINITAS HACIA ATRAS


Primera Derivada Segunda Derivada Error
O(h) 0(h^2)
---------------------------------------------
-0.71406 -0.87813 -0.22976
-1.31250 -1.61250 -0.22857
-1.20000 -2.10000 -0.75000
Estime la derivada de f (x) = −0,1x4 − 0,15x3 − 0,5x2 − 0,25x + 1,2 en x = 0,5 usando diferencias
dividadas finitas y tamaño de paso: h = 0,25 utilizando DIFERENCIAS DIVIDIDAS FINITAS
CENTRADA

Ejecución del Programa

Ingrese la funcion f: ’-0.1*x^4-0.15*x^3-0.5*x^2-0.25*x+1.2’


Ingrese el punto donde se desea evaluar la derivada: 0.5
Ingrese la variacion de "x": 0.25

1-DIFERENCIAS DIVIDIDAS FINITAS HACIA ADELANTE


2-DIFERENCIAS DIVIDIDAS FINITAS HACIA ATRAS
3-DIFERENCIAS DIVIDIDAS FINITAS CENTRADA
Universidad de las Fuerzas Armadas - ESPE

seleccione el caso: 3
DIFERENCIAS DIVIDIDAS FINITAS CENTRADA
Primera Derivada Segunda Derivada Error
O(h) 0(h^2)
---------------------------------------------
-0.93437 -0.91250 -0.02341
-1.76250 -1.75000 -0.00709
-2.10000 -2.10000 -0.00000

Métodos Numéricos
6. Conclusiones
Se logró identificar los diferentes tipos de diferenciación numérica además de las aplicaciones que se les
puede dar en la vida real

El error que se produce al aplicar este método es considerable, como se pudo ver en los ejemplos, ya
que la mayoría de derivadas producían un error mayor al 1 %

Mediante la ayuda del el software MATLAB para la programación de dichos métodos, se pudo optimizar
la aplicación del método para cualquier función que se deseee analizar
Universidad de las Fuerzas Armadas - ESPE

7. Recomendaciones
Tener un conocimiento previo básico para el uso del software MATLAB para un correcto entendimiento
de los métodos programados descritos anteriormente.

Manejar el tema de derivadas con facilidad, debido a que el método implica obtener las diferentes
derivadas de una función

Métodos Numéricos
8. Bibliografía
Referencias
[1] Chapra,S. Raymond, C. Métodos Numéricos Para Ingenieros 5ta ed. McGraw Hill, México 2007.

You might also like