You are on page 1of 16

Universidad Nacional Agraria La Molina

Facultad de Ingeniera Agrcola


Departamento de Recursos Hdricos

Hidrulica Computacional
(Aplicaciones con MATLAB)

Diferenciacin
Numrica

Jess Abel Meja Marcacuzco, Ph.D.


Lima - Per

DIFERENCIACIN NUMRICA
La diferenciacin numrica, o aproximacin por diferencias
se utiliza para evaluar las derivadas de una funcin por
medio de sus valores dados en los puntos de una curva. Las
aproximaciones por diferencias son importantes en la
solucin de ecuaciones diferenciales ordinarias y parciales.

Para ilustrar la diferenciacin numrica, consideremos una


funcin f(x) en x = x0 (ver figura). Supongamos que se desea
evaluar la primera derivada de f(x) en x = x0. Si se conocen
los valores de f en x0 h, x0 y x0 + h, donde h es el tamao
del intervalo entre dos puntos consecutivos en el eje x,
entonces se puede aproximar f(x0) mediante el gradiente de
la interpolacin lineal A, B o C aproximaciones por
diferencias hacia delante (progresiva), hacia atrs
(regresiva) y central.

f(x)

f(x)

f
f(xo)

f(xo)

x0

x0+h

A: progresiva

x0-h

f(x)

f
f(xo)

x0

x0-h

B: regresiva

x0

x0+h

C: central

f x0 h f x0
Aproximacin por diferencia progresiva: f (x0 )
h

Aproximacin por diferencia regresiva:


Aproximacin por diferencia central:

f (x0 )
f , x0

f x0 f x0 h
h

f x0 h f x0 h
2h

Mtodos para obtener Frmulas de Diferenciacin Numrica


Mtodo

Ventajas

Desventajas

Desarrollo de
Taylor

Los trminos de error se Solo se puede obtener


obtienen en forma explcita. Se una frmula a la vez.
puede aplicar a retculas no
uniformes.

Operador de
diferencias

Bastante similaridad entre las Necesita del desarrollo


derivadas y las aproximaciones de Taylor para analizar
por diferencias.
el error.

Derivacin de Se puede obtener, en forma Difcil de aplicar en


un polinomio de sistemtica, muchas frmulas retcula no uniformes
interpolacin
de aproximacin por diferencias.

Aproximaciones de Primeras Derivadas por Diferencias


Cuando una funcin se representa numricamente en puntos
discretos, esta se aproxima mediante la interpolacin. De la
misma forma que la integracin numrica, se pueden obtener
frmulas de diferenciacin numrica al diferenciar las
frmulas de interpolacin.

Las frmulas de diferenciacin numrica mediante el


desarrollo de Taylor es equivalente a la diferenciacin de
una interpolacin y conduce a los mismos resultados.
Para una derivada de orden n, el mnimo nmero de datos
necesarios para obtener una aproximacin por diferencias es
n+1. As, una aproximacin por diferencias para la primera
derivada de una funcin necesita al menos dos puntos.

Aproximacin por diferencias hacia adelante: se obtiene


desarrollando la serie de Taylor para fi+1 alrededor de xi:
2
3
4
h
h
h
f i 1 f i hf i '
f i ''
f i '''
f i '''' ...
2
6
24
Al despejar fi en la ecuacin anterior se obtiene:

fi 1 fi 1 '' 1 2 '''
fi
hfi h fi ...
h
2
6
'

Si truncamos despus del primer trmino, se obtiene la


ecuacin de aproximacin por diferencias hacia adelante. Los
trminos truncados conforman el error de truncamiento O(h).

fi 1 fi
fi
O ( h)
h
'

1 ''
O(h) hfi
2

Aproximacin por diferencias hacia atrs: de la primera


derivada, utilizando fi-1 se obtiene de manera similar:

h 2 '' h3 ''' h 4 ''''


f i 1 f i hf i
fi
fi
f i ...
2
6
24
'

Al despejar fi en la ecuacin anterior se obtiene:

f i f i 1
fi
O ( h)
h
'

1 ''
O(h) hf i
2

Aproximacin por diferencias centrales: se puede obtener


mediante el desarrollo de Taylor de fi+1 y fi-1 ya dados en las
ecuaciones anteriores. Restando estas ecuaciones y
despejando fi, se obtiene:

f i 1 f i 1
2
fi
O( h )
2h
'

1 2 '''
O( h ) h f i
6
2

Aproximacin por diferencias con tres puntos:


Si se utilizan ms datos, se puede obtener una aproximacin por diferencias
ms exacta, tal que el trmino del error es el del mximo orden posible.
Como ilustracin obtendremos una aproximacin por diferencias de fi
utilizando fi+1 y fi+2 . Puesto que el nmero mnimo de datos necesarios para
f es dos, tenemos un dato ms que el mnimo. Los desarrollos de fi+1 y fi+2 y
se escriben como:

fi 1

2
3
4
h
h
h
fi hfi '
f i ''
f i '''
fi '''' ...
2
6
24

fi 2

2
3
4
h
h
h
fi 2hfi ' 4 fi '' 8 fi ''' 16
fi '''' ...
2
6
24

Aproximacin por diferencias hacia delante con tres puntos: se obtiene


restando estas ecuaciones y despejando fi:

fi '

fi 2 4 fi 1 3 fi
O h2
2h

1 2 '''
O h h fi
3
2

Anlogamente, la aproximacin por diferencias hacia atrs


con tres puntos se puede obtener utilizando fi, fi-1 y fi-2 como:
fi '

3 f i 4 f i 1 f i 2
O h2
2h

1
O h 2 h 2 f i '''
3

Ejemplo:
Calcule la primera derivada de tan(x) en x = 1 mediante las
cinco aproximaciones por diferencias obtenidas en esta
seccin, utilizando h = 0.1 , 0.05 y 0.02. Evale despus el
porcentaje de error de cada aproximacin comparndolo con
el valor exacto.
Solucin:
Sustituimos fi = f(1+ih)=tan(1+ih) en las ecuaciones
anteriores y obtenemos los siguientes resultados:

h = 0.1
[tan(1) tan(1-h)]/h

2.9724

h = 0.05
3.1805

(13.2)

[tan(1+h)-tan(1)]/h

4.0735

[tan(1+h)-tan(1-h)]/2h
[3tan(1)-4tan(1-h)+tan(1-2h)]/2h
[-tan(1+2h)+4tan(1+h)-3tan(1)]/2h

3.3224
(7.1)

3.7181
(-18.9)
3.5230
(-2.8)
3.3061
(3.5)
3.0733
(10.39)

h = 0.02

(3.0)

3.5361
(-8.5)
3.4493
(-.0.69)
3.3885
(1.08)
3.3627
(1.83)

(-3.2)
3.4293
(-0.11)
3.4186
(0.20)
3.4170
(0.25)

el nmero entre parntesis es el error de clculo en %

Conviene observar que los errores de las dos primeras


aproximaciones decrecen en proporcin con h, mientras que
los errores de las ultimas tres aproximaciones decrecen en
proporcin con h2. Es claro que la razn de reduccin del
error se vuelve rpida cuando el orden de precisin es mayor.

Aproximaciones de Segundas Derivadas por Diferencias


El principio bsico para obtener una aproximacin por diferencias de
segundo orden es eliminar la primera derivada de los desarrollos de Taylor
y, de ser posible, tantos trminos de orden superior a 2 como sea posible. A
continuacin se presenta las ecuaciones de desarrollo de Taylor para fi+1, fi1, fi+2 y fi-2, a partir de las cuales se obtendrn las aproximaciones para las
segundas derivadas:
2
3
4
h
h
h
f i 1 f i hf i '
f i ''
f i '''
f i '''' ...
2
6
24

h 2 '' h3 ''' h 4 ''''


f i 1 f i hf i
fi
fi
f i ...
2
6
24
'

fi 2

h 2 ''
h3 ' ' '
h 4 ''''
fi 2hfi 4 fi 8 fi 16
fi ...
2
6
24

f i 2

h 2 ''
h3 '''
h 4 ''''
f i 2hf i 4
f i 8 f i 16
f i ...
2
6
24

'

'

Aproximacin por diferencia central de f, se obtiene


sumando fi+1 y fi-1 con truncamiento en el cuarto trmino:

f i 1 2 f i f i 1
2
fi

O
h
h2
''

1 2 ''''
O h h fi
12
2

Aproximacin por diferencia hacia atrs de f, se obtiene


restando 2fi-1 de fi-2:

f i 2 2 f i 1 f i
2
fi

O
h
h2

''

O h 2 h 2 f i ''''

Aproximacin por diferencia hacia adelante de f, se


obtiene restando 2fi+1 de fi+2:

f i 2 2 f i 1 f i
2
fi

O
h
h2
''

O h 2 h 2 f i ''''

Aproximaciones de Derivadas Parciales por Diferencias


Las frmulas de aproximacin de diferencia para derivadas parciales de
funciones multidimensionales son esencialmente iguales a las de
diferenciacin numrica de funciones unidimensionales. Por tanto, las
aproximaciones, para las primeras derivadas, de diferencia hacia delante,
central y hacia atrs para estas derivadas parciales se pueden escribir,
respectivamente, como:

f ( xo x, yo ) f ( xo , yo )
f

x
x

f ( xo x, yo ) f ( xo x, yo )
f

x
2x
f ( xo , yo ) f ( xo x, yo )
f

x
x

Las aproximaciones de diferencia central para las segundas


derivadas de (x,y) en (xo,yo) estn dadas por:

f ( xo x, yo ) 2 f ( xo , yo ) f ( xo x, yo )
f

2
x
x 2
2

f ( xo , yo y) 2 f ( xo , yo ) f ( xo , yo y)
2 f

2
y
y 2

f ( xo x, yo y ) f ( xo x, yo y )
2 f

xy
xy
f ( xo x, yo y ) f ( xo x, yo y )

xy

Resumen de Aproximaciones de la Primera Derivada


Aproximaciones por Diferencias hacia Adelante
fi '

f i 1 f i
O ( h)
h

fi '

f i 2 4 f i 1 3 f i
O( h 2 )
2h

O(h 2 )

fi '

2 f i 3 9 fi 2 18 f i 1 11 f i
O( h 3 )
6h

O( h 3 )

O ( h)

1 ''
hf i
2

1 2 '''
h fi
3
1 3 ''''
h fi
4

Aproximaciones por Diferencias hacia Atrs


f i f i 1
O ( h)
h

fi '

3 f i 4 fi 1 f i 2
fi
O( h 2 )
2h
'

fi '

11 f i 18 f i 1 9 f i 2 2 f i 3
O( h3 )
6h

O ( h)

1 ''
hf i
2

O(h 2 )

1 2 '''
h fi
3

O( h3 )

1 3 ''''
h fi
4

Aproximaciones por Diferencias Centrales


fi '

fi 1 fi 1
O( h 2 )
2h

O(h2 ) 16 h2 fi ''''

fi '

fi 2 8 fi 1 8 fi 1 fi 2
O( h 4 )
12h

O( h 4 )

1 4 v
h fi
30

Resumen de Aproximaciones de la Segunda Derivada


Aproximaciones por Diferencias hacia Adelante
f i ''

fi 2 2 fi 1 fi
O ( h)
h2

f i ''

fi 3 4 fi 2 5 fi 1 2 fi
O( h 2 )
2
h

O(h) hfi '''

O( h 2 )

11 2 ''''
h fi
12

Aproximaciones por Diferencias hacia Atrs


f i ''

fi 2 fi 1 fi 2
O ( h)
h2

f i ''

2 fi 5 fi 1 4 fi 2 fi 3
O( h 2 )
2
h

O(h) hfi '''

O( h 2 )

11 2 ''''
h fi
12

Aproximaciones por Diferencias Centrales


f i ''

fi 1 2 fi fi 1
2

O
(
h
)
2
h

O( h 2 )

f i ''

fi 1 16 fi 1 30 fi 16 fi 1 fi 2
4

O
(
h
)
h2

O( h 4 )

1 2 ''''
h fi
12

1 4 vi
h fi
90

You might also like