Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GRUPO: 4AM1
TAREA 5
DIFERENCIACIN NUMRICA
PROFESOR:
RAMREZ BARRIOS MIGUEL LUIS
INTRODUCCIN
DIFERENCIACIN NUMRICA
El clculo de la derivada de una funcin puede ser un proceso "difcil" ya sea por lo complicado
de la definicin analtica de la funcin o por que esta se conoce nicamente en un nmero
discreto de puntos.
Estudiaremos tcnicas para aproximar las derivadas de una funcin y veremos el anlisis de error
de dichas formulas
Para aproximar la derivada numricamente usaremos cocientes de diferencias.
Para derivar las formulas usaremos el Teorema de Taylor
Existen 3 diferentes tipos de aproximacin numrica:
Aproximacin a la primera derivada con diferencias hacia atrs
Aproximacin a la primera derivada con diferencias hacia adelante
Aproximacin a la primera derivada con diferencias centrales
Aproximacin a la primera derivada con diferencias hacia atrs
La serie de Taylor se puede expandir hacia atrs para calcular un valor anterior sobre el valor
actual, dado por:
f ( x 0 ) f ( x 0h )
h
Donde los errores es 0 (h) y el diferencial indica la primer diferencia dividida hacia atrs.
Aproximacin a la primera derivada con diferencias hacia adelante
f ' (x0 )=
f ( x 0 +h )f ( x 0 )
h
Para obtener:
h2=0.2
En el Intervalo [0, 5]
h3=0.1
CODIFICACIN EN MATLAB
clc
clear all
close all
%DIFERENCIAS HACIA ADELANTE
h1=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;
end
for 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;
end
for 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;
end
f_dreal=-4*sin(4*x_1)+3*cos(3*x_1);
plot(x_1,f_dreal,'b')
hold on
plot(x_1,f_d1,'r')
plot(x_2,f_d2,'g')
plot(x_3,f_d3,'k')
legend('Numrica','h=0.5','h=0.2','h=0.1')
xlabel('Eje X')
ylabel('Eje Y')
Figura 1. Grfico comparativo con respecto a los diferentes valores que tiene h.
f Analtica
0.5
0.7
0.9
1.2
1.3
1.8
2.0
2.5
2.6
2.9
4.5
-3.425
-2.85445
-0.942082
1.2944
1.35602
-1.27061
-1.0769
3.21602
3.47317
1.0453
4.78862
f Numrica
h1=0.5
-2.18774
-0.552017
0.746737
0.597209
0.109673
-0.463981
1.04769
2.31409
1.34618
-2.83886
-0.811462
f Numrica
h2=0.2
-3.30181
-1.95183
0.0214999
1.29506
1.00945
-1.30251
-0.373181
3.38316
3.10022
-0.603061
2.6699
f Numrica
h3=0.1
-3.44894
-2.43819
-0.431451
1.35772
1.2324
-1.35013
-0.775592
3.38631
3.38001
0.247136
3.80235
EJERCICIO 2
Dada la siguiente funcin:
f ( x )=e2 x sin(3 x)
Por medio de la Aproximacin a la Primera Derivada con Diferencias hacia Adelante:
a) Graficar y Comparar si h tiene los siguientes valores:
h1=0.1
h2=0.01
En el Intervalo [0, 5]
'
2 x
2 x
clc
f ( x )=2
s [ 3 x ] +3 c os [3 x ]
clear all
close all
%DIFERENCIAS HACIA ADELANTE
h1=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;
end
for 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;
end
for 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;
end
f_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 on
grid on
plot(x_1,f_d1,'r')
plot(x_2,f_d2,'g')
plot(x_3,f_d3,'k')
legend('Numrica','h=0.1','h=0.01','h=0.3')
xlabel('Eje X')
ylabel('Eje Y')
h3=0.3
Figura 2. Grfico comparativo con respecto a los diferentes valores que tiene h.
f Analtica
0.5
0.7
0.9
1.2
1.3
1.8
2.0
2.5
2.6
2.9
4.5
-0,65584
-0,79921
-0,58961
-0,16376
-0,05958
0,09425
0,06299
-0,00563
-0,01012
-0,01081
2,18673e-05
f Numrica
h1=0.1
-0,73640
-0,76491
-0,51546
-0,10938
-0,01917
0,08795
0,05369
-0,00811
-0,01127
-0,00985
-3,84443e-05
f Numrica
h2=0.01
-0,6662
-0,7969
-0,5823
-0,1579
-0,0551
0,0937
0,0620
-0,0059
-0,0102
-0,0107
1,5069e-05
EJERCICIO 3
Dada la siguiente funcin:
f ( x )=e2 x sin(3 x)
Por medio de la Aproximacin a la Primera Derivada con Diferencias hacia Atrs:
f Numrica
h3=0.3
-0,7686
-0,6458
-0,3692
-0,0284
0,0349
0,07122
0,0364
-0.0105
-0.0116
-0.0076
-0,0001126
h2=0.2
En el Intervalo [0, 5]
h3=0.1
Figura 3. Grfico comparativo con respecto a los diferentes valores que tiene h.
f Analtica
0.5
0.7
0.9
1.2
1.3
1.8
2.0
2.5
2.6
2.9
4.5
-0,65584
-0,79921
-0,58961
-0,16376
-0,05958
0,09425
0,06299
-0,00563
-0,01012
-0,01081
2,18673e-05
f Numrica
h1=0.5
0,7339
-0,3312
-0,6962
-0,5060
-0,3749
0,0599
0,0871
0,0228
0,0105
-0,0090
0,00055
f Numrica
h2=0.2
-0,3147
-0,7704
-0.7110
-0,2962
-0,1680
0,0974
0,0799
0,0025
-0,0051
-0,0118
0,00019
EJERCICIO 4
Dada la siguiente funcin:
f ( x )=e2 x sin(3 x)
Por medio de la Aproximacin a la Primera Derivada con Diferencias Centrales:
a) Graficar y Comparar si h tiene los siguientes valores:
h2=0.2
h3=0.1
CODIFICACIN EN MATLABh1=0.5
clc
clear all
En el Intervalo [0, 5]
close all
%DIFERENCIAS CENTRALES
h1=0.5;
De h2=0.2;
manera analtica, la primera derivada es:
h3=0.1;
j=1;
2 x
f ' ( x )=2
for x=0:h1:5
s 3 x +3 2 x c os [3 x ]
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;
end
for 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;
end
for 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;
end
f_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 on
grid on
plot(x_1,f_d1,'r')
plot(x_2,f_d2,'g')
plot(x_3,f_d3,'k')
legend('Numrica','h=0.5','h=0.2','h=0.1')
xlabel('Eje X')
ylabel('Eje Y')
f Numrica
h3=0.1
-0,5183
-0,8045
-0,6572
-0,2267
-0,1094
0,0978
0,0720
-0,0021
-0,0081
-0,0115
0,000099
f Analtica
0.5
0.7
0.9
1.2
1.3
1.8
2.0
2.5
2.6
2.9
4.5
-0,65584
-0,79921
-0,58961
-0,16376
-0,05958
0,09425
0,06299
-0,00563
-0,01012
-0,01081
2,18673e-05
f Numrica
h1=0.5
0,0190
-0,4186
-0,4717
-0,2437
-0,1574
0,0568
0,05498
0,0061
4,3748e-07
-0,0073
0,00020
f Numrica
h2=0.2
-0,5425
-0,7407
-0,5758
-0,1802
-0,0779
0,0887
0,0623
-0,0035
-0,0084
-0,0103
0,000055
f Numrica
h3=0.1
-1,800
-1,3302
-0,6627
0,0363
0,1477
0,1421
0,0618
-0,0271
-0,0272
-0,0147
-0,0003508
EJERCICIO 5
Dada la siguiente funcin:
f ( x )=e2 x sin(3 x)
Hacer una comparacin para h=0.2 por medio de las tres anteriores aproximaciones (Diferencias
hacia adelante, Diferencias hacia atrs y Diferencias Centrales)
De manera analtica, la primera derivada es:
f ' ( x )=22 x s [ 3 x ] +3 2 x c os [3 x ]
CODIFICACIN EN MATLAB
clc
clear all
close all
%DIFERENCIAS HACIA ADELANTE
h1=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 ATRS
for 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 CENTRALES
for 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;
end
f_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 on
grid on
plot(x_1,f_d1,'r')
plot(x_2,f_d2,'g')
plot(x_3,f_d3,'k')
legend('Numrica','Diferencias hacia Adelante','Diferencias hacia
Atrs','Diferencias Centrales')
xlabel('Eje X')
ylabel('Eje Y')
f Analtica
0.5
0.7
0.9
1.2
1.3
1.8
2.0
2.5
2.6
2.9
4.5
-0,65584
-0,79921
-0,58961
-0,16376
-0,05958
0,09425
0,06299
-0,00563
-0,01012
-0,01081
2,18673e-05
f (Diferencias
haca Adelante)
h=0.2
-0,7704
-0,7110
-0,4406
-0,0642
0,0120
0,0799
0,0447
-0,0096
-0,0117
-0,0087
-0,000082
f (Diferencias
hacia Atrs)
h=0.2
-0,3147
-0,7704
-0.7110
-0,2962
-0,1680
0,0974
0,0799
0,0025
-0,0051
-0,0118
0,00019
f (Diferencias
Centrales)
h=0.2
-0,5425
-0,7407
-0,5758
-0,1802
-0,0779
0,0887
0,0623
-0,0035
-0,0084
-0,0103
0,000055
EJERCICIO 6
Dada la siguiente funcin:
f ( x )=3 sin( 2 x)
Evaluar la Segunda Derivada
De manera analtica, la primera derivada es:
'
f ( x )=6 c os [2 x ]
j=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;
end
plot(x_1,f_d,'r')
hold on
f_dreal=-12*sin(2*x_1);
plot(x_1,f_dreal,'b')
legend('Numrica','Analtica')