View
218
Download
0
Category
Preview:
DESCRIPTION
Metodos Numéricos. Ejemplos
Citation preview
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
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.
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)
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.
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')
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.
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.
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')
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
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')
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.
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
Recommended