Está en la página 1de 13

INSTITUTO POLITCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGA

MTODOS NUMRICOS (TALLER)

GRUPO: 4AM1

TAREA 5

DIFERENCIACIN NUMRICA

REYES RODRGUEZ ALEJANDRO


RUIZ HERNNDEZ BRENDA ANGLICA

PROFESOR:
RAMREZ BARRIOS MIGUEL LUIS

MXICO D.F. A 18 DE JUNIO DE 2015

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:

Truncando la ecuacin despus de la primera derivada y ordenando los trminos se obtiene:


f ' (x0 )=

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

Donde al diferencial se le conoce como la primera diferencia hacia adelante y a h se le llama


tamao del paso, esto es, la longitud del intervalo sobre el cual se hace la aproximacin. 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.

Aproximacin a la primera derivada con diferencias centrales


Una tercera forma de aproximar la primera derivada es restar la ecuacin de la expansin en
serie de Taylor hacia adelante:

Para obtener:

Que se puede resolver para:

Esta ltima ecuacin es una representacin de las diferencias centrales de la primera


derivada. Ntese que el error de truncamiento es del orden de en contraste con las diferencias
divididas hacia adelante y hacia atrs, las cuales fueron de orden h.
Por lo tanto, el anlisis de la serie de Taylor ha llevado a la informacin prctica de que la
diferencia central es la representacin ms exacta de la derivada. Por ejemplo, si se parte el
tamao del paso a la mitad usando diferencias hacia atrs 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 funcin:
f ( x )=cos ( 4 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.5

h2=0.2
En el Intervalo [0, 5]

De manera analtica, la primera derivada es:


'

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

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.

b) Llenar la siguiente tabla:


X

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]

De manera analtica, la primera derivada es:


CODIFICACIN EN MATLAB

'
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.

a) Llenar la siguiente tabla:


X

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

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


h1=0.5

h2=0.2
En el Intervalo [0, 5]

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 ATRAS
h1=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;
end
for 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;
end
for 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;
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')

h3=0.1

Figura 3. Grfico comparativo con respecto a los diferentes valores que tiene h.

b) Llenar la siguiente tabla:


X

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

b) Llenar la siguiente tabla:


X

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')

Figura 5. Grfico comparativo con respecto a las diferentes aproximaciones en la


Diferenciacin Numrica.
a) Llenar la siguiente tabla:
X

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 ]

La Segunda Derivada analticamente es:


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

Figura 6. Grfico de la Segunda Derivada


clc
clear all
close all
%SEGUNDA DERIVADA
h=0.1

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')

También podría gustarte