8/21/2019 Derivacion Numerica Trabajo de Labo
1/12
DERIVACIO N NUMERICA
1) Escr ib ir una func in MATLAB df(x) que admita como entradas un
vector de puntos x y los valores de una funcin f en los mismos , yque calcule el valor de la derivada primera en los mismos
utilizando la frmula de diferencia adelantada. Para calcular el
valor en el extremo superior debe usarse la
frmula de diferencia retrasada. El c digo utilizado es el
siguiente:
El p r ogr ama admi t e como en t r ada l os va l o r es de x , f ( x ) con
l o cua l i n t e r po l a y ob t i ene l os c o e fi c i e n t e s del polinomio interpolador,donde luego de evaluar los f(xi) nos arroja resultados de las primeras derivada
8/21/2019 Derivacion Numerica Trabajo de Labo
2/12
2) A p l i c a r l a f r m u la d e do s p un t o s ad e l a n ta d a a l c l c u l o d e l ad e ri vada p ri mer a de f (x) = sinx en x = 2,13432.Comprobar que al ir
reduciendo h el error se reduce de manera aproximadamente lineal con h.
El cdigo utilizado es el siguiente:
8/21/2019 Derivacion Numerica Trabajo de Labo
3/12
Una vez corrido el programa obtenemos los siguientes resultados, y
la grafica donde se evidencia el comporta-miento del error en
funcin de h:
8/21/2019 Derivacion Numerica Trabajo de Labo
4/12
3) Repetir el ejercicio anterior comparando la precisin de la frmula dediferencia adelantada con la retrasada. Aplicar tambin ambas frmulas al
clcu lo de la derivada de la funcin g(x) = 1(1+e^x) en x = 12.El c digoutilizado:
El programa nos arroja a la pantalla lo siguiente:
8/21/2019 Derivacion Numerica Trabajo de Labo
5/12
4) Supongamos que se conoce el valor de la derivada mediante la frmulade diferencia adelantada para tres valores de h diferentes. Es posible
estimar el valor del h optimo? Es posible estimar el error que se
comete en el clculo en cada uno de los ca so s? . Ap lic arl o al c lculo
de la derivada de la funcin f (x) = senx en x=0.6 usando h=0.1, h=0.01 yh=0.0000000001.
Solucin
El mejor valor que se le puede dar a b es aquel que este mas prximo a cero.
En otras palabras h0.Es posible nicamente cuando se conoce el valor realde la derivada de la funcin original.Los resultados que nos arroja Matlab son: Clculo con h = 0,1
Clculo con h = 0,01
8/21/2019 Derivacion Numerica Trabajo de Labo
6/12
Clculo con h = 0,0000000001
5) Cal cul ar la der iva da de la fun ci n f (x) = tan(x) en x=3 .14 usa ndoh=0.1 y h=0.01. Comparar el resul tado con el valor exacto. Es
buena la ap roximacin? Por qu? El valor de la der ivada ut il izandoderivacin numrica es muy bueno, porque el error estimado oscila entre
0 y0.33 por ciento por lo tanto es una muy buena aproximacin. E l
c lculo con h=0.01 nos arroja un error del 0 por lo tanto es mucho ms
preci so qu e si ut il izamos h=0.1El cdigo utilizado es el siguiente:
La aplicacin en Matlab nos indica lo siguiente:
8/21/2019 Derivacion Numerica Trabajo de Labo
7/12
6) Cal cul ar cot as p ara el e r ror de t run cac in que se comete alaproximar las derivadas de las funciones f (x) = 11+senxy g(x) = log(1 + 2x)
. Calcular las cotas teniendo en cuenta el error de redondeo y comprobarque los errores reales estn por debajo de lo permitido por la cota.
La s f rmulas ms utilizadas son las que emplean tres y cinco puntos
devaluacin. Las siguientes frmulas se obtienen de las frmulas de 3
puntos:
Observ emos que l a cota de l e r ror en e s te u lt imo caso es
aproximadamente la mitad que en los otros dos casos,ademas esta formula
8/21/2019 Derivacion Numerica Trabajo de Labo
8/12
necesita menos evaluaciones de f que la ante rior. El error de truncamiento,
si f (3)() no ca mb ia mu y r pidamente, tiende a cero a la misma velocidad
que h2.Ahora bien de acuerdo al ejemplo anterior no es aconsejable
elegir h demasiado pequeo, por lo que ser til disponer de frmulas que
aproximen
y que
tengan un error de
truncamiento de orden
mayor al dado.
7) Construir una tabla de derivadas primeras de las funcin g(x) definida
po r la si gu iente tabla en los puntos con la mayor precisin posible
mediante frmulas de tres puntos.
8/21/2019 Derivacion Numerica Trabajo de Labo
9/12
Para la solucin de este ejercicio utilizaremos el programa que se realizo en el
ejercicio nmero 1, donde ingresamos el nmero de pun tos que deseamos y sus
respectivas imgenes, el programa determina el polinomio interpolador, evalalas derivadas en esos puntos y nos devuelve los valores.
Cdigo a utilizarse:
Con estos valores podremos completar el cuadro de las primeras
derivadas.
8/21/2019 Derivacion Numerica Trabajo de Labo
10/12
8/21/2019 Derivacion Numerica Trabajo de Labo
11/12
8) Usando la frmula de diferencia centrada calcular la derivada primera de la
funcin f(x) = arctan x en el punto x = 2 (el valor correcto es 1/3). Utilizar
diferentes valores de h y estudiar los efectos de los errores de redondeo y de
truncacin.
Codigo a utilizarse f u n c t i o n D e r i v a c i o n C e n t r a d a
clcc l e a r a l ls y m s x h=0;
y=i n p u t ( I n g r e s e l a f u n c i o n q u e d e s e a d e r i v a
r : );
xo=i n p u t ( I n g r e s e e l p u n t o e n e lc u a l d e s e a c a l c u l a r l a d e r i v a d a : );
w h i l e (h< = 0 )
h=i n p u t ( I n g r e s e h : );if(h< = 0 )
d i s p l a y ( h d e b e s e r m a y o r a c e r o )
endendv r e a l =s u b s (d i f f (y),x,xo);v a p r o x i m a d o 1 =(s u b s (y,x,xo+h)-s u b s (y,x,xo-h) ) / ( 2 * h);v a p r o x i m a d o 2 =(-s u b s (y,x,xo+2*h) + 8 * s u b s (y,x,xo+h) -
8 * s u b s (y,x,xo-h)+s u b s (y,x,xo-2*h) ) / ( 1 2 * h);
e r r o r 1 =abs((v r e a l -v a p r o x i m a d o 1 )/v r e a l ) * 1 0 0 ;e r r o r 2 =abs((v r e a l -v a p r o x i m a d o 2 )/v r e a l ) * 1 0 0 ;
f p r i n t f ( V a l o r r e a l : % . 8 f \ n ,v r e a l )
f p r i n t f ( V a l o r a p r o x i m a d o d e o r d e n O ( h ^ 2 ) : %. 8 f \ n ,v a p r o x i m a d o 1 )
f p r i n t f ( V a l o r a p r o x i m a d o d e o r d e n O ( h ^ 4 ) : %
. 8 f \ n ,v a p r o x i m a d o 2 )
f p r i n t f ( E r r o r 1 : % . 8 f \ n ,e r r o r 1 )f p r i n t f ( E r r o r 2 : % . 8 f \ n ,e r r o r 2 )
end
La aplicacin en Matlab nos muestra lo siguiente
Para h=0.1
8/21/2019 Derivacion Numerica Trabajo de Labo
12/12
Para h=0.01
Podemos observar en este ejemplo que el error disminuye a medida que h
disminuye.9. De du ci r un a fo rmula de cinco puntos que utilice los valores de
la funcin en lo p untos x, x+h, x+2h , x+3h y x-h para calcular
Para la deduccin de la funcin con esos valores se empezar con la expansin
de la serie de Taylor