Está en la página 1de 6

PRCTICA

DERIVACIN NUMRICA

Prcticas Matlab
Prctica 5
Objetivos

Aproximarnumricamenteladerivadadeunafuncinapartirdevaloresconocidosde
lafuncin.

ComandosdeMatlab

eps

Eselepsilonmquina,suvalores2^(52),redondeando2.22e-16

Ejemplosresueltos

Diferenciaprogresiva: f ' a

f a h f a

Aplicacin:Vamosaelegirunasucesindepuntos hn deformaque hn 0
yanalizarquocurrecon Dn

f a hn f a

hn

Tomar f x e x , a 1 yutilizamos hn 10 n parandesde1hasta18.


Generarunatablaquemuestrelosvaloresdehylosvaloresde Dn .Quse
observasihesmuypequeo?
Solucin:
Silosvaloresde f a hn y f a sonmuyprximoselvalorquedevuelvecomo
aproximacinescero.

rdenesMatlab
n=1:18;
h=10.^(-n);
a=1;
x=a+h;
valorfn=exp(x);

PGINA 2

MATLAB: DERIVACIN NUMRICA

numerador=valorfn-exp(a);
Dn=numerador./h;
format long
disp(['
Incremento
Aproximacin'])
disp([h'
numerador'

Numerador
Dn'])

(a)Launidaddedestello(flash)deunacmaraoperaporelalmacenamiento
decargaenuncapacitorysuliberacinrepentinaaldispararlaunidad.Los
datosdelatabladescribenlacargaQquequedaenelcapacitor(medidaen
microcoulombios)eneltiempot(medidoensegundos).Uselosdatospara
dibujarlagrficadeestafuncinyestimelapendientedelarectatangente
enelpuntodondet=0.04

0.0

100.0

0.02

81.87

0.04

67.03

0.06

54.88

0.08

44.93

0.10

36.76

(b)Unmodeloexponencialparalacargaes Q e 4.605310.0055x .Laderivada


Q(t)representalacorrienteelctricaquefluyedelcapacitorhaciaelbulbode
lalmparadeldestello.Calculalacorrientecuandot=0.04seg.
c)Compararelresultadoconelobtenidoenelapartado(a)yrellenalatabla
paraverculeselporcentajedeerrorencadacaso:

valor aproximado Q ' 0.4

Valor
aproximado

Q ' 0.4

Dif.Progresiva

Dif.Regresiva

Dif.Central

Conqudiferenciaseconsigueunaaproximacinmejor?

Solucin:

100

MATLAB: PRCTICA 5

PGINA 3

a) CdigoMatlab
t=[0 0.02 0.04 0.06 0.08 0.1];
q=[100 81.87 67.03 54.88 44.93 36.76];
plot(t,q)
%Posicin de instante a estudiar en el vector t
num=3;
num1=num+1;
num2=num-1;
%Diferencia progresiva
disp('Diferencia progresiva')
difProgresiva=(q(num1)-q(num))/(t(num1)-t(num))
disp('Diferencia regresiva')
difRegresiva=(q(num)-q(num2))/(t(num)-t(num2))
disp('Diferencia central')
difCentral=(q(num1)-q(num2))/(t(num1)-t(num2))

b) CdigoMatlab
%Calculo de Q'(t)
syms x
derivada=subs(diff(exp(4.6053-10.055*x)),t(num))

Nota:Ajustededatos

%Ajuste a una funcin exponencial


coeficientes=polyfit(t,log(q),1)
%coeficientes es un vector con los coeficientes de la recta
%Si coeficientes=(m n) entonces la recta es log(q)=m*t+n
ye=exp(coeficientes(1)*t+coeficientes(2));
plot(t,ye,'g')

c) CdigoMatlab
%Comparacin
diferencias=[difProgresiva difRegresiva difCentral];
porcentaje=abs((diferencias-derivada)/derivada)*100;
disp('-------------------------------------')
disp('Comparacin')
titulos=['Progresiva
Regresiva Central']
disp([ diferencias ; porcentaje])

Ejerciciospropuestos
ParauncircuitoconvoltajeE(t)einductanciaL,laprimeraleydeKirchhoff
expresalarelacin

E L

dI
RI
dt

dondeReslaresistenciadelcircuito,LlainductanciaeIlaintensidadde
corriente.Enuncircuitoenelcual R 0.142 y L 0.98H sehamedidola

PGINA 4

MATLAB: DERIVACIN NUMRICA

intensidadcada0.01segundosenelminuto1.00yel1.10,obtenindoselos
valores
t

1.00

3.10

1.01

3.12

1.02

3.14

1.03

3.18

1.04

3.14

1.05

3.18

1.06

3.26

1.07

3.32

1.08

3.18

1.09

3.26

1.10

3.12

DeterminarnumricamenteelvaloraproximadodeE(t).

APNDICE

Diferenciaprogresiva: f ' a

f a h f a

Paraacotarelerrorquesecometeenestaaproximacinhayquetenerencuentalafrmula
deTaylordegrado1,

f a h f a f ' a h R1

Luego

f 'a

f a h f a R1

h
h

Como R1 O h2 ,entonceselerrordetruncamiento

Error f ' a

f a h f a
h

O h

''
R1 f t

h con t a , a h
Unacotadelerrorpodraobtenerseconsiderandoque
2!
h

MATLAB: PRCTICA 5

PGINA 5

SiMesunacotade f '' t en a , a h entoncesunacotadelerrores:


Error

R1 M
h
h 2!

Diferenciaregresiva: f ' a

f a f a h

Paraacotarelerrorquesecometeenestaaproximacinhayquetenerencuentalafrmula
deTaylordegrado1,

f a h f a f ' a h R1

Luego

f ' a

f a f a h R1

h
h

Teniendoencuentaque R1 O h2 setieneque

f ' a

f a f a h
O h
h

y,enconsecuencia,elerrordetruncamiento

Error f ' a

f a f a h
h

Unacotadelerrorpodraobtenerseconsiderandoque 1
h

O h

f '' t
h con t a h, a
2!

SiMesunacotade f '' t en a h, a entoncesunacotadelerrores:


Error

R1 M
h
h 2!

Diferenciacentral: f ' a

f a h f a h
2h

Paraacotarelerrorquesecometeenestaaproximacinhayquetenerencuentalafrmula
deTaylordegrado2,ylasexpresiones

f a h f a

f ' a
f '' a 2
h
h O h3
1!
2!

PGINA 6

MATLAB: DERIVACIN NUMRICA

f a h f a

f ' a
f '' a 2
h
h O h3
1!
2!

Restando

f a h f a h f ' a 2h O h3
esdecir,
3
f a h f a h O h
f 'a

2h
2h

Luego,elerrordetruncamiento

Error f ' a

f a h f a h
O h2
2h

También podría gustarte