You are on page 1of 9

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. (Este es el caso si la funcin
representa el resultado de algn experimento). En esta leccin estudiaremos
tcnicas para aproximar las derivadas de una funcin y veremos el anlisis de
error de dicas formulas
!iferenciacin numrica es una tcnica de anlisis numrico para producir una
estimacin del derivado de a funcin matemtica o funcin su"programa usando
valores de la funcin y qui#s del otro conocimiento so"re la funcin.
Existen $ diferentes tipos de aproximacin numrica%
&'proximacin a la primera derivada con diferencias acia atrs
&'proximacin a la primera derivada con diferencias acia adelante
& 'proximacin a la primera derivada con diferencias centrales
Aproximacin a la primera derivada con diferencias hacia atrs
(a serie de )aylor se puede expandir acia atrs para calcular un valor anterior
so"re el valor actual* dada por%
)runcando la ecuacin despus de la primera derivada y ordenando los trminos
se o"tiene%
!onde los errores es + () y el diferencial indica la primer diferencia dividida
acia atrs.
Aproximacin a la primera derivada con diferencias hacia
adelante
!onde al diferencial se le conoce como la primera diferencia acia adelante y a
se le llama tama,o del paso* esto es* la longitud del intervalo so"re el cual se
ace la aproximacin. -e le llama diferencia " acia adelante " ya que usa los
datos(i) e (i./) para estimar la derivada. 'l termino completo (o sea* la
diferencial entre ) se conoce como primera diferencia dividida finita.
'proximacin a la primera derivada con diferencias centrales
0na tercera forma de aproximar la primer derivada es restar la ecuacin de la
expansin en serie de )aylor acia adelante%
1ara o"tener%
2ue se puede resolver para%
Esta ltima ecuacin es una representacin de las diferencias centrales de la
primera derivada. 3tese que el error de truncamiento es del orden de en
contraste con las diferencias divididas acia adelante y acia atrs* las cuales
fueron de orden .
1or lo tanto* el anlisis de la serie de )aylor a llevado a la informacin practica
de que la diferencia central es la representacin mas exacta de la derivada. 1or
e4emplo* si se parte el tama,o del paso a la mitad usando diferencias acia atrs o
acia adelante* el error se reducir aproximadamente a la mitad* mientras que
para diferencias centrales* el error se reduce a la cuarta parte.
GRAFICAS DE APROXIMACIONES CON DIFERENCIAS DIVIDIDAS
FINITAS DE LA PRIMERA DERIVADA.
HACIA ADELANTE
.HACIA ATRS
CENTRALES
El azul es de aproximacin y el verde de la derivada verdadera
FORMULAS DE DIFERENCIAS DIVIDIDAS FINITAS HACIA
ATRS. SE PRESENTAN DOS VERSIONES PARA CADA
DERIVADA. LA SEGUNDA FORMA INCLUYE MAS TERMINOS DE LA
SERIE DE TAYLOR Y, POR LO TANTO ES MAS EXACTA
.FORMULAS DE DIFERENCIAS DIVIDIDAS FINITAS HACIA
ADELANTE.
SE PRESENTAN DOS VERSIONES PARA CADA DERIVADA. LA
SEGUNDAFORMA INCLUYE MAS TERMINOS DE LA SERIE DE TAYLOR Y,
POR LO TANTO ES MAS EXACTA.
FORMULAS DE DIFERENCIAS FINITAS CENTRALES. SE
PRESENTAN DOS VERSIONES PARA CADA DERIVADA. LA
SEGUNDA FORMA INCLUYE MAS TERMINOS DE LA SERIE DE
TAYLOR POR LO TANTO ES MAS EXACTA.
.
E4emplo de la serie de taylor para determinar el valor de un funcin en un punto
dado con incremento definido.
5include 6stdio.7
5include 6mat.7
const float pre8+./9
float funcion(float x)9
float !/(float x* float )9
float !:(float x* float )9
float !$(float x* float )9
int main(void)
;
int i9
float precision9
float val9

printf("<n 1rograma para calcular la derivada de x=> en un punto x")9
printf("<n utili#ando las tres versiones del polinomio de )aylor% acia atras
(!/)9 acia adelante (!:) y centrales(!$)")9
printf("<n<n<n ?ntroducir en punto en el que calcular la derivada%")9
scanf("@f"*Aval)9
printf("<n<n<n B'(CD !E E )?1C !/ )?1C !: )?1C !$<n<n")9
precision8pre9
for(i8/9i68/+9i..)
;
printf("@/+e @/:f @/:f @/:f <n<n"*precision*!/(val*precision)*
!:(val*precision)*!$(val*precision))9

precision8precisionFpre9
G
G
float funcion(float x)
;
float a9

a8xFxFxFxFxFx9HHx=>
return(a)9
G
float !/(float x* float )
;
float a9

a8(funcion(x.)Ifuncion(x))H9

return(a)9
G
float !:(float x* float )
;
float a9

a8(I$Ffuncion(x).JFfuncion(x.)Ifuncion(x.:F))H(:F)9

return(a)9
G
float !$(float x* float )
;
float a9

a8(funcion(xI:F)IKFfuncion(xI).KFfuncion(x.)Ifuncion(x.:F))H(/:F)9

return(a)9
G
E4ercicios
/. Escri"e el programa e4emplo en L..
:. Escri"e un programa que encuentre la derivada indicando un intervalo
varia"le y un punto de derivada cualquiera.
$. Escri"e un programa en L.. que determine la derivada de e
x
para x8/ con
varia"le