15
INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGÍA MÉTODOS NUMÉRICOS (TALLER) GRUPO: 4AM1 TAREA 5 DIFERENCIACIÓN NUMÉRICA” REYES RODRÍGUEZ ALEJANDRO RUIZ HERNÁNDEZ BRENDA ANGÉLICA PROFESOR: RAMÍREZ BARRIOS MIGUEL LUIS

Tarea 5 Derivadas

Embed Size (px)

DESCRIPTION

Metodos Numéricos. Ejemplos

Citation preview

Page 1: Tarea 5 Derivadas

INSTITUTO POLITÉCNICO NACIONALUNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGÍA

MÉTODOS NUMÉRICOS (TALLER)

GRUPO: 4AM1

TAREA 5

“DIFERENCIACIÓN NUMÉRICA”

REYES RODRÍGUEZ ALEJANDRO RUIZ HERNÁNDEZ BRENDA ANGÉLICA

PROFESOR:

RAMÍREZ BARRIOS MIGUEL LUIS

MÉXICO D.F. A 18 DE JUNIO DE 2015

Page 2: Tarea 5 Derivadas

INTRODUCCIÓN

DIFERENCIACIÓN NUMÉRICA

El cálculo de la derivada de una función puede ser un proceso "difícil" ya sea por lo complicado de la definición analítica de la función o por que esta se conoce únicamente en un número discreto de puntos.Estudiaremos técnicas para aproximar las derivadas de una función y veremos el análisis de error de dichas formulas

•Para aproximar la derivada numéricamente usaremos cocientes de diferencias. •Para derivar las formulas usaremos el Teorema de Taylor

Existen 3 diferentes tipos de aproximación numérica: 

•Aproximación a la primera derivada con diferencias hacia atrás •Aproximación a la primera derivada con diferencias hacia adelante • Aproximación a la primera derivada con diferencias centrales

Aproximación a la primera derivada con diferencias hacia atrás

La serie de Taylor se puede expandir hacia atrás para calcular un valor anterior sobre el valor actual, dado por: 

Truncando la ecuación después de la primera derivada y ordenando los términos se obtiene:

f ' (x0)=f (x0 )−f (x0−h )

h

Donde los errores es 0 (h) y el diferencial indica la primer diferencia dividida hacia atrás. 

Aproximación a la primera derivada con diferencias hacia adelante

f ' (x0)=f (x0+h )−f (x0 )

h

Donde al diferencial se le conoce como la primera diferencia hacia adelante y a h se le llama tamaño del paso, esto es, la longitud del intervalo sobre el cual se hace la aproximación. Se le llama diferencia " hacia adelante " ya que usa los datos (i) e (i+1) para estimar la derivada. Al termino completo (o sea, la diferencial entre h) se conoce como primera diferencia dividida finita.

Page 3: Tarea 5 Derivadas

Aproximación a la primera derivada con diferencias centrales Una tercera forma de aproximar la primera derivada es restar la ecuación de la expansión en serie de Taylor hacia adelante:

Para obtener: 

Que se puede resolver para:

Esta última ecuación es una representación de las diferencias centrales de la primera derivada. Nótese que el error de truncamiento es del orden de en contraste con las diferencias divididas hacia adelante y hacia atrás, las cuales fueron de orden h. 

Por lo tanto, el análisis de la serie de Taylor ha llevado a la información práctica de que la diferencia central es la representación más exacta de la derivada. Por ejemplo, si se parte el tamaño del paso a la mitad usando diferencias hacia atrás o hacia adelante, el error se reducirá aproximadamente a la mitad, mientras que para diferencias centrales, el error se reduce a la cuarta parte.

EJERCICIO 1

Dada la siguiente función:f ( x )=cos (4 x )+sin (3 x)

Por medio de la Aproximación a la Primera Derivada con Diferencias hacia Adelante:

a) Graficar y Comparar si “h” tiene los siguientes valores:

h1=0.5 h2=0.2 h3=0.1

En el Intervalo [0, 5]

De manera analítica, la primera derivada es:

f '( x)=−4 sin (4 x )+3 cos (3 x)

Page 4: Tarea 5 Derivadas

CODIFICACIÓN EN MATLABclcclear allclose all%DIFERENCIAS HACIA ADELANTEh1=0.5;h2=0.2;h3=0.1;j=1;for x=0:h1:5 f_d1(j)=(cos(4*(x+h1))+sin(3*(x+h1)))-(cos(4*x)+sin(3*x))/h1; x_1(j)=x; j=j+1;endfor x=0:h2:5 f_d2(j)=(cos(4*(x+h2))+sin(3*(x+h2)))-(cos(4*x)+sin(3*x))/h2; x_2(j)=x; j=j+1;endfor x=0:h3:5 f_d3(j)=(cos(4*(x+h3))+sin(3*(x+h3)))-(cos(4*x)+sin(3*x))/h3; x_3(j)=x; j=j+1;endf_dreal=-4*sin(4*x_1)+3*cos(3*x_1);plot(x_1,f_dreal,'b')hold onplot(x_1,f_d1,'r')plot(x_2,f_d2,'g')plot(x_3,f_d3,'k')legend('Numérica','h=0.5','h=0.2','h=0.1')xlabel('Eje X')ylabel('Eje Y')

Figura 1. Gráfico comparativo con respecto a los diferentes valores que tiene h.

Page 5: Tarea 5 Derivadas

b) Llenar la siguiente tabla:

X f’ Analítica f’ Numérica h1=0.5

f’ Numérica h2=0.2

f’ Numérica h3=0.1

0.5 -3.425 -2.18774 -3.30181 -3.448940.7 -2.85445 -0.552017 -1.95183 -2.438190.9 -0.942082 0.746737 0.0214999 -0.4314511.2 1.2944 0.597209 1.29506 1.357721.3 1.35602 0.109673 1.00945 1.23241.8 -1.27061 -0.463981 -1.30251 -1.350132.0 -1.0769 1.04769 -0.373181 -0.7755922.5 3.21602 2.31409 3.38316 3.386312.6 3.47317 1.34618 3.10022 3.380012.9 1.0453 -2.83886 -0.603061 0.2471364.5 4.78862 -0.811462 2.6699 3.80235

EJERCICIO 2

Dada la siguiente función:f ( x )=e−2xsin (3 x)

Por medio de la Aproximación a la Primera Derivada con Diferencias hacia Adelante:

a) Graficar y Comparar si “h” tiene los siguientes valores:

h1=0.1 h2=0.01 h3=0.3

En el Intervalo [0, 5]

De manera analítica, la primera derivada es:

f ' ( x )=−2ⅇ−2x s∈[ 3 x ]+3ⅇ−2x c os[3 x ]

CODIFICACIÓN EN MATLABclcclear allclose all%DIFERENCIAS HACIA ADELANTEh1=0.1;h2=0.01;h3=0.3;j=1;for x=0:h1:5 f_d1(j)=(exp(-2*(x+h1))*sin(3*(x+h1))-exp(-2*x)*sin(3*x))/h1; x_1(j)=x; j=j+1;endfor x=0:h2:5 f_d2(j)=(exp(-2*(x+h2))*sin(3*(x+h2))-exp(-2*x)*sin(3*x))/h2; x_2(j)=x; j=j+1;endfor x=0:h3:5 f_d3(j)=(exp(-2*(x+h3))*sin(3*(x+h3))-exp(-2*x)*sin(3*x))/h3; x_3(j)=x; j=j+1;endf_dreal=-2*exp(-2*x_1).*sin(3*x_1)+3*exp(-2*x_1).*cos(3*x_1);plot(x_1,f_dreal,'b')hold ongrid onplot(x_1,f_d1,'r')plot(x_2,f_d2,'g')plot(x_3,f_d3,'k')legend('Numérica','h=0.1','h=0.01','h=0.3')xlabel('Eje X')ylabel('Eje Y')

Page 6: Tarea 5 Derivadas

a) Llenar la siguiente tabla:

X f’ Analítica f’ Numérica h1=0.1

f’ Numérica h2=0.01

f’ Numérica h3=0.3

0.5 -0,65584 -0,73640 -0,6662 -0,76860.7 -0,79921 -0,76491 -0,7969 -0,64580.9 -0,58961 -0,51546 -0,5823 -0,36921.2 -0,16376 -0,10938 -0,1579 -0,02841.3 -0,05958 -0,01917 -0,0551 0,03491.8 0,09425 0,08795 0,0937 0,071222.0 0,06299 0,05369 0,0620 0,03642.5 -0,00563 -0,00811 -0,0059 -0.01052.6 -0,01012 -0,01127 -0,0102 -0.01162.9 -0,01081 -0,00985 -0,0107 -0.00764.5 2,18673e-05 -3,84443e-05 1,5069e-05 -0,0001126

EJERCICIO 3

Dada la siguiente función:f ( x )=e−2xsin (3 x)

Por medio de la Aproximación a la Primera Derivada con Diferencias hacia Atrás:

b) Graficar y Comparar si “h” tiene los siguientes valores:

h1=0.5 h2=0.2 h3=0.1

En el Intervalo [0, 5]

Figura 2. Gráfico comparativo con respecto a los diferentes valores que tiene h.

Page 7: Tarea 5 Derivadas

De manera analítica, la primera derivada es:

f ' ( x )=−2ⅇ−2x s∈[ 3 x ]+3ⅇ−2x c os[3 x ]

CODIFICACIÓN EN MATLABclcclear allclose all%DIFERENCIAS HACIA ATRASh1=0.5;h2=0.2;h3=0.1;j=1;for x=0:h1:5 f_d1(j)=(exp(-2*x)*sin(3*x)-exp(-2*(x-h1))*sin(3*(x-h1)))/h1; x_1(j)=x; j=j+1;endfor x=0:h2:5 f_d2(j)=(exp(-2*x)*sin(3*x)-exp(-2*(x-h2))*sin(3*(x-h2)))/h2; x_2(j)=x; j=j+1;endfor x=0:h3:5 f_d3(j)=(exp(-2*x)*sin(3*x)-exp(-2*(x-h3))*sin(3*(x-h3)))/h3; x_3(j)=x; j=j+1;endf_dreal=-2*exp(-2*x_1).*sin(3*x_1)+3*exp(-2*x_1).*cos(3*x_1);plot(x_1,f_dreal,'b')hold ongrid onplot(x_1,f_d1,'r')plot(x_2,f_d2,'g')plot(x_3,f_d3,'k')legend('Numérica','h=0.5','h=0.2','h=0.1')xlabel('Eje X')ylabel('Eje Y')

Figura 3. Gráfico comparativo con respecto a los diferentes valores que tiene h.

Page 8: Tarea 5 Derivadas

b) Llenar la siguiente tabla:

X f’ Analítica f’ Numérica h1=0.5

f’ Numérica h2=0.2

f’ Numérica h3=0.1

0.5 -0,65584 0,7339 -0,3147 -0,51830.7 -0,79921 -0,3312 -0,7704 -0,80450.9 -0,58961 -0,6962 -0.7110 -0,65721.2 -0,16376 -0,5060 -0,2962 -0,22671.3 -0,05958 -0,3749 -0,1680 -0,10941.8 0,09425 0,0599 0,0974 0,09782.0 0,06299 0,0871 0,0799 0,07202.5 -0,00563 0,0228 0,0025 -0,00212.6 -0,01012 0,0105 -0,0051 -0,00812.9 -0,01081 -0,0090 -0,0118 -0,01154.5 2,18673e-05 0,00055 0,00019 0,000099

EJERCICIO 4

Dada la siguiente función:f ( x )=e−2xsin (3 x)

Por medio de la Aproximación a la Primera Derivada con Diferencias Centrales:

a) Graficar y Comparar si “h” tiene los siguientes valores:

h1=0.5 h2=0.2 h3=0.1

En el Intervalo [0, 5]

De manera analítica, la primera derivada es:

f ' ( x )=−2ⅇ−2x s∈[ 3 x ]+3ⅇ−2x c os[3 x ]CODIFICACIÓN EN MATLABclcclear allclose all%DIFERENCIAS CENTRALESh1=0.5;h2=0.2;h3=0.1; j=1;for x=0:h1:5 f_d1(j)=(exp(-2*(x+h1))*sin(3*(x+h1)))-(exp(-2*(x-h1))*sin(3*(x-h1)))/(2*h1); x_1(j)=x; j=j+1;endfor x=0:h2:5 f_d2(j)=(exp(-2*(x+h2))*sin(3*(x+h2)))-(exp(-2*(x-h2))*sin(3*(x-h2)))/(2*h2); x_2(j)=x; j=j+1;endfor x=0:h3:5 f_d3(j)=(exp(-2*(x+h3))*sin(3*(x+h3)))-(exp(-2*(x-h3))*sin(3*(x-h3)))/(2*h3); x_3(j)=x; j=j+1;endf_dreal=-2*exp(-2*x_1).*sin(3*x_1)+3*exp(-2*x_1).*cos(3*x_1);plot(x_1,f_dreal,'b')hold ongrid onplot(x_1,f_d1,'r')plot(x_2,f_d2,'g')plot(x_3,f_d3,'k')legend('Numérica','h=0.5','h=0.2','h=0.1')xlabel('Eje X')ylabel('Eje Y')

Page 9: Tarea 5 Derivadas

b) Llenar la siguiente tabla:

X f’ Analítica f’ Numérica h1=0.5

f’ Numérica h2=0.2

f’ Numérica h3=0.1

0.5 -0,65584 0,0190 -0,5425 -1,8000.7 -0,79921 -0,4186 -0,7407 -1,33020.9 -0,58961 -0,4717 -0,5758 -0,66271.2 -0,16376 -0,2437 -0,1802 0,03631.3 -0,05958 -0,1574 -0,0779 0,14771.8 0,09425 0,0568 0,0887 0,14212.0 0,06299 0,05498 0,0623 0,06182.5 -0,00563 0,0061 -0,0035 -0,02712.6 -0,01012 4,3748e-07 -0,0084 -0,02722.9 -0,01081 -0,0073 -0,0103 -0,01474.5 2,18673e-05 0,00020 0,000055 -0,0003508

Page 10: Tarea 5 Derivadas

EJERCICIO 5

Dada la siguiente función:f ( x )=e−2xsin (3 x)

Hacer una comparación para h=0.2 por medio de las tres anteriores aproximaciones (Diferencias hacia adelante, Diferencias hacia atrás y Diferencias Centrales)

De manera analítica, la primera derivada es:

f ' ( x )=−2ⅇ−2x s∈[ 3 x ]+3ⅇ−2x c os[3 x ]

CODIFICACIÓN EN MATLABclcclear allclose all%DIFERENCIAS HACIA ADELANTEh1=0.2;j=1;for x=0:h1:5 f_d1(j)=(exp(-2*(x+h1))*sin(3*(x+h1))-exp(-2*x)*sin(3*x))/h1; x_1(j)=x; j=j+1;end%DIFERENCIAS HACIA ATRÁSfor x=0:h1:5 f_d2(j)=(exp(-2*x)*sin(3*x)-exp(-2*(x-h1))*sin(3*(x-h1)))/h1; x_2(j)=x; j=j+1;end%DIFERENCIAS CENTRALESfor x=0:h1:5 f_d3(j)=(exp(-2*(x+h1))*sin(3*(x+h1)))-(exp(-2*(x-h1))*sin(3*(x-h1)))/(2*h1); x_3(j)=x; j=j+1;endf_dreal=-2*exp(-2*x_1).*sin(3*x_1)+3*exp(-2*x_1).*cos(3*x_1);plot(x_1,f_dreal,'b')hold ongrid onplot(x_1,f_d1,'r')plot(x_2,f_d2,'g')plot(x_3,f_d3,'k')legend('Numérica','Diferencias hacia Adelante','Diferencias hacia Atrás','Diferencias Centrales')xlabel('Eje X')ylabel('Eje Y')

Page 11: Tarea 5 Derivadas

a) Llenar la siguiente tabla:

X f’ Analítica f’ (Diferencias haca Adelante)

h=0.2

f’ (Diferencias hacia Atrás)

h=0.2

f’ (Diferencias Centrales)

h=0.20.5 -0,65584 -0,7704 -0,3147 -0,54250.7 -0,79921 -0,7110 -0,7704 -0,74070.9 -0,58961 -0,4406 -0.7110 -0,57581.2 -0,16376 -0,0642 -0,2962 -0,18021.3 -0,05958 0,0120 -0,1680 -0,07791.8 0,09425 0,0799 0,0974 0,08872.0 0,06299 0,0447 0,0799 0,06232.5 -0,00563 -0,0096 0,0025 -0,00352.6 -0,01012 -0,0117 -0,0051 -0,00842.9 -0,01081 -0,0087 -0,0118 -0,01034.5 2,18673e-05 -0,000082 0,00019 0,000055

Figura 5. Gráfico comparativo con respecto a las diferentes aproximaciones en la Diferenciación Numérica.

Page 12: Tarea 5 Derivadas

EJERCICIO 6

Dada la siguiente función:f ( x )=3sin (2x )

Evaluar la Segunda Derivada

De manera analítica, la primera derivada es:

f ' ( x )=6c os [2x ]

La Segunda Derivada analíticamente es:

f ' ' ( x )=−12 s∈[2 x ]

clcclear allclose all%SEGUNDA DERIVADAh=0.1j=1;for x=-2:h:2 f_d(j)=(3*(sin(2*x+h)))-(2*(3*(sin(2*x))))+(3*(sin(2*x-h)))/(h^2); x_1(j)=x; j=j+1;endplot(x_1,f_d,'r')hold onf_dreal=-12*sin(2*x_1);plot(x_1,f_dreal,'b')legend('Numérica','Analítica')

Figura 6. Gráfico de la Segunda Derivada