Derivacion Numerica Trabajo de Labo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

DERIVACION NUMERICA

1) Escribir una funcin MATLAB df(x) que admita como entradas un


vector de puntos x y los valores de una funcin f en los mismos, y
que calcule el valor de la deri vada pri mera 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 cdigo utilizado es el
siguiente:

El pr ogr ama admi t e como ent r ada l os val or es de x, f ( x) con
l o cual i nt er pol a y obt i ene l os coeci ent es del polinomio interpolador,
donde luego de evaluar los f(xi) nos arroja resultados de las primeras derivada

2) Ap l i c a r l a f r mul a de dos punt os adel ant ada al cl cul o de l a
der i vada pr i 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:


Una vez corrido el programa obtenemos los siguientes resultados, y
la graca donde se evidencia el comporta-miento del error en
funcin de h:


3) Repetir el ejercicio anterior comparando la precisin de l a f rmula de
diferencia adelantada con la retrasada. Aplicar tambin ambas frmulas al
clculo de la derivada de la funcin g(x) = 1(1+e^x) en x = 12.El cdigo
utilizado:

El programa nos arroja a la pantalla lo sigui ente:

4) Supongamos que se conoce el valor de la derivada mediante la frmula
de 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 l os cas os ? . Apl i car l o al clculo
de la derivada de la funcin f (x) = senx en x=0.6 usando h=0.1, h=0.01 y
h=0.0000000001.
Solucin
El mejor valor que se le puede dar a b es aquel que este mas prximo a cero.
En otras palabras h 0.Es posible nicamente cuando se conoce el valor real
de la derivada de la funcin original.
Los resultados que nos arroja Matlab son:
Clculo con h = 0,1


Clculo con h = 0,01

Clculo con h = 0,0000000001

5) Cal cul ar l a der i vada de l a f unci n f (x) = tan(x) en x=3. 14 us ando
h=0. 1 y h=0. 01. Compar ar el r es ul t ado con el valor exacto. Es
buena la aproximacin? Por qu? El valor de la derivada utilizando
derivacin numrica es muy bueno, porque el error estimado oscila entre
0 y0.33 por ciento por lo tanto es una muy buena aproximacin. El
clculo con h=0.01 nos arroja un error del 0 por lo tanto es mucho ms
preciso que si utilizamos h=0.1
El cdigo utilizado es el siguiente:

La aplicacin en Matlab nos indica lo sigui ente:


6) Cal cul ar cot as par a el er r or de t r uncaci n que se comete al
aproximar 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 comprobar
que los errores reales estn por debaj o de l o per mi t i do por l a cot a.
Las f rmulas ms utilizadas son las que emplean tres y cinco puntos
devaluacin. Las siguientes frmulas se obtienen de las frmulas de 3
puntos:

Obs er vemos que l a cot a del er r or en es t e ultimo caso es
aproximadamente la mitad que en los otros dos casos,ademas es t a f ormula
necesita menos evaluaciones de f que la anterior. El error de truncamiento,
si f (3)() no cambi a muy 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 l o que s er 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) denida
por la siguiente tabla en los puntos

con la mayor precisin posible
mediante frmulas de tres puntos.



Para la solucin de este ejercicio utilizaremos el programa que se realizo en el
ejercicio nmero 1, donde ingresamos el nmero de puntos que deseamos y sus
respectivas imgenes, el programa determina el polinomio interpolador, evala
las derivadas en esos puntos y nos devuelve los valores.
Cdigo a utilizarse:



Con estos valores podremos completar el cuadro de las primeras
derivadas.



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
clc
c l e a r a l l
s 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 l
c 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

Para h=0.01


Podemos observar en este ejemplo que el error disminuye a medida que h
disminuye.9. Deduci r una f ormula de cinco puntos que utilice los valores de
la funcin en lo puntos 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

También podría gustarte