Beruflich Dokumente
Kultur Dokumente
DIFERENCIACIN NUMRICA
OBJETIVO
El alumno ser capaz de aproximar el valor de las derivadas de diferente orden
de una funcin tabular mediante diferencias finitas divididas hacia delante,
hacia atrs y central.
INTRODUCCION
En la prctica del anlisis numrico, usualmente se requieren una o dos
derivadas de bajo orden de un funcin tabular, Las frmulas de aproximacin a
la derivada de una funcin dada en forma tabular se denominan de diferencia
finita y se presenta en tres casos:
a) Aproximacin de diferencia hacia delante.
b) Aproximacin de diferencia hacia atrs.
c) Aproximacin de diferencia central.
El mtodo de Euler divide un segmento de curva en subintervalos, con el fin de
obtener una aproximacin del valor de la derivada.
PRINCIPIO DEL MTODO
La diferenciacin numrica es una tcnica de anlisis numrico para producir
una estimacin de la derivada de una funcin matemtica que est expresada
de forma tabular. Geomtricamente la derivada es la pendiente de la recta
tangente a una curva de funcin f(x) en un punto (x, f(x)), sin embargo en una
funcin expresada de forma tabular no se conoce la expresin de f(x) y lo que
se tiene es una serie de puntos conocidos de la funcin. Por lo que se
aproxima la lnea tangente con mltiples lneas secantes con distancias de
corte entre dos puntos que cruzan a la funcin de progresiva con distancias
cada vez ms pequeas. Con el lmite de las pendientes de las lneas secantes
de esta progresin se consigue la pendiente de la lnea tangente. En la
siguiente lustracin h ser el incremento en la variable x y corresponde a los
valores de x que forman la recta secante, mientras ms pequea sea h, la
aproximacin a la derivada ser ms prxima.
f(x+h)
secante
f(x)
x
x+h
x
h
Figura 12.1 Grfica de la recta tangente entre x y x+h
La derivada de f(x) en x es entonces el lmite del valor del cociente diferencial,
conforme las lneas secantes se aproximan a la lnea tangente:
f ( x) f ( x + x) dy
=
x
dx
x 0
Lim
f ' ( xi ) =
f ( xi ) f ( xi + h)
h
f ' ( x0 ) =
f ( x0 ) f ( x1 )
x0 x1
f ( x) = f ( x0 ) + f ' ( x0 )( x x0 )
f ( x1 ) f ( x0 )
x1 x0
f ' ( x0 ) =
f ( x0 ) f ( x1 )
x0 x1
f ' ( xi ) =
f ( xi +1 ) f ( xi )
h
Dnde: h = xi +1 xi
O(h) es el error de truncamiento de la serie de Taylor, por lo que:
f ' ( xi ) =
f ( xi ) f ( xi +1 )
+ O ( h)
h
f ( x) = f ( xi ) + f ' ( xi )( x xi )
Al evaluar en un valor consecutivo de xi, es decir en xi+1, se tiene:
f ( xi +1 ) = f ( xi ) + f ' ( xi )( xi +1 xi )
Despejando f(xi)
f ' ( xi ) =
f ( xi +1 ) f ( xi )
xi +1 xi
Pero xi+1-x =h, y tomando en cuenta el error por truncamiento O(h) en la serie
de Taylor
f ' ( xi ) =
f ( xi +1 ) f ( xi )
+ O ( h)
h
f (n +1) (E )
(x xo )n +1
(n + 1) !
f ' ( xi ) =
f ( xi 1) f ( xi )
h
f ' ( xi ) =
f ( xi ) f ( x1i )
h
f ' ( xi ) =
f ( xi ) f ( x1 i )
+ O ( h)
h
f ' ' (E )
(h )
2
Despejando f(xi):
f ' ( xi ) =
f ( xi + i ) f ( x1i )
2h
( )
O h2 =
( )
f ' ' (E ) 2
h
2
Debe observarse que el error es del orden de h2, por lo que la serie de Taylor
para la diferencia centrada es una representacin ms exacta de la derivada.
Segunda derivada hacia adelante (segunda diferencia finita dividida hacia
adelante)
Para obtener la segunda derivada se retiene un trmino ms de la expansin
de serie de Taylor, en este caso hasta la segunda derivada, y al evaluar en los
puntos sucesivos xi+1 y xi+2 :
f ( xi +1) = f ( xi ) + hf ' ( xi ) +
h2
f ' ' ( xi )
2
f ' ' ( xi )
2
Para obtener la segunda derivada, multiplicar por dos la expancin para f(xi+1),
restarla de f(xi+2) y despejar f(xi).
Al multiplicar por dos la expancin para f(xi+1)
h2
f
x
f
x
hf
x
f ' ' ( xi ) 2
=
+
+
(
)
(
)
'
(
)
i +1
i
i
2
Que resulta en
f ( xi + 2 ) 2 f ( xi +1) = f ( xi ) + h 2 f ' ' ( xi )
Despejando f(xi):
f ' ' ( xi ) =
f ( xi + 2 ) 2 f ( xi +1) + f ( xi )
h2
f ' ' ( xi ) =
f ( xi + 2 ) 2 f ( xi +1 ) + f ( xi )
+ O ( h)
h2
f ' ' (E )
(h )
2
f ' ' ( xi )
2
h2
f ' ' ( xi ) 2
f ( xi 1) = f ( xi ) hf ' ( xi ) +
2
Que resulta en
f ( xi 2 ) 2 f ( xi 1) = f ( xi ) + h 2 f ' ' ( xi )
Despejando f(xi):
f ' ' ( xi ) =
f ( xi + 2 ) 2 f ( xi +1 ) + f ( xi )
+ O ( h)
h2
f ' ' (E )
(h )
2
h2
f ' ' ( xi )
2
f ( xi +1 ) = f ( xi ) + hf ' ( xi ) +
h2
f ' ' ( xi )
2
h2
f ' ' ( xi )
2
+
f ( xi +1 ) = f ( xi ) + hf ' ( xi ) +
h2
f ' ' ( xi )
2
Que resulta en
f ( xi 1 ) + f ( xi +1 ) = 2 f ( xi ) + h 2 f ' ' ( xi )
Despejando f(xi):
f ' ' ( xi ) =
f ( xi 1 ) 2 f ( xi ) + f ( xi +1 )
h2
Con un error
( )
O h2 =
f ' ' (E ) 2
h
2
( )
Por otra parte se debe notar que la segunda diferencia finita centrada:
f ' ' ( xi ) =
f ( xi 1 ) 2 f ( xi ) + f ( xi +1 )
h2
h
h
f ' ' ( xi ) =
h
Pero
f ' ( xi ) =
f ' ( xi ) =
f ( xi +1 ) f ( xi )
es la primera diferencia finita hacia adelante y
h
f ( xi ) f ( x1i )
es la primera diferencia finita hacia atrs.
h
h2
f ' ' ( xi )
2
f ( xi +1 ) f ( xi ) h
f ' ' ( xi ) + O(h)
h
2
Pero sabemos que la segunda derivada hacia adelante esta expresada por:
f ' ' ( xi ) =
f ( xi + 2 ) 2 f ( xi +1 ) + f ( xi )
+ O ( h)
h2
f ( xi +1 ) f ( xi ) h f ( xi + 2 ) 2 f ( xi +1 ) + f ( xi )
+ O(h 2 )
2
h
2
h
Simplificando: f ' ( xi ) =
f ( xi + 2 ) + 4 f ( xi +1 ) 3 f ( xi )
+ O(h 2 )
2h
f ' ( xi ) =
f ( xi +1 ) f ( xi )
h
f ' ( xi ) =
f ( xi + 2 ) + 4 f ( xi +1 ) 3 f ( xi )
2h
Error
O(h)
O(h2)
Segunda derivada
f ' ' ( xi ) =
f ( xi + 2 ) 2 f ( xi +1 ) + f ( xi )
h2
f ' ' ( xi ) =
f ( xi + 3 ) + 4 f ( xi + 2 ) 5 f ( xi +1 ) + 2 f ( xi )
h2
Tercera derivada
f ( xi + 3 ) 3 f ( xi + 2 ) + 3 f ( xi +1 ) f ( xi )
h3
f ( xi + 4 ) + 14 f ( xi + 3 ) 24 f ( xi + 2 ) + 18 f ( xi +1 ) 5 f ( xi )
2h 3
Cuarta derivada
f iv ( xi ) =
f ( xi + 4 ) 4 f ( xi + 3 ) + 6 f ( xi + 2 ) 4 f ( xi +1 ) + f ( xi )
h4
f iv ( xi ) =
2 f ( xi + 5 ) + 11 f ( xi + 4 ) 24 f ( xi + 3 ) + 26 f ( xi + 2 ) 14 f ( xi +1 ) + 3 f ( xi )
h4
Error
O(h)
O(h2)
Error
O(h)
O(h2)
Error
O(h)
O(h2)
f ' ( xi ) =
f ( xi ) f ( xi 1 )
h
f ' ( xi ) =
3 f ( xi ) 4 f ( xi 1 ) + f ( xi 2 )
2h
Segunda derivada
f ' ' ( xi ) =
f ( xi ) 2 f ( xi 1 ) + f ( xi 2 )
h2
f ' ' ( xi ) =
2 f ( xi ) 5 f ( xi 1 ) + 4 f ( xi 2 ) f ( xi 3 )
h2
Tercera derivada
f ( xi ) 3 f ( xi 1 ) + 3 f ( xi 2 ) f ( xi 3 )
h3
5 f ( xi ) 18 f ( xi 1 ) + 24 f ( xi 2 ) 14 f ( xi ) + 3 f ( xi 4 )
2h 3
Error
O(h)
O(h2)
Error
O(h)
O(h2)
Error
O(h)
O(h2)
Cuarta derivada
f iv ( xi ) =
f ( xi ) 4 f ( xi 1 ) + 6 f ( xi 2 ) 4 f ( xi 3 ) + f ( xi 4 )
h4
f iv ( xi ) =
3 f ( xi ) 14 f ( xi 1 ) + 26 f ( xi 2 ) 24 f ( xi 3 ) + 11 f ( xi 4 ) 2 f ( xi 5 )
h4
Error
O(h)
O(h2)
f ( xi +1 ) f ( xi 1 )
f ' ( xi ) =
2h
f ' ( xi ) =
f ( xi + 2 ) + 8 f ( xi +1 ) 8 f ( xi 1 ) + f ( xi 2 )
12h
Segunda derivada
Error
O(h2)
O(h4)
Error
f ' ' ( xi ) =
f ( xi +1 ) 2 f ( xi ) + f ( xi 1 )
h2
O(h2)
f ' ' ( xi ) =
f ( xi + 2 ) + 16 f ( xi +1 ) 30 f ( xi ) + 16 f ( xi 1 ) f ( xi 2 )
12h 2
O(h4)
Tercera derivada
Error
f ( xi + 2 ) 2 f ( xi +1 ) + 2 f ( xi 1 ) f ( xi 2 )
2h 3
O(h2)
f ( xi + 3 ) + 8 f ( xi + 2 ) 13 f ( xi +1 ) + 13 f ( xi 1 ) 8 f ( xi 2 ) + f ( xi 3 )
2h 3
O(h4)
Cuarta derivada
Error
f iv ( xi ) =
f ( xi + 2 ) 4 f ( xi +1 ) + 6 f ( xi ) 4 f ( xi 1 ) + f ( xi 2 )
h4
O(h2)
f iv ( xi ) =
f ( xi + 3 ) + 12 f ( xi + 2 ) + 39 f ( xi +1 ) + 56 f ( xi ) 39 f ( xi 1 ) + 12 f ( xi 2 ) + f ( xi 3 )
6h 4
O(h4)
Desarrollo:
Ejercicio 1: Usar las diferencias hacia delante, hacia atrs y central para
estimar la primera derivada de f(x)=-0.1x4-0.15x3-0.5x2-0.25x+1.2 en
x=0.5 empleando un tamao de paso h =0.25. Comparar con el valor
verdadero f(0.5)=-0.8125, mediante el error relativo porcentual.
Solucin
h=0.25
Xi=0.5
Xi+1=h+Xi=0.5+0.25=0.75
Xi-1=Xi-h=0.5-0.25=0.25
f(Xi)= f(0.5)= -0.1(0.5)4 -0.15(0.5)3 -0.5(0.5)2 0.25(0.5)+1.2=0.925
f(Xi+1)=f(0.75)=-0.1(0.75)4 0.15(0.75)3 -0.5(0.75)2-0.25(0.75)+1.2=0.6363
f(Xi-1)=f(0.25)=-0.1(0.25)4 -0.15(0.25)3 -0.5(0.25)2 -0.25(0.25)+1.2=1.1035
a) Diferencia hacia adelante
f ' ( xi ) =
f ( xi +1 ) f ( xi )
h
f ' ( xi ) =
0.6363 0.925
0.25
f ' ( xi ) = 1.1548
El valor verdadero de la primera derivada, evaluada en 0.5 es
f(0.5)=0.9125, por lo que el error relativo porcentual es:
Er % =
Vreal Vestimado
* 100
Vreal
Er % =
0.9125 + 1.1548
* 100
0.9125
Er % = 26.55
f ( xi ) f ( xi 1 )
h
f ' ( xi ) =
0.925 1.1035
0.25
f ' ( xi ) = 0.714
Er % =
Vreal Vestimado
* 100
Vreal
Er % =
0.9125 + 0.714
* 100
0.9125
Er % = 21.75%
c) Diferencia centrada
f ' ( xi ) =
f ( xi +1 ) f ( xi 1 )
2h
f ' ( xi ) =
0.6363 1.1035
2(0.25)
f ' ( xi ) = 0.9344
El valor verdadero de la primera derivada, evaluada en 0.5 es
f(0.5)=0.9125, por lo que el error relativo porcentual es:
Er % =
Vreal Vestimado
* 100
Vreal
Er % =
0.9125 + 0.9344
* 100
0.9125
Er % = 2.4%
Para resolver el ejercicio con Matlab, ejecutar lo siguientes comandos:
>> xi=0.5;
>> h=0.25;
>> p=[-0.1, -0.15, -0.5, -0.25, 1.2];
>> xad=xi+h;
>> xat=xi-h;
>> fxi=polyval(p,xi)
fxi =
0.9250
>> fxad=polyval(p,xad)
fxad =
0.6363
>> fxat=polyval(p,xat)
fxat =
1.1035
X vesdadero X Estimado
X verdadero
Como se puede ver el porcentaje del error verdadero es del 26.5 %. Para
calcula la primera derivada atrs, ejecutar los siguientes comados:
fxi =
0.9250
>> fxad=vpa(subs(p,xad))
fxad =
0.636328125
>> fxat=vpa(subs(p,xat))
fxat =
1.103515625
>> dfx=diff(pt,1)
dfx =
- x - (9*x^2)/20 - (2*x^3)/5 - 1/4
>> dv=vpa(subs(dfx,xi))
dv =
-0.9125
>> pdad=(fxad-fxi)/h
pdad =
-1.1546875
>> per=abs((dv-pdad)/dv)*100
per =
26.541095890410958904109589041096
>> pdat=(fxi- fxat)/h
pdat =
-0.7140625
>> per=abs((dv-pdat)/dv)*100
per =
21.746575342465753424657534246575
>> pdc=(fxad-fxat)/(2*h)
pdc =
-0.934375
>> per=abs((dv-pdc)/dv)*100
per =
2.3972602739726027397260273972603
Con los comandos anteriores se pueden reproducir los mismos resultados que
usando comandos para polinomios, pero ahora usando comandos de
matemtica simblica.
Puntos
10
f(x)
42
50
37
12
Solucin:
Para obtener el diagrama de dispersin, se cargan los datos: x y fx para de la
tabla, y se ejecuta el comando plot(x, y), como se muestra a continuacin:
>> x=2:2:10;
>> fx=[8 42 50 37 12];
>> plot(x,fx,'*k');grid
>> title('grafica de dispersin')
>> xlabel ('X'); ylabel('f(x)')
f ( xi + 2 ) + 4 f ( xi +1 ) 3 f ( xi )
2h
( )
estima con O h 2 =
( )
f ' ' (E ) 2
h
2
f ' ' ( xi ) =
f ( xi +1 ) 2 f ( xi ) + f ( xi 1 )
h2
f ( xi +1 ) f ( xi 1 )
, y ejecutando
2h
Para estimar el error tambin se calcula con la frmula de O(h2), con E que
pertenece al intervalo (2, 6), por lo que se puede usar la misma estimacin
anterior de la segunda derivada en E=4, es decir que f(E)=-6.5, y como h es la
( )
( )
f ' ' (E ) 2
h
2
>> Ea(2)=sdfE/2*h^2
Ea =
-13 -13
f ( xi + 2 ) + 8 f ( xi +1 ) 8 f ( xi 1 ) + f ( xi 2 )
12h
>> dfxi(3)=(-fx(5)+8*fx(4)-8*fx(2)+fx(1))/(12*h)
dfxi =
23.5000 10.5000 -1.8333
( )
O h4 =
f ' ' (E ) 4
h , con E que pertenece al intervalo (2, 10), por lo que podemos
2
( )
-13 -52
-3
>> Ea(4)=sdfE/2*h^2
Ea =
-13 -13 -52
-6
3 f ( xi ) 4 f ( xi 1 ) + f ( xi 2 )
. Ejecutar los siguientes comandos:
2h
>> dfxi(5)=(3*fx(5)-4*fx(4)+fx(3))/(2*h)
dfxi =
23.5000 10.5000 -0.8333 -9.5000 -15.5000
-6
-6
10
f(x)
42
50
37
12
f'(x)
23.5
10.5
-0.8333
-9.5
-3.5
Error estimado
-13
-13
-52
-6
-6
Tarea
1. La reaccin en fase lquida entre trimetilamina y bromuro de propileno en
benceno, se llev a cabo introduciendo cinco ampolletas con una mezcla
de reactantes en un bao a temperatura constante. Las ampolletas se
sacan a varios tiempos, se enfran para detener la reaccin y se analiza su
contenido. El anlisis se basa en que la sal cuaternaria de amoniaco est
10
35
60
85
110
Conversin (%)
12
28
40
46
52
M ( x)
EI
(cm)
0.0
0.0
0.2
7.78
0.4
10.68
0.6
8.37
0.8
3.97
0.0
(m/s)
0.0
0.0
0.002
0.006180
0.004
0.011756
0.006
0.016180
0.008
0.019021
du
donde
dy