Está en la página 1de 112

Derivación Numérica 1

DERIVACION NUMERICA
1. Introducción
2. Derivación numérica
3. Métodos de diferencias finitas
3.1. Formulas de diferencias finitas hacia adelante
3.1.1. Primera diferencia
3.1.2. Segunda diferencia
Ejemplo 1
3.2. Formulas de diferencias finitas hacia atrás
3.2.1. Primera diferencia
3.2.2. Segunda diferencia
Ejemplo 2
3.3. Formulas de diferencias centrales
3.3.1. Primera diferencia
3.3.2. Segunda diferencia
Ejemplo 3
4. Inestabilidad numérica de las formulas de diferencias finitas
4.1. Diferencias centrales
Derivación numérica por diferencia centrada de orden 𝑂(ℎ2 )
Fórmulas de las diferencias centradas de los tres puntos
Derivación numérica por diferencia centrada de orden 𝑂(ℎ4 )
Fórmula de los tres puntos
Fórmula de los cinco puntos
Ejercicios resueltos
Ejercicios de fijación

CAPÍTULO 9
Derivación Numérica 2

DERIVACIÓN NUMÉRICA
Introducción

La derivada es de uso común en la matemática y la ingeniería, sin embargo, en la práctica,


de muchas funciones con las que se trabaja, no se conoce su expresión analítica y solamente
se dispone de valores en un conjunto de puntos.
En algunos casos es necesario proceder a calcular el valor de alguna derivada de algunas
funciones en un punto concreto. En este tipo de situaciones no se puede utilizar el concepto
riguroso de derivada por desconocimiento de la expresión de la función. De esta manera
surge la necesidad de diseñar métodos numéricos que permitan aproximar el valor de las
derivadas de una función en algún punto a partir del conocimiento de los valores de la
función en un soporte dado.
Los métodos de derivación numérica desarrollados con el fin de aproximar algún valor
buscado, muestran un buen comportamiento en numerosos casos. Es por ello que algunas
veces, aun disponiendo de la expresión analítica de las funciones a derivar, se opta por
aproximar los valores de las derivadas mediante fórmulas numéricas suficientemente
precisas.
La diferenciación numérica es muy útil en casos en los cuales se tiene una función cuya
derivada es difícil o complicada de hallar, o en casos en los cuales no se tiene una función
explícita sino una serie de datos experimentales.

El problema de la derivación numérica consiste en la evaluación de la derivada de la función


en un punto, cuando únicamente conocemos los valores de la función en una colección de
puntos x0, x1,... xn.
Aunque, en apariencia se trata de un problema similar al de la Integración numérica; de
hecho la derivación es más complicada ya que, en la integración los errores tienden a
cancelarse, y, como vimos, no necesitamos que la aproximación describa con fidelidad la
función localmente.
Sin embargo, la derivada es una propiedad esencialmente local, por lo cuál deberemos
aproximar la función lo más fielmente posible en el entorno inmediato del punto en el que
la queramos calcular.

Las fórmulas de derivación numérica aparecen en el desarrollo de algoritmos para la


solución de problemas de contorno en ecuaciones diferenciales ordinarias (y en
ecuaciones en derivadas parciales). En general, podemos obtener aproximaciones
numéricas de la derivada en un punto derivando alguna función interpolante, por ejemplo
un polinomio de Lagrange, algún trazador cúbico, etc. Sin embargo, en la práctica
pequeños errores en los datos pueden producir malos resultados en las derivadas. Aquí
vamos a experimentar con fórmulas que se obtienen derivando el polinomio interpolante
de Lagrange.
Derivación Numérica 3

Derivación numérica

𝑓(𝑥)
Secante

𝑓(𝑥0 + ℎ)

𝑓(𝑥0 )

𝑥0 (𝑥0 + ℎ)

Por definición la derivada de una función f(x) es:


𝑓(𝑥 + ℎ) − 𝑓(𝑥)
𝑓 ′ (𝑥) = lim
ℎ→0 ℎ
Las posibles aproximaciones numéricas de la derivada en un punto que podrían calcularse
tomando una sucesión {ℎ𝑘 }, Tal que {ℎ𝑘 } → 0, se tienen las siguientes expresiones.

𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 )
Diferencia hacia adelante: 𝑓 ′ (𝑥0 ) ≈

𝑓(𝑥0 ) − 𝑓(𝑥0 − ℎ)
Diferencia hacia atrás: 𝑓 ′ (𝑥0 ) ≈

La aproximación de la derivada por este método entrega resultados aceptables con un


determinado error. Para minimizar los errores se estima que el promedio de ambas entrega
la mejor aproximación numérica al problema dado.

Método de Diferencias Finitas

El método de diferencias finitas consiste en aproximar la función por polinomios. Las


fórmulas resultantes pueden clasificarse de las siguientes maneras:
a) En base al orden de la derivada, obteniéndose 𝑓 ′ (𝑥0 ), 𝑓 ′′ (𝑥0 ), 𝑓 ′′′ (𝑥0 ), … , 𝑓 𝑛 (𝑥0 )
b) En base al orden de la diferencia, pueden ser primera, segunda, tercera, etc.
c) En base a los puntos de apoyo de la formula en la tabla, es decir, si se emplean
puntos antes, después o ambos lados de algún punto de interés.
Existen tres tipos y son:
1) Diferencias hacia adelante, cuando se usan puntos anteriores del punto de
interés.
2) Diferencias hacia atrás, cuando se emplean puntos posteriores al punto de
interés.
Derivación Numérica 4

3) Diferencias centrales. Cuando se usan puntos tanto antes como después del
punto de interés.

Referencias para las fórmulas de diferencias finitas:

𝑥0 : Indica el punto de interés, de estudio o de análisis.


ℎ: Espaciamiento constante de la tabla.
𝑓(𝑥0 ): Función evaluada en el punto de análisis.

𝑓(𝑥0+1 ) = 𝑓(𝑥0 + ℎ) y 𝑓(𝑥0−1 ) = 𝑓(𝑥0 − ℎ)

𝑓(𝑥0+𝑛 ) = 𝑓(𝑥0 + 𝑛ℎ) y 𝑓(𝑥0−𝑛 ) = 𝑓(𝑥0 − 𝑛ℎ)

Fórmulas de diferencias finitas hacia adelante

Primera diferencia

𝑓(𝑥0+1 ) − 𝑓(𝑥0 )
𝑓′(𝑥0 ) =

𝑓(𝑥0+2 ) − 2𝑓(𝑥0+1 ) + 𝑓(𝑥0 )
𝑓′′(𝑥0 ) =
ℎ2
𝑓(𝑥0+3 ) − 3𝑓(𝑥0+2 ) + 3𝑓(𝑥0+1 ) − 𝑓(𝑥0 )
𝑓′′′(𝑥0 ) =
ℎ3
𝑓(𝑥0+4 ) − 4𝑓(𝑥0+3 ) + 6𝑓(𝑥0+2 ) − 4𝑓(𝑥0+1 ) + 𝑓(𝑥0 )
𝑓 𝑖𝑣 (𝑥0 ) =
ℎ4

Segunda diferencia

−𝑓(𝑥0+2 ) + 4𝑓(𝑥0+1 ) − 3𝑓(𝑥0 )


𝑓′(𝑥0 ) =
2ℎ
−𝑓(𝑥0+3 ) + 4𝑓(𝑥0+2 ) − 5𝑓(𝑥0+1 ) + 2𝑓(𝑥0 )
𝑓′′(𝑥0 ) =
ℎ2
−3𝑓(𝑥0+4 ) + 14𝑓(𝑥0+3 ) − 24𝑓(𝑥0+2 ) + 18𝑓(𝑥0+1 ) − 5𝑓(𝑥0 )
𝑓′′′(𝑥0 ) =
2ℎ3

−2𝑓(𝑥0+5 ) + 11𝑓(𝑥0+4 ) − 24𝑓(𝑥0+3 ) + 26𝑓(𝑥0+2 ) − 14𝑓(𝑥0+1 )3𝑓(𝑥0 )


𝑓 𝑖𝑣 (𝑥0 ) =
ℎ4

Ejemplo 9.1.
Sea la función ln 𝑥, calcular las derivadas por métodos numéricos en el punto 𝑥 = 5, en
base a la siguiente tabla, con ℎ = 0.1, aplicando la fórmula de la primera diferencia finita
hacia adelante.

𝑥 4.7 4.8 4.9 5.0 5.1 5.2 5.3


𝑓(𝑥) 1.54756 1.56862 1.58922 1.60944 1.62924 1.64866 1.6677
Derivación Numérica 5

Solución:
Para 𝑓(𝑥) = 𝑙𝑛 𝑥. El valor verdadero de 𝑓 ′ (5) = 𝟎. 𝟐 𝑦 𝑓 ′′ (5) = −𝟎. 𝟎𝟒

𝑓(𝑥0+1 ) − 𝑓(𝑥0 ) 𝑓(5.1) − 𝑓(5) 1.62924 − 1.60944


𝑓′(𝑥0 ) = = = = 𝟎. 𝟏𝟗𝟖
ℎ 0.1 0.1

𝑉𝑣 − 𝑉𝑎 0.2 − 0.198
𝐸𝑟 = | |=| | = 0.01, 𝐸% = |𝐸𝑟 × 100%| = (0.01) × 100% = 1%
𝑉𝑣 0.2

Segunda derivada

𝑓(𝑥0+2 ) − 2𝑓(𝑥0+1 ) + 𝑓(𝑥0 ) 𝑓(5.2) − 2𝑓(5.1) + 𝑓(5)


𝑓 ′′ (𝑥0 ) = =
ℎ2 (0.1)2

1.64866 − 2(1.62924) + 1.60944 3.8 × 10−4


𝑓 ′′ (𝑥0 ) = = = −𝟎. 𝟎𝟑𝟖
0.01 0.01

𝑉𝑣 − 𝑉𝑎 −0.04 − (−0.038)
𝐸𝑟 = | |=| | = 0.05, 𝐸% = |𝐸𝑟 × 100%| = (0.05) × 100% = 5%
𝑉𝑣 −0.04

Ejemplo 9.2.
Sea la función ln 𝑥, calcular las derivadas por métodos numéricos en el punto 𝑥 = 5, en
base a la siguiente tabla, con ℎ = 0.1, aplicando la fórmula de la segunda diferencia finita
hacia adelante.

𝑥 4.7 4.8 4.9 5.0 5.1 5.2 5.3


𝑓(𝑥) 1.54756 1.56862 1.58922 1.60944 1.62924 1.64866 1.6677

Solución:
Para 𝑓(𝑥) = 𝑙𝑛 𝑥. El valor verdadero de 𝑓 ′ (5) = 𝟎. 𝟐 𝑦 𝑓 ′′ (5) = −𝟎. 𝟎𝟒

Primera derivada

−𝑓(𝑥0+2 ) + 4𝑓(𝑥0+1 ) − 3𝑓(𝑥0 ) −𝑓(5.2) + 4𝑓(5.1) − 3𝑓(5)


𝑓′(𝑥0 ) = =
2ℎ 2(0.1)

−1.64866 + 4(1.62924) − 3(1.60944) −1.64866 + 6.51696 − 4.82832


𝑓′(𝑥0 ) = =
0.2 0.2

0.03998
𝑓′(𝑥0 ) = = 𝟎. 𝟏𝟗𝟗𝟗
0.2

𝑉𝑣 − 𝑉𝑎 0.2 − 0.1999
𝐸𝑟 = | |=| | = 1 × 10−4 , 𝐸% = |1 × 10−4 × 100%| = 0.01%
𝑉𝑣 0.2
Derivación Numérica 6

Segunda derivada

−𝑓(𝑥0+3 ) + 4𝑓(𝑥0+2 ) − 5𝑓(𝑥0+1 ) + 2𝑓(𝑥0 )


𝑓′′(𝑥0 ) =
ℎ2

−𝑓(5.3) + 4𝑓(5.2) − 5𝑓(5.1) + 2𝑓(5)


𝑓′′(𝑥0 ) =
(0.1)2

−1.6677 + 4(1.64866) − 5(1.62924) + 2(1.60944)


𝑓′′(𝑥0 ) =
0.01

−1.6677 + 6.59464 − 8.1462 + 3.21888 −3.8 × 10−4


𝑓 ′′(𝑥0 ) = = = −𝟎. 𝟎𝟑𝟖
0.01 0.01

𝑉𝑣 − 𝑉𝑎 −0.04 − (−0.038)
𝐸𝑟 = | |=| | = 0.05, 𝐸% = |0.05 × 100%| = 𝟓%
𝑉𝑣 −0.04

Comentarios:

La aproximación lograda presenta errores muy elevados, pues 1% para la primera derivada
y 5% para la segunda derivada, en la primera diferencia hacia adelante es prácticamente
intolerable en un cálculo de este tipo. En la segunda diferencia de este mismo método
(diferencias finitas hacia adelante) presenta igualmente un error elevado del 0.01% para la
primera derivada, que parecería un resultado bastante aceptable, sin embargo esto es
debido a la inestabilidad del método, y para la segunda derivada el error es del 5%, valor
igual obtenido con la aplicación de la primera diferencia.
Los resultados obtenidos por este método son engañosos, por la inestabilidad que
presentan debido a la simplicidad de su forma y a los parámetros reducidos considerados
para el cálculo. Si el resultado procurado necesita de cierta exactitud respecto del valor real,
este método no es recomendable, ya que casi aleatoriamente puede presentar buena
precisión en algunos casos, mientras que en otros producir errores muy grandes.

Fórmulas de diferencias finitas hacia atrás

Primera diferencia

𝑓(𝑥0 ) − 𝑓(𝑥0−1 )
𝑓′(𝑥0 ) =

𝑓(𝑥0 ) − 2𝑓(𝑥0−1 ) + 𝑓(𝑥0−2 )
𝑓′′(𝑥0 ) =
ℎ2
𝑓(𝑥0 ) − 3𝑓(𝑥0−1 ) + 3𝑓(𝑥0−2 ) − 𝑓(𝑥0−3 )
𝑓′′′(𝑥0 ) =
ℎ3
Derivación Numérica 7

𝑓(𝑥0 ) − 4𝑓(𝑥0−1 ) + 6𝑓(𝑥0−2 ) − 4𝑓(𝑥0−3 ) + 𝑓(𝑥0−4 )


𝑓 𝑖𝑣 (𝑥0 ) =
ℎ4

Segunda diferencia

3𝑓(𝑥0 ) − 4𝑓(𝑥0−1 ) + 𝑓(𝑥0−2 )


𝑓′(𝑥0 ) =
2ℎ
2𝑓(𝑥0 ) − 5𝑓(𝑥0−1 ) + 4𝑓(𝑥0−2 ) − 𝑓(𝑥0−3 )
𝑓′′(𝑥0 ) =
ℎ2
5𝑓(𝑥0 ) − 18𝑓(𝑥0−1 ) + 24𝑓(𝑥0−2 ) − 14𝑓(𝑥0−3 ) + 3𝑓(𝑥0−4 )
𝑓′′′(𝑥0 ) =
2ℎ3
3𝑓(𝑥0 ) − 14𝑓(𝑥0−1 ) + 26𝑓(𝑥0−2 ) − 24𝑓(𝑥0−3 ) + 11𝑓(𝑥0−4 ) − 2𝑓(𝑥0−5 )
𝑓 𝑖𝑣 (𝑥0 ) =
ℎ4

Ejemplo 9.3.

Sea la función ln 𝑥, calcular las derivadas por métodos numéricos en el punto 𝑥 = 5, en


base a la siguiente tabla, con ℎ = 0.1, aplicando la fórmula de la primera diferencia finita
hacia atrás.

𝑥 4.7 4.8 4.9 5.0 5.1 5.2 5.3


𝑓(𝑥) 1.54756 1.56862 1.58922 1.60944 1.62924 1.64866 1.6677

Solución:
Para 𝑓(𝑥) = 𝑙𝑛 𝑥. El valor verdadero de 𝑓 ′ (5) = 𝟎. 𝟐 𝑦 𝑓 ′′ (5) = −𝟎. 𝟎𝟒

Diferencias finitas hacia atrás (primera diferencia)


Primera derivada

𝑓(𝑥0 ) − 𝑓(𝑥0−1 ) 𝑓(5) − 𝑓(4.9) 1.60944 − 1.58922


𝑓′(𝑥0 ) = = = = 𝟎. 𝟐𝟎𝟐𝟐
ℎ 0.1 0.1
𝑉𝑣 − 𝑉𝑎 0.2 − 0.2022
𝐸𝑟 = | |=| | = 0.011, 𝐸% = |𝐸𝑟 × 100%| = (0.011) × 100% = 𝟏. 𝟏%
𝑉𝑣 0.2

Segunda derivada

𝑓(𝑥0 ) − 2𝑓(𝑥0−1 ) + 𝑓(𝑥0−2 ) 𝑓(5) − 2𝑓(4.9) + 𝑓(4.8)


𝑓′′(𝑥0 ) = =
ℎ2 (0.1)2

1.60944 − 2(1.58922) + 1.56862 −3.8 × 10−4


𝑓′′(𝑥0 ) = = = −𝟎. 𝟎𝟑𝟖
0.01 0.01

𝑉𝑣 − 𝑉𝑎 −0.04 − (−0.038)
𝐸𝑟 = | |=| | = 0.05, 𝐸% = |𝐸𝑟 × 100%| = (0.05) × 100% = 𝟓%
𝑉𝑣 −0.04
Derivación Numérica 8

Ejemplo 9.4.

Sea la función ln 𝑥, calcular las derivadas por métodos numéricos en el punto 𝑥 = 5, en


base a la siguiente tabla, con ℎ = 0.1, aplicando la fórmula de la segunda diferencia finita
hacia atrás.

𝑥 4.7 4.8 4.9 5.0 5.1 5.2 5.3


𝑓(𝑥) 1.54756 1.56862 1.58922 1.60944 1.62924 1.64866 1.6677

Solución:
Para 𝑓(𝑥) = 𝑙𝑛 𝑥. El valor verdadero de 𝑓 ′ (5) = 𝟎. 𝟐 𝑦 𝑓 ′′ (5) = −𝟎. 𝟎𝟒

3𝑓(𝑥0 ) − 4𝑓(𝑥0−1 ) + 𝑓(𝑥0−2 ) 3𝑓(5) − 4𝑓(4.9) + 𝑓(4.8)


𝑓′(𝑥0 ) = =
2ℎ 2(0.1)
3(1.60944) − 4(1.58922) + 1.56862) 0.04006
𝑓 ′(𝑥0 ) = = = 𝟎. 𝟐𝟎𝟎𝟑
0.2 0.2

𝑉𝑣 − 𝑉𝑎 0.2 − 0.2003
𝐸𝑟 = | |=| | = 0.0015, 𝐸% = |0.0015 × 100%| = 𝟎. 𝟏𝟓%
𝑉𝑣 0.2

2𝑓(𝑥0 ) − 5𝑓(𝑥0−1 ) + 4𝑓(𝑥0−2 ) − 𝑓(𝑥0−3 ) 2𝑓(5) − 5𝑓(4.9) + 4𝑓(4.8) − 𝑓(4.7)


𝑓′′(𝑥0 ) = =
ℎ2 (0.1)2

2(1.60944) − 5(1.58922) + 4(1.56862) − 1.54756 −3 × 10−4


𝑓 ′′(𝑥0 ) = = = −𝟎. 𝟎𝟑
0.01 0.001

𝑉𝑣 − 𝑉𝑎 −0.04 − (−0.03)
𝐸𝑟 = | |=| | = 0.25, 𝐸% = |0.25 × 100%| = 𝟐𝟓%
𝑉𝑣 −0.04

Comentarios:

La aproximación presentada por este método de diferencias hacia atrás presenta resultados
muy parecidos al método de diferencias hacia adelante; sin embargo para la segunda
derivada se nota que el error producido es del 25%, totalmente intolerable en un cálculo
donde normalmente se pretende precisión y exactitud.
Los resultados obtenidos por este método son igualmente engañosos, debido también a la
inestabilidad del método.

Fórmulas de diferencias finitas centrales


Derivación Numérica 9

Primera diferencia

𝑓(𝑥0+1 ) − 𝑓(𝑥0−1 )
𝑓′(𝑥0 ) =
2ℎ
𝑓(𝑥0+1 ) − 2𝑓(𝑥0 ) + 𝑓(𝑥0−1 )
𝑓′′(𝑥0 ) =
ℎ2
𝑓(𝑥0+2 ) − 2𝑓(𝑥0+1 ) + 2𝑓(𝑥0−1 ) − 𝑓(𝑥0−2 )
𝑓′′′(𝑥0 ) =
2ℎ3
𝑓(𝑥0+2 ) − 4𝑓(𝑥0+1 ) + 6𝑓(𝑥0 ) − 4𝑓(𝑥0−1 ) + 𝑓(𝑥0−2 )
𝑓 𝑖𝑣 (𝑥0 ) =
ℎ4

Segunda diferencia

−𝑓(𝑥0+2 ) + 8𝑓(𝑥0+1 ) − 8𝑓(𝑥0−1 ) + 𝑓(𝑥0−2 )


𝑓′(𝑥0 ) =
12ℎ
−𝑓(𝑥0+2 ) + 16𝑓(𝑥0+1 ) − 30𝑓(𝑥0 ) + 16𝑓(𝑥0−1 ) − 𝑓(𝑥0−2 )
𝑓′′(𝑥0 ) =
12ℎ2
−𝑓(𝑥0+3 ) + 8𝑓(𝑥0+2 ) − 12𝑓(𝑥0+1 ) + 12𝑓(𝑥0−1 ) − 8𝑓(𝑥0−2 ) + 𝑓(𝑥0−3 )
𝑓′′′(𝑥0 ) =
8ℎ3
−𝑓(𝑥0+3 ) + 12𝑓(𝑥0+2 ) − 39𝑓(𝑥0+1 ) + 56𝑓(𝑥0 ) − 39𝑓(𝑥0−1 ) + 12𝑓(𝑥0−2 ) − 𝑓(𝑥0−3 )
𝑓 4 (𝑥0 ) =
6ℎ4

Ejemplo 9. 5.

Sea la función ln 𝑥, calcular las derivadas por métodos numéricos en el punto 𝑥 = 5, en


base a la siguiente tabla, con ℎ = 0.1, aplicando la formula de la primera diferencia finita
central.

𝑥 4.7 4.8 4.9 5.0 5.1 5.2 5.3


𝑓(𝑥) 1.54756 1.56862 1.58922 1.60944 1.62924 1.64866 1.6677

Solución:
Para 𝑓(𝑥) = 𝑙𝑛 𝑥. El valor verdadero de 𝑓 ′ (5) = 𝟎. 𝟐 𝑦 𝑓 ′′ (5) = −𝟎. 𝟎𝟒

Primera derivada

𝑓(𝑥0+1 ) − 𝑓(𝑥0−1 ) 𝑓(5.1) − 𝑓(4.9) 1.62924 − 1.58922 0.04002


𝑓′(𝑥0 ) = = = = = 0.2001
2ℎ 2(0.1) 0.2 0.2

𝑉𝑣 − 𝑉𝑎 0.2 − 0.2001
𝐸𝑟 = | |=| | = 5 × 10−4 , 𝐸% = |𝐸𝑟 × 100%| = 𝟎. 𝟎𝟓%
𝑉𝑣 0.2
Derivación Numérica 10

Segunda derivada

𝑓(𝑥0+1 ) − 2𝑓(𝑥0 ) + 𝑓(𝑥0−1 ) 𝑓(5.1) − 2𝑓(5) + 𝑓(4.9)


𝑓′′(𝑥0 ) = =
ℎ2 (0.1)2

1.62924 − 2(1.60944) + 1.58922 1.62924 − 3.21888 + 1.58922


𝑓 ′′(𝑥0 ) = = = −𝟎. 𝟎𝟒𝟐
0.01 0.01

𝑉𝑣 − 𝑉𝑎 −0.04 − (−0.042)
𝐸𝑟 = | |=| | = 0.05, 𝐸% = |𝐸𝑟 × 100%| = (0.05) × 100% = 𝟓%
𝑉𝑣 −0.04

Ejemplo 9. 6.

Sea la función ln 𝑥, calcular las derivadas por métodos numéricos en el punto 𝑥 = 5, en


base a la siguiente tabla, con ℎ = 0.1, aplicando la formula de la segunda diferencia finita
central.

Primera derivada

−𝑓(𝑥0+2 ) + 8𝑓(𝑥0+1 ) − 8𝑓(𝑥0−1 ) + 𝑓(𝑥0−2 )


𝑓′(𝑥0 ) =
12ℎ

−𝑓(5.2) + 8𝑓(5.1) − 8𝑓(4.9) + 𝑓(4.8)


𝑓′(𝑥0 ) =
12(0.1)

−1.64866 + 13.03392 − 12.71376 + 1.56862 0.24012


𝑓′(𝑥0 ) = = = 𝟎. 𝟐𝟎𝟎𝟏
1.2 1.2

𝑉𝑣 − 𝑉𝑎 0.2 − 0.2001
𝐸𝑟 = | |=| | = 5 × 10−4 , 𝐸% = |5 × 10−4 × 100%| = 𝟎. 𝟎𝟓%
𝑉𝑣 0.2

Segunda derivada

−𝑓(𝑥0+2 ) + 16𝑓(𝑥0+1 ) − 30𝑓(𝑥0 ) + 16𝑓(𝑥0−1 ) − 𝑓(𝑥0−2 )


𝒂) 𝑓′′(𝑥0 ) =
12ℎ2

−𝑓(5.2) + 16𝑓(5.1) − 30𝑓(5) + 16𝑓(4.9) − 𝑓(4.8)


𝑓′′(𝑥0 ) =
12 × (0.1)2

−1.64866 + 16(1.62924) − 30(1.60944) + 16(1.58922) − (1.56862)


𝑓′′(𝑥0 ) =
0.12
Derivación Numérica 11

−1.64866 + 26.06784 − 48.2772 + 25.42752 − 1.56862 8.8 × 10−4


𝑓′′(𝑥0 ) = = = 0.0073
0.12 0.12

𝑉𝑣 − 𝑉𝑎 −0.04 − 0.0073
𝐸𝑟 = | |=| | = 1.1825, 𝐸% = |𝐸𝑟 × 100%| = 𝟏𝟏𝟖. 𝟐𝟓%
𝑉𝑣 −0.04

b) Se buscará de nuevo la derivada segunda, pero con un valor de h menor que el anterior,
reduciendo dicha amplitud o peso de h a la mitad, o sea: de ℎ = 0.1 a ℎ = 0.05

𝑥 4.85 4.90 4.95 5.00 5.05 5.10 5.15


𝑓(𝑥) 1.57897 1.58923 1.59938 1.6094 1.61938 1.6292 1.63899
9 5 8 4 8 4 7

−𝑓(𝑥0+2 ) + 16𝑓(𝑥0+1 ) − 30𝑓(𝑥0 ) + 16𝑓(𝑥0−1 ) − 𝑓(𝑥0−2 )


𝑓′′(𝑥0 ) =
12ℎ2

−𝑓(5.1) + 16𝑓(5.05) − 30𝑓(5.00) + 16𝑓(4.95) − 𝑓(4.90)


𝑓′′(𝑥0 ) =
12(0.05)2

−1.62924 + 16(1.619388) − 30(1.60944) + 16(1.599388) − 𝑓(1.589235)


𝑓′′(𝑥0 ) =
0.03

−1.62924 + 25.9102 − 48.2832 + 25.5902 − 1.589235


𝑓′′(𝑥0 ) = =
0.03
−1.275 × 10−3
)
𝑓′′(𝑥0 = = −0.0425
0.03

𝑉𝑣 − 𝑉𝑎 −0.04 − (−0.0425)
𝐸𝑟 = | |=| | = 0.0625, 𝐸% = |𝐸𝑟 × 100%| = 6. 𝟐𝟓%
𝑉𝑣 −0.04

Comentarios

La primera diferencia de estas diferencias finitas centrales presenta resultados parecidos


a los anteriores, sin embargo, la segunda derivada de la segunda diferencia de diferencias
centrales presenta un error mucho mayor que el 100% (118,25%), razón por la cual ni
siquiera necesita ser estudiado, no es que la fórmula empleada sea errónea, sino que la
inestabilidad que produce este grupo de formulas no presenta garantías de buen
resultados en el cálculo de diferencias, agregándose a esto la amplitud de h, que en este
caso particular parece ser muy elevado, que en vez de converger hacia el resultado exacto,
diverge; sin embargo, al reducir el valor de h a la mitad, el resultado obrtenido se hacerca
bastante al valor verdadero, pues el error porcentual producido es solamente del 6,25%,
pero aun así, sigue siendo un error muy grande.
Por lo tanto, a modo de conclusión general respecto a estas formulas de diferencias finitas,
cuando se desea precisión, estas formulas de diferencias finitas no son las recomendadas y
se tomaran simplemente a modo didáctico.
Derivación Numérica 12

Inestabilidad numérica de las fórmulas de diferencias finitas

Las formulas presentadas anteriormente como tablas, son inestables por naturaleza,
debido a la operación de dividir entre números cercanos a 0. El problema aumenta para las
fórmulas de mayor orden de derivación, debido a la división entre potencias de h cada vez
mayores.
Estas fórmulas no son recomendadas en los procesos en que se desean resultados
relativamente precisos, pues como se dijo, presentan inestabilidad inherente en la formula,
por lo tanto, su uso no es recomendado, sin embargo, para fines didácticos son totalmente
aceptables la presentación de esta tabla.
La precisión de la fórmula aumenta cuando mayor sea el orden de la diferencia, por otro
lado, cuanto mayor sea el orden de la derivada la formula se vuelve menos confiable. Por
último es bueno indicar que las formulas centrales presentan mayor confiabilidad que
cualquiera de las otras dos.
La deducción de las fórmulas puede hacerse empleando las fórmulas de interpolación, o
directamente la serie de Taylor.

DIFERENCIAS CENTRALES

Este método de aproximación numérica presenta la característica de que los valores de


(𝑥 + ℎ) y (𝑥 − ℎ) se sitúan a ambos lados de 𝑥 tanto a la derecha como a la izquierda de 𝑥.

Derivación numérica por diferencia centrada de orden 𝑶(𝒉𝟐 )

Teorema 9.1. Suponiendo que 𝑓 ∈ 𝐶 3 [𝑎, 𝑏], (𝑥0 − ℎ), (𝑥0 + ℎ) ∈ [𝑎, 𝑏], entonces

𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)
𝑓 ′ (𝑥0 ) ≈
2ℎ
Además existen 𝜉 = 𝜉(𝑥) ∈ [𝑎, 𝑏], tal que
𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)
𝑓 ′ (𝑥0 ) = + 𝐸𝑡 (𝑓, ℎ)
2ℎ
ℎ2 𝑓 ′′′ (𝜉)
𝑐𝑜𝑛 𝐸𝑡 (𝑓, ℎ) = − = 𝑶(ℎ2 )
6
Este Teorema se presenta sin demostración:1

1
La demostración de este teorema se encuentra en: Velázquez Zapateiro, Jorge. (2007). Análisis
Numérico (pág. 162). Notas de clase. Edición Uninorte. Barranquilla. Colombia
Derivación Numérica 13

Derivación numérica por diferencia centrada de orden 𝑶(𝒉𝟒 )

Teorema 9.2. Suponiendo que 𝑓 ∈ 𝐶 5 [𝑎, 𝑏], (𝑥0 − 2ℎ), (𝑥0 − ℎ), (𝑥0 + ℎ), (𝑥0 + 2ℎ) ∈ [𝑎, 𝑏],
entonces:
−𝑓(𝑥0 + 2ℎ) + 8𝑓(𝑥0 + ℎ) − 8𝑓(𝑥0 − ℎ) + 𝑓(𝑥0 − 2ℎ)
𝑓 ′ (𝑥) ≈
12ℎ
Además existe 𝜉 = 𝜉(𝑥0 ) ∈ [𝑎, 𝑏], tal que

−𝑓(𝑥0 + 2ℎ) + 8𝑓(𝑥0 + ℎ) − 8𝑓(𝑥0 − ℎ) + 𝑓(𝑥0 − 2ℎ)


𝑓 ′ (𝑥) ≈ + 𝐸𝑡 (𝑓, ℎ),
12ℎ
ℎ4 𝑓 5 (𝜉)
con 𝐸𝑡 (𝑓, ℎ) = = 𝑂(ℎ4 )
30
Este Teorema se presenta sin demostración:2

Ejemplo 9.7.
Si 𝑓(𝑥) = 𝑐𝑜𝑠 𝑥, calcular la aproximación de 𝑓 ′ (6), usando las fórmulas de las diferencias
centradas de orden 𝑂(ℎ2 ) con ℎ = 0.1

Solución
a) Con La formula de diferencias centradas de orden 𝑂(ℎ2 )

𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)
𝑓 ′ (𝑥0 ) =
2ℎ
𝑓(6.1) − 𝑓(5.9) 0.983268 − 0.927478 0.005579
𝑓 ′ (6) = = = = 𝟎. 𝟐𝟕𝟖𝟗𝟓
2(0.1) 0.2 0.2

El valor exacto de 𝑓(𝑥) = 𝑐𝑜𝑠 𝑥, para 𝑓(6) = 0.2794154982

𝑉𝑣 − 𝑉𝑎 0.279415 − 0.27895
𝐸𝑟 = | |=| | = 1.6642 × 10−3 , 𝐸% = |𝐸𝑟 × 100%| = 𝟎. 𝟏𝟔𝟔%
𝑉𝑣 0.279415

Ejemplo 9.8.
Si 𝑓(𝑥) = 𝑐𝑜𝑠 𝑥, calcular la aproximación de 𝑓 ′ (6), usando las fórmulas de las diferencias
centradas de orden 𝑂(ℎ4 ) con ℎ = 0.1

Solución

−𝑓(𝑥0 + 2ℎ) + 8𝑓(𝑥0 + ℎ) − 8𝑓(𝑥0 − ℎ) + 𝑓(𝑥0 − 2ℎ)


𝑓 ′ (𝑥) =
12ℎ

−𝑓(6.2) + 8𝑓(6.1) − 8𝑓(5.9) + 𝑓(5.8)


𝑓 ′ (6) =
12(0.1)

2
La demostración de este teorema se encuentra en: Velázquez Zapateiro, Jorge. (2007). Análisis
Numérico. Notas de clase. Edición Uninorte. Barranquilla. Colombia
Derivación Numérica 14

−0.996542 + 8(0.983264) − 8(0.927478) + 0.885520


𝑓 ′ (6) =
1.2

−0.996542 + 7.866112 − 7.419824 + 0.885520 0.335266


𝑓 ′ (6) = = = 𝟎. 𝟐𝟕𝟗𝟑𝟖𝟖
1.2 1.2

El valor exacto de 𝑓(𝑥) = 𝑐𝑜𝑠 𝑥, para 𝑓(6) = 0.2794154982

𝑉𝑣 − 𝑉𝑎 0.279415 − 0.279388 2.7 × 10−5


𝐸𝑟 = | |=| |=| | = 9.663 × 10−5 ,
𝑉𝑣 0.279415 0.279415

𝐸% = |𝐸𝑟 × 100%| = |9.663 × 10−5 × 100%| = 𝟎. 𝟎𝟎𝟗𝟔𝟔%

Comentarios
A primera vista parecería ser que estas formulas de diferencias centrales se acercan
bastante al valor verdadero de la derivada de la función buscada, ya que con las diferencias
centradas de orden 𝑂(ℎ2 ) el error producido en el ejemplo es de apenas 0.166%, error
bastante pequeño; sin embargo en error producido con la formulas de diferencias centradas
de orden 𝑂(ℎ4 ) es aun menor, tan solo de 0.0096%.
De nuevo vale repetir que estas formulas de diferencias centradas parecen bastantes
precisas.
La formula de diferencias centradas de orden 𝑂(ℎ4 ) es una de las recomendadas para hallar
la primera derivada de 𝑓(𝑥).

Fórmulas de las diferencias centradas de los tres puntos

1 ℎ2 𝑓 ′′′ (𝜉1 )
𝑓 ′ (𝑥) = [𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)] −
2ℎ 6

𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ) ℎ2 𝑓 ′′′ (𝜉1 )


𝑓 ′ (𝑥) = − (𝟗. 𝟏)
2ℎ 6

1 𝑓 3 (𝜉2 )ℎ2
𝑓 ′ (𝑥0 ) = [−3𝑓(𝑥0 ) + 4𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ)] +
2ℎ 3

−3𝑓(𝑥0 ) + 4𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ) 𝑓 3 (𝜉2 )ℎ2


𝑓 ′ (𝑥0 ) = + (𝟗. 𝟐)
2ℎ 3

Las ecuaciones (9.1) y (9.2) son las llamadas fórmulas de los tres puntos de derivación
numérica, aun cuando la formula (9.1) solamente utiliza dos puntos y no aparece en ella el
punto central 𝑥0 . El error presentado en la ecuación (9.1) es aproximadamente la mitad que
en la ecuación (9.2), esta situación se debe a que en la ecuación (9.1) se usan datos que están
Derivación Numérica 15

a ambos lados de 𝑥0 , mientras que en la ecuación (9.2.) se considera solo un lado y se


desconoce el valor del otro lado que está fuera del intervalo.
La ventaja que presenta la ecuación (9.1) es su simplicidad, ya que 𝑓 solamente se evalúa
en dos puntos, mientras que la ecuación (9.2) necesita tres puntos.

Ejemplo 9.9.

Aproximar el valor de la función 𝑓 ′ (3) si 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥, utilizando la fórmula (9.1) de
los tres puntos, con ℎ = 0.1

Solución:
𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ)
Se parte de la fórmula: 𝑓 ′ (𝑥) =
2ℎ
𝑓(3 + 0.1) − 𝑓(3 − 0.1) 𝑓(3.1) − 𝑓(2.9) ln 3.1 × 𝑠𝑒𝑛3.1 − ln 2.9 × 𝑠𝑒𝑛2.9
𝑓 ′ (3) = = =
2(0.1) 0.2 0.2
1.131402× 0.041581 − 1.064712× 0.239249 0.047044 − 0.254731
𝑓 ′ (3) = =
0.2 0.2
0.207687
𝑓 ′ (3) = = −𝟏. 𝟎𝟑𝟖𝟒𝟑𝟕
0.2
Estimación de error:

El valor verdadero de la derivada de la función 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥 es 𝑓 ′ (3) = −𝟏. 𝟎𝟒𝟎𝟓𝟕𝟖

𝐸 = |𝑉𝑣 − 𝑉𝑎 | = |−1.040578 – (−1.038437)| = 2.141 × 10−3 = 0.002141


𝑉𝑣 − 𝑉𝑎 𝐸 0.002141
𝐸𝑟 = | | = | || | = 2.0575 × 10−3 = 0.0020575
𝑉𝑣 𝑉𝑣 −1.040578

𝐸% = 𝐸𝑟 × 100% = 0.0020575 × 100% = 𝟎. 𝟐%

Comentarios:

La aproximación lograda es bastante buena, pues el error porcentual es solamente del


0.2%, y este valor es aceptable para cualquier cálculo promedio. Además, debe tenerse
siempre en cuenta el tipo de cálculo que se realiza y la precisión que se requiera para
estimar el error.

Ejemplo 9.10.

Aproximar el valor de la función 𝑓 ′ (3) si 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥, utilizando la fórmula (9.2) de
los tres puntos, con ℎ = 0.1

Solución:
La solución inicia con la formula de los tres puntos (9.2)
1
𝑓 ′ (𝑥0 ) = [−3𝑓(𝑥0 ) + 4𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ)]
2ℎ
1 1
𝑓 ′ (3) = [−3𝑓(3) + 4𝑓(3 + 0.1) − 𝑓(3 + 2 × 0.1)] = [−3𝑓(3) + 4𝑓(3.1) − 𝑓(3.2)]
0.2 0.2
Derivación Numérica 16

1
𝑓 ′ (3) = [−3(𝑙𝑛3 × 𝑠𝑒𝑛3) + 4(𝑙𝑛3.1 × 𝑠𝑒𝑛3.1) − (𝑙𝑛3.2 × 𝑠𝑒𝑛3.2)]
0.2
1
𝑓 ′ (3) = [−3(1.09861 × 0.14112) + 4(1.13140 × 0.04158) − (1.16315 × (−0.05837)]
0.2
1
𝑓 ′ (3) = [−3(0.155036) + 4(0.0470436) − (−0.067893)]
0.2
1 1
𝑓 ′ (3) = [−0.465108 + 0.1881744 + 0.067893] = [−0.2090406] = −𝟏. 𝟎𝟒𝟓𝟐𝟎𝟑
0.2 0.2
Estimación de error:

El valor verdadero de la derivada de la función 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥 es 𝑓 ′ (3) = −1.040578

𝐸 = |𝑉𝑣 − 𝑉𝑎 | = |−1.040578 – (−1.045203)| = 4.625 × 10−3 = 0.004625


𝑉𝑣 − 𝑉𝑎 𝐸 0.004625
𝐸𝑟 = | | = | || | = 4.4446 × 10−3 = 0.0044446
𝑉𝑣 𝑉𝑣 −1.040578

𝐸% = 𝐸𝑟 × 100% = 0.0044446 × 100% = 𝟎. 𝟒𝟒%

Comentarios:

En este caso, con la aplicación de la formula (9.2) de los tres puntos la aproximación
lograda es de menor precisión que la de (9.1), aun así, sigue siendo bastante buena la
aproximación lograda, pues el error porcentual es de 0.44%.
Comparando los dos ejercicios resueltos se nota claramente que la ecuación (9.1) presenta
menor error, aproximadamente la mitad de error producido por (9.2), lo que se había ya
indicado al definir las dos fórmulas de los tres puntos.

Importante: Recodar siempre que el error puede ser pequeño o grande dependiendo
siempre de la precisión que se desee al evaluar una determinada función.

Fórmula de los tres puntos


1 𝑓 (3) 𝜉 2
𝑓 ′ (𝑥0 ) = [−3𝑓(𝑥0 ) + 4𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ)] + ℎ , 𝜉 ∈ [𝑥0 , 𝑥0 + 2ℎ]
2ℎ 3

1 𝑓 (3) 𝜉 2
𝑓 ′ (𝑥0 ) = [𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)] + ℎ , 𝜉 ∈ [𝑥0 − ℎ, 𝑥0 + ℎ]
2ℎ 3!

Ejemplo 9.11.

Aproximar el valor de la función 𝑓 ′ (3) si 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥, utilizando la fórmula de los tres
puntos, con ℎ = 0.1

Solución:
La solución inicia con la formula de los tres puntos
1
𝑓 ′ (𝑥0 ) = [𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)]
2ℎ
Derivación Numérica 17

𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ)
Se parte de la fó rmula: 𝑓 ′ (𝑥) =
2ℎ
1 1
𝑓 ′ (3) = [𝑓(3 + 0.1) − 𝑓(3 − 0.1)] = [−3𝑓(3) + 4𝑓(3.1) − 𝑓(3.2)]
2 × 0.1 0.2
1
𝑓 ′ (3) = [−3(𝑙𝑛3 × 𝑠𝑒𝑛3) + 4(𝑙𝑛3.1 × 𝑠𝑒𝑛3.1) − (𝑙𝑛3.2 × 𝑠𝑒𝑛3.2)]
0.2
1
𝑓 ′ (3) = [−3(1.09861 × 0.14112) + 4(1.13140 × 0.04158) − (1.16315 × (−0.05837)]
0.2
1
𝑓 ′ (3) = [−3(0.155036) + 4(0.0470436) − (−0.067893)]
0.2
1 1
𝑓 ′ (3) = [−0.465108 + 0.1881744 + 0.067893] = [−0.2090406] = −1.045203
0.2 0.2
Estimación de error:

El valor verdadero de la derivada de la función 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥 es 𝑓 ′ (3) = −1.040578

𝐸 = |𝑉𝑣 − 𝑉𝑎 | = |−1.040578 – (−1.045203)| = 4.625 × 10−3 = 0.004625


𝑉𝑣 − 𝑉𝑎 𝐸 0.004625
𝐸𝑟 = | | = | || | = 4.4446 × 10−3 = 0.0044446
𝑉𝑣 𝑉𝑣 −1.040578

𝐸% = 𝐸𝑟 × 100% = 0.0044446 × 100% = 0.44446%

Comentarios:
En este caso, con la aplicación de la formula de los tres puntos la aproximación lograda es
de menor precisión que la de las diferencias centradas, aun así, sigue siendo bastante
buena la aproximación lograda, pues el error porcentual es de 0.44%, un poco mayor que
la de las diferencias centradas de tan solo del 0.2%.

Fórmula de los cinco puntos

1
𝑓 ′ (𝑥0 ) = [−25𝑓(𝑥0 ) + 48𝑓(𝑥0 + ℎ) − 36𝑓(𝑥0 + 2ℎ) + 16𝑓(𝑥0 + 3ℎ) − 3𝑓(𝑥0 + 4ℎ)]
12ℎ
𝑓 (5) (𝜉0 )ℎ4
+ , 𝟗. 𝟓)
5

1
𝑓 ′ (𝑥0 ) = [−3𝑓(𝑥0 − ℎ) − 10𝑓(𝑥0 ) + 18𝑓(𝑥0 + ℎ) − 6𝑓(𝑥0 + 2ℎ) + 𝑓(𝑥0 + 3ℎ)]
12ℎ
𝑓 (5) (𝜉1 )ℎ4
− ,
5
1 𝑓 (5) (𝜉2 )ℎ4
𝑓 ′ (𝑥0 ) = [𝑓(𝑥0 − 2ℎ) − 8𝑓(𝑥0 − ℎ) + 8𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ)] + ,
12ℎ 30
Derivación Numérica 18

1
𝑓 ′ (𝑥0 ) = [4𝑓(𝑥0 − 3ℎ) + 6𝑓(𝑥0 + 2ℎ) − 8𝑓(𝑥0 − ℎ) + 34𝑓(𝑥0 ) + 3𝑓(𝑥0 + ℎ)
12ℎ
𝑓 (5) (𝜉3 )ℎ4
+ 34𝑓(𝑥0 )] + ,
30

1
𝑓 ′ (𝑥0 ) = [𝑓(𝑥0 − 4ℎ) − 3𝑓(𝑥0 − 3ℎ) + 4𝑓(𝑥0 − 2ℎ) − 36𝑓(𝑥0 − ℎ) + 25𝑓(𝑥0 )]
12ℎ
𝑓 (5) (𝜉4 )ℎ4
+ ,
5

Entre las distintas fórmulas de cinco puntos, las más utilizadas son:

1
𝑓 ′ (𝑥0 ) = [−25𝑓(𝑥0 ) + 48𝑓(𝑥0 + ℎ) − 36𝑓(𝑥0 + 2ℎ) + 16𝑓(𝑥0 + 3ℎ) − 3𝑓(𝑥0 + 4ℎ)]
12ℎ
𝑓 (5) (𝜉0 )ℎ4
+ , 𝟗. 𝟓)
5

1 𝑓 (5) (𝜉2 )ℎ4


𝑓 ′ (𝑥0 ) = [𝑓(𝑥0 − 2ℎ) − 8𝑓(𝑥0 − ℎ) + 8𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ)] + , 𝟗. 𝟔
12ℎ 30

Ejemplo 9.12.
Aproximar el valor de la función 𝑓 ′ (3) si 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥, utilizando la fórmula de los
cinco puntos, con ℎ = 0.1
Solución:
Se inicia el cálculo de la solución partiendo de la formula de los cinco puntos
1
𝑓 ′ (𝑥0 ) = [𝑓(𝑥0 − 2ℎ) − 8𝑓(𝑥0 − ℎ) + 8𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ)]
12ℎ

1
𝑓 ′ (3) = [𝑓(3 − 0.2) − 8𝑓(3 − 0.1) + 8𝑓(3 + 0.1) − 𝑓(3 + 0.2)]
12 × 0.1

1
𝑓 ′ (3) = [𝑓(2.8) − 8𝑓(2.9) + 8𝑓(3.1) − 𝑓(3.2)]
1.2

1
𝑓 ′ (3) = [(𝑙𝑛2.8 × 𝑠𝑒𝑛2.8) − 8(𝑙𝑛2.91 × 𝑠𝑒𝑛2.9) + 8(𝑙𝑛3.1 × 𝑠𝑒𝑛3.1) − (𝑙𝑛3.2
1.2
× 𝑠𝑒𝑛3.2)]
Derivación Numérica 19

1
𝑓 ′ (3) = [1.029619 × (0.334988) − 8(1.06471 × 0.239249) + 8(1.1314 × 0.04158)
1.2
− (1.16315 × (−0.058374)]

1
𝑓 ′ (3) = [(0.34491) − 8(0.25473) + 8(0.047044) − (−0.0678977)]
1.2

1
𝑓 ′ (3) = [(0.34491) − 2.03784 + 0.376352 + 0.0678977]
1.2

1
𝑓 ′ (3) = [1.24868] = −1.0405669
1.2

Estimación de error:

El valor verdadero de la derivada de la función 𝑓(𝑥) = 𝑙𝑛𝑥 𝑠𝑒𝑛 𝑥 es 𝑓 ′ (3) = −𝟏. 𝟎𝟒𝟎𝟓𝟕𝟖

𝐸 = |𝑉𝑣 − 𝑉𝑎 | = |−1.040578 – (−1.0405669)| = 1.111 × 10−4 = 0.0001111

𝑉𝑣 − 𝑉𝑎 𝐸 0.0001111
𝐸𝑟 = | | = | || | = 1.06768 × 10−4 = 0.000106768
𝑉𝑣 𝑉𝑣 −1.040578

𝐸% = 𝐸𝑟 × 100% = 0.000106768 × 100% = 0.0106%

Comentarios:
La aproximación lograda con la formula de los cinco puntos es excelente, puede notarse en
este ejercicio que el error porcentual es de apenas 0.01%, y que la aproximación lograda
puede considerarse un valor totalmente valido, demostrando que este método es el mejor
que cualquiera de lo empleado anteriormente.
Derivación Numérica 20

EJERCICIOS RESUELTOS

Ejercicio resuelto 9.13.

Para estudiar un determinado fenómeno físico, se registran los cambios producidos en él


en la siguiente tabla. Aproxima el valor de la derivada a 𝑓 ′ (1.3) utilizando la formula de
derivación numérica por diferencia centrada de orden 𝑂(ℎ2 )

x 1 1.1 1.2 1.3 1.4 1.5 1.6


𝑓(𝑥) 2.5 2.436851 2.372895 2.308785 2.245066 2.182179 2.120472

Solución

𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)
𝑓 ′ (𝑥0 ) =
2ℎ
𝑓(1.4) − 𝑓(1.2) 2.245066 − 2.372895 −0.127829
𝑓 ′ (1.3) = = = = −𝟎. 𝟔𝟑𝟗𝟏𝟒𝟓
2(0.1) 0.2 0.2

El valor exacto de 𝑓(1.3) = −0.639962

𝑉𝑣 − 𝑉𝑎 −0.639962 − (−0.639145) 8.17 × 10−4


𝐸𝑟 = | |=| |= = 1.277 × 10−3 ,
𝑉𝑣 −0.639962 0.639962

𝐸% = |𝐸𝑟 × 100%| = |1.277 × 10−3 × 100%| = 𝟎. 𝟏𝟐𝟖%

Ejercicio resuelto 9.14.

Para estudiar un determinado fenómeno físico, se registran los cambios producidos en él


en la siguiente tabla. Aproxima el valor de la derivada a 𝑓 ′ (1.3) utilizando la formula de
derivación numérica por diferencia centrada de orden 𝑂(ℎ4 )

x 1 1.1 1.2 1.3 1.4 1.5 1.6


𝑓(𝑥) 2.5 2.436851 2.372895 2.308785 2.245066 2.182179 2.120472

Solución

−𝑓(𝑥0 + 2ℎ) + 8𝑓(𝑥0 + ℎ) − 8𝑓(𝑥0 − ℎ) + 𝑓(𝑥0 − 2ℎ)


𝑓 ′ (𝑥) =
12ℎ
Derivación Numérica 21

−𝑓(1.5) + 8𝑓(1.4) − 8𝑓(1.2) + 𝑓(1.1)


𝑓 ′ (𝑥) =
12(0.1)

−2.182179 + 8(2.245066) − 8(2.372895) + 𝑓(2.436851)


𝑓 ′ (𝑥) =
1.2

−2.182179 + 17.960528 − 18.98316 + 2.436851 −0.76796


𝑓 ′ (𝑥) = = = −𝟎. 𝟔𝟑𝟗𝟗𝟔𝟕
1.2 1.2

El valor exacto de 𝑓(1.3) = −0.639962

𝑉𝑣 − 𝑉𝑎 −0.639962 − (−0.639967) 5 × 10−6


𝐸𝑟 = | |=| |= = 7.813 × 10−6 ,
𝑉𝑣 −0.639962 0.639962

𝐸% = |𝐸𝑟 × 100%| = |1.813 × 10−6 × 100%| = 𝟎. 𝟎𝟎𝟎𝟕𝟖%

Ejercicio resuelto 9.15.


Aproximar el valor de la función 𝑓 ′ (5.7) si 𝑓(𝑥) = 2𝑥 𝑐𝑜𝑠 𝑥, utilizando la fórmula de los
tres puntos (9.2), con ℎ = 0.1

Solución

−3𝑓(𝑥0 ) + 4𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ) 𝑓 3 (𝜉2 )ℎ2


𝑓 ′ (𝑥0 ) = +
2ℎ 3

𝑥 5.7 5.8 5.9


𝑓(𝑥) = 2𝑥 cos 𝑥 9.515726 10.272026 10.944245

−3𝑓(5.7) + 4𝑓(5.8) − 𝑓(5.9) −3(9.515726) + 4(10.272026) − (10.944245)


𝑓 ′ (5.7) = =
2(0.1) 2(0.1)

, −28.547178 + 41.088104 − 10.944245 1.596681


𝑓 ′ (5.7) = = = 𝟕. 𝟗𝟖𝟑𝟒𝟎𝟓
0.2 0.2

Estimación de error:

El valor verdadero de la derivada de la función 𝑓(𝑥) = 2𝑥 𝑐𝑜𝑠 𝑥 es 𝑓 ′ (5.7) = 7.947241

𝑉𝑣 − 𝑉𝑎 𝐸 7.947241 − 7.983405
𝐸𝑟 = | | = | || | = 4.55 × 10−3 = 0.00455
𝑉𝑣 𝑉𝑣 7.947241

𝐸% = 𝐸𝑟 × 100% = 0.00455 × 100% = 𝟎. 𝟒𝟓%

Ejercicio resuelto 9.15.


Aproximar a 𝑓′(4.2) la función 𝑓(𝑥) = ln 𝑥 𝑡𝑔 𝑥, utilizando la fórmula de los cinco puntos,
con ℎ = 0.1
Derivación Numérica 22

Solución

𝑓(𝑥0 − 2ℎ) − 8𝑓(𝑥0 − ℎ) + 8𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 + 2ℎ) 𝑓 (5) (𝜉2 )ℎ4


𝑓 ′ (𝑥0 ) = + ,
12ℎ 30

𝑥 4.0 4.1 4.2 4.3 4.4 4.5


𝑓(𝑥) 1.605081 2.008577 2.551264 3.334172 4.587527 6.974906
= 𝑙𝑛𝑥 𝑡𝑔𝑥

𝑓(4.0) − 8𝑓(4.1) + 8𝑓(4.3) − 𝑓(4.4)


𝑓 ′ (4.2) =
12(0.1)

1.605081 − 8(2.008577) + 8(3.334172) − (4.587527)


𝑓 ′ (4.2) =
1.2

1.605081 − 16.068616 + 26.673376 − 4.587527 7.622314


𝑓 ′ (4.2) = = = 𝟔. 𝟑𝟓𝟏𝟗𝟐𝟖
1.2 1.2
El valor verdadero de la derivada de la función 𝑓(𝑥) = 𝑙𝑛𝑥 𝑡𝑔𝑥 es 𝑓 ′ (4.2) = 𝟔. 𝟑𝟗𝟑𝟗𝟓𝟏

𝑉𝑣 − 𝑉𝑎 𝐸 6.393951 − 6.351928
𝐸𝑟 = | | = | || | = 6.5723 × 10−3 = 0.0065723
𝑉𝑣 𝑉𝑣 6.393951

𝐸% = 𝐸𝑟 × 100% = 0.0065723 × 100% = 𝟎. 𝟔𝟓𝟕%

Ejercicio resuelto 9.8

Por el método de diferencia hacia adelante encontrar la derivada de la función f(x) para
x=2, o sea encontrar f´(x). Para resolver este ejercicio utilize la siguiente tabla de x y f(x).

Ejercicio medio (Respuesta)

Derivación lineal de Newton

1. Dada la función , aproxima el valor de su derivada en el


punto , con la fórmula de derivación lineal de Newton.

a).- Establece la fórmula de derivación lineal de Newton para este problema.

b).- Calcula el valor de la derivada con incremento constante .


Derivación Numérica 23

c).- Calcula el error absoluto de la aproximación, con el valor real de

Nota: Para los cálculos utiliza hasta 6 cifras después del punto decimal.

Solución
a).- Para establecer la fórmula de derivación de Newton, se recurre a la fórmula de
interpolación de Newton:

En donde:

, es el incremento constante,

y la k-ésima diferencia en la posición i.

Derivando con respecto a x, por la regla de la cadena tenemos (expresión 5.8 del libro página
237):

Finalmente se llega a la fórmula de derivación lineal por Newton:

b).- Con base en la fórmula anterior se calcula el valor de la derivada con incremento
constante .

Evaluando la función en cada uno de los puntos:

Luego:

c).- Para el error absoluto de la aproximación, con el valor real de


Derivación Numérica 24

Ejercicio resuelto Nº 7
La carga en un circuito eléctrico con base en el tiempo está dada por:
t q
0.000 2.5000
0.002 2.5523
0.004 2.6087
0.006 2.6682
0.008 2.7299
0.010 2.7931

En donde t es el tiempo en segundos y q la carga en coulombios. Se sabe que la corriente


instantánea es igual a la derivada de la carga en ese instante; determina por derivación
lineal de Newton la corriente del circuito en t =0.005 segundos.
a) Establece la fórmula de derivación lineal de Newton para este problema.
b) Calcula el valor de la derivada con incremento constante h =0.002 .

Nota: Para los cálculos utiliza hasta 4 cifras después del punto decimal.

Ejercicio resuelto Nº 8
Aplicación a la medicina
Para estudiar la tasa de crecimiento de una bacteria se hacen cultivos y se registran
sus cambios periódicamente durante 7 días obteniéndose los valores de la siguiente
tabla:
Tiempo en días Bacterias
0 35
1 52
2 95
3 140
4 198
5 266
6 342
7 465
Empleando los valores de la tabla anterior aproxima por derivación de Newton la tasa
de crecimiento al cuarto día.
a) Establece la fórmula de derivación lineal de Newton para este problema.
b) Calcula el valor de la derivada con incremento constante h 1 .

Nota: Para los cálculos utiliza hasta 4 cifras después del punto decimal.
Ejercicio resuelto Nº 9
1.
Dada la función
3.4 1
3.5
()
2
2 0.25


xx
xe
fx
x
, aproxima el valor de su derivada en el punto x 1.25 , con
Derivación Numérica 25

la fórmula de derivación lineal de Newton.


a) Establece la fórmula de derivación lineal de Newton para este problema.
b) Calcula el valor de la derivada con incremento constante h 0.05 .
c) Calcula el error absoluto de la aproximación, con el valor real de f (1.25) 1.079616...
Nota: Para los cálculos utiliza hasta 6 cifras después del punto decimal.
2. Dada la siguiente tabla de valores obtenidos en observaciones en diferentes
tiempos de un
experimento:
ty
0 38.20
0.20 35.25
0.50 30.45
0.60 27.80
0.85 24.90
1.10 22.75
Por medio de la diferenciación de Lagrange de segundo grado hacia delante aproxima
el
valor de rapidez de decrecimiento del fenómeno en estudio en el tiempo t 0.55 .
a) Establece la fórmula de la derivación de Lagrange de segundo grado para este
problema.
b) Aproxima la derivada numérica en t 0.55 .

Nota: Para los cálculos utiliza hasta 3 cifras después del punto decimal.
Ejercicio resuelto Nº 10
1. La siguiente tabla contiene los datos de f(x) = senh(x) correctos hasta las
cifras
dadas.
x 1.2 1.3 1.4 1.5 1.6
f(x) 1.5095 1.6984 1.9043 2.1293 2.3756
Calcular f0(1.4) mediante las tres f´ormulas de 3 puntos. Comparar los
resultados
obtenidos con la soluci´on f0(1.4) = 2.150898. Obtener tambi´en f00(1.4) y
compararla con la real.
2. Con los datos
x 1 1.01 1.02
fi 1.27 1.32 1.38
a) Aproximar f0(1.005) y f0(1.015)
b) Aproximar f00(1.01) usando los resultados del apartado a).
c) Obtener f00(1.01) con la f´ormula de la derivada segunda
3. La siguiente tabla contiene los valores de f(x) = 1
_
R_
0 cos(xsen t)dt
x 0 0.2 0.4 0.6 0.7 0.9
fi 1 0.990025 0.960398 0.912005 0.881201 0.807524
Sabemos que f 2 C1(lR) y 8n 2 lN y
__
fn)(x)
__
_1
Derivación Numérica 26

a) Mediante interpolaci´on con 3 puntos estimar f0(0.5) y acotar el error


cometido.
b) Mediante interpolaci´on con cinco puntos estimar f0(0.4) y acotar el error
cometido.
c) Mediante interpolaci´on con 3 puntos estimar f00(0.2) y acotar el error
cometido.
d) Mediante interpolaci´on con 5 puntos estimar f00(0.4) y acotar el error
cometido.
4. De cierta funci´on f 2 C1(lR) se conoce los datos
x 1.2 1.3 1.4 1.5 1.6
fi 1.5095 1.6984 1.9043 2.1293 2.3756
y que para todo n´umero natural n y para todo x 2 [1, 2] se tiene que
__
fn)(x)
__
_
e2 + e−1
2
.
Aproximar f0(1.4) y f00(1.4) mediante f´ormulas de 5 puntos y estimar el error

cometido.

Ejercicio resuelto Nº 11

EJEMPLO. Consideremos la siguiente tabla de datos

0.00 1.00
0.01 1.010050167
0.02 1.02020134
0.03 1.030454534
0.04 1.040810774
0.05 1.051271096
0.06 1.061836547
0.07 1.072508181
0.08 1.083287068
0.09 1.094174284

Estimar y .
Derivación Numérica 27

SOLUCIÓN. Para estimar se puede usar la fórmula de cinco puntos

mientras que para estimar podemos usar una fórmula de tres puntos,

para ser exactos, la fórmula apropiada es la fórmula para .

Ejercicio

EJERCICIOS

1. Considere la tabla

1.1 1.042236692
1.2 1.082222055
1.3 1.120140413
1.4 1.156156396
1.5 1.190417757
1.6 1.223057566
1.7 1.254195979
1.8 1.283941742

i.) En Excel, estimar , y y comparar


con el valor real.

ii.) En Excel, estimar , y y comparar


con el valor real.

2. Implementar una hoja en Excel, con o sin macros, para que poder calcular
la aproximación de cada una de las derivadas usando las cinco fórmulas
vistas en la teoría.
Derivación Numérica 28

EJERCICIOS DE FIJACIÓN

11)

12)

13)

14)

15)

Método de los 5 pasos

Tenemos una función f(x) y se quiere hallar la derivada en el punto a

Para calcular la derivada por definición se utiliza este método que consiste en los 5
siguientes pasos:

1- calcular 𝑓(𝑎)

2. Calcular 𝑓(𝑎 + ℎ)

3. Calcular ∆𝑓 que es 𝑓(𝑎 + ℎ) − 𝑓(𝑎)


Derivación Numérica 29

∆𝑓
4. Calcular

∆𝑓
5. Calcular lim
h→0 ℎ

Ejemplo

Calcular la derivada de f(x) = x3 en el punto a

1- calcular 𝑓(𝑎) = 𝑎3

2. Calcular 𝑓(𝑎 + ℎ) = (𝑎 + ℎ)3 = 𝑎3 + 3𝑎2 ℎ + 3𝑎ℎ2 + ℎ3

3. Calcular ∆𝑓 = 𝑎3 + 3𝑎2 ℎ + 3𝑎ℎ2 + ℎ3 − 𝑎3 = 3𝑎2 ℎ + 3𝑎ℎ2 + ℎ3 = ℎ(3𝑎2 + 3𝑎ℎ + ℎ2 )

Se ha sacado el factor común h para que el siguiente paso sea fácil.

∆𝑓 ℎ(3𝑎2 + 3𝑎ℎ + ℎ2 )
4. Calcular: = = 3𝑎2 + 3𝑎ℎ + ℎ2
ℎ ℎ

∆𝑓
5. Calcular lim = lim( 3𝑎2 + 3𝑎ℎ + ℎ2 ) = 𝟑𝒂𝟐
h→0 ℎ ℎ→0

Diferenciación numérica
Como cualquier tipo de operación numérica, la diferenciación numérica refiere a una
función 𝑓 ∈ 𝐶 2 [𝑎, 𝑏] y un punto arbitrario 𝑥0 en [𝑎, 𝑏]. Se necesita un método para
aproximar 𝑓 ′ (𝑥0 ), con 𝑥1 = x0 + h para algún ℎ ≠ 0, lo suficientemente pequeña para
asegurar que 𝑥1 ∈ [𝑎, 𝑏], se calcula 𝑃0,1 (𝑥). Usando la siguiente notación:

2. Fórmulas de derivación numérica


Sea f(x) una función derivable en un cierto intervalo I de la recta real y sea x* un punto de
dicho intervalo. Consideremos además un soporte de (n+1) puntos {x0, x1, ..., xn} del
intervalo I en el que se suponen conocidos los valores de la función f(x). Por simplicidad
supondremos además, en todo cuanto sigue, que los puntos del soporte son todos ellos
distintos y están ordenados de menor a mayor es decir que: x0 < x1 < ... < xn.
Definición 2.1.
Derivación Numérica 30

Siendo f(x) una función de la que se conocen sus valores en el soporte


de (n+1) puntos {x0 , x1, ...., xn} del intervalo I, se denomina fórmula de
derivación numérica para aproximar el valor de la primera derivada
f’(x) en el punto x* sobre el soporte de puntos considerado, a toda
expresión de la forma:
f’(x*) ≈ '
* f = c0.f(x0) + c1.f(x1)+ …. + cn.f(xn) =
n
ii
i0
c .f(x )

donde c0, c1, …, cn son (n+1) escalares denominados coeficientes (o
pesos) de la fórmula de derivación
NOTA:
La fórmula de derivación que se acaba de definir puede decirse que es una
fórmula lagrangiana pues en ella sólo intervienen valores de la función f en los
puntos del soporte. Podrían considerarse fórmulas más generales, hermitianas,
en las que el valor de f’(x*) fuese aproximado a partir del valor de la función f y
de algunas de sus derivadas en los puntos del soporte. No obstante, estas
últimas fórmulas tienen un uso mucho más esporádico que las de tipo
lagrangiano y es por ello que en este tema nos limitaremos a considerar como
fórmulas de derivación numérica tan sólo a las que hacen intervenir los valores
de la función en los puntos del soporte.
En general el valor aproximado '*
f y el valor exacto f’(x*) diferirán,
cometiéndose un error en la aproximación de f’(x*). Es por ello que junto a la
definición de una fórmula numérica conviene precisar de forma rigurosa la
definición del error que con ella se comete. En este sentido se introduce la
siguiente definición:
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
5
Definición 2.2.
Siendo '
* f la aproximación de f’(x*) que se obtiene operando sin error de
redondeo según la fórmula de derivación numérica:
f’(x*) ≈ '
*f=
n
ii
i0
c .f(x )

se denomina error de truncamiento de la fórmula en el punto x*y para
la función f al valor Rf(x*) = f’(x*) - '
Derivación Numérica 31

*f
Obviamente se verificará que: '
f '(x*) = f*+Rf(x*) por lo que considerando la
fórmula en cuestión aplicada a todos los puntos x de un dominio dado
puede definirse la función error de truncamiento de la fórmula derivación
numérica para la función f considerada como la función:
Rf : I 􀃆 R
x 􀃆 Rf(x) = f’(x) - '*
f
En el análisis del error de truncamiento de las fórmulas de derivación numérica
se perseguirá encontrar cotas del valor de esta función de error Rf(x) en el
intervalo I sobre el que se trabaje.
Ejemplo:
Siendo {x0 , x1 } un soporte formado por dos puntos tales que x1 = x0 + h, y
considerando que x* = x0, la sustitución de la expresión de f’(x0) por el cociente
incremental:
'10
0
f(x ) f(x )
f
h

=
conduce a una fórmula en la que sus coeficientes son c0 = (-1/h) y c1 = (1/h).
Una forma de acotar el error de truncamiento de esta fórmula, si se supone que
f(x) es al menos de clase C2([x0, x1]) consiste en considerar el desarrollo en
serie de Taylor siguiente:
f(x1) = f(x0+h) = f(x0) + h.f’(x0) +
2
0
h .f "(x .h)
2
+ θ θ ∈ (0,1)
de donde:

=01−+
00
f '( x ) f ( x ) f ( x ) h .f "( x .h)
h2
θ θ ∈ (0,1)
Por tanto:
= − '=− +
f0000
R (x ) f '(x ) f h .f "(x .h)
2
θ θ ∈ (0,1)
expresión que puede acotarse por:
Derivación Numérica 32

Programación y Métodos Numéricos Derivación Numérica


6
{}

=−≤
01
'
f000
x (x ,x )
R (x ) f '( x ) f h . Sup f "( x )
2
Para el caso particular de la función f(x) = x2 el cociente incremental
considerado conduce a la expresión:
+−
==+
22
'00
00
f ( x h) x 2.x h
h
por lo que el error de truncatura cometido es en este caso Rf(x0) = h.
Obsérvese que la acotación antes realizada conduciría (para esta función x2) a
la acotación |Rf(x0)| ≤ h coincidente con el error de truncatura realmente
cometido1.
Las fórmulas que conducen al valor exacto de la derivada se denominan
fórmulas exactas. Más concretamente:
Definición 2.3.
Se dice que la fórmula de derivación numérica f’(x*) ≈ '
*f=
n
ii
i0
c .f(x )

es
exacta para la función f(x) en el punto x* y para el soporte {x0, ..., xn}
cuando el error de truncatura Rf(x*) es nulo.
Ejemplo:
Dado un soporte {x0 < x1 } y denotando por h = x1 – x0, la fórmula:
−−
≈==+

10
*01
10
f(x*) f ' f(x ) f(x ) 1·f(x ) 1·f(x )
xxhh
Derivación Numérica 33

es una fórmula exacta para la función f(x) = x2, en el punto x* = 1 y para el


soporte {x0 = 0, x1 = 2}. En efecto, f’(1) = 2 y:

= = = 2+ 2=
*
2 f'(1) f ' 1·0 1·2 2
22
Ahora bien esta fórmula no tiene que ser exacta si se cambia de punto x* (por
ejemplo f’(1.5) = 3 ≠ f*’ = 2) o si se cambia de soporte (por ejemplo para x0 = -1
y x1 = 2 , siendo f(x) = x2 y x* = 1 se tiene que f’(1) = 2 ≠ f*’ = 1) o si se cambia
de función (por ejemplo si f(x) = x3 con el soporte {x0 = 0 y x2 = 2} y para x* = 1
se tiene que: 3 = f’(1) ≠ f*’ = 4)
1 No siempre las acotaciones del error de truncatura que se obtendrán serán tan “finas”
como la
que se acaba de describir.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
7
De poco serviría tener fórmulas que sólo fuesen exactas para funciones
concretas con soportes concretos y en puntos concretos pues la aplicabilidad
de dichas fórmulas sería escasa. Por ello, las fórmulas de derivación numérica
suelen diseñarse de forma que sean exactas para determinadas familias de
funciones con independencia de cuáles sean los (n+1) puntos del soporte que
se elijan y para cualquier punto x* en el que se apliquen. Más concretamente
puede darse la definición siguiente:
Definición 2.4.
Se dice que la fórmula de derivación numérica:
n
'
*ii
i0
f '(x*) f c .f(x )
=
≈=Σ
es exacta de orden k para la familia de funciones de clase C1([x0 , xn]):
{φ0(x),φ1(x),...,φk(x),....}
cuando es nulo el error de truncatura cometido al aplicar la fórmula para
la estimación de la primera derivada de cualquiera de las (k+1) primeras
funciones de la familia y en cualquier punto x* perteneciente al intervalo
[x0 , xn]: k 0 n R (x) 0 x [x ,x ] ϕ = ∀ ∈
Propiedad 2.1.
Si la fórmula de derivación numérica
n
'
*ii
i0
Derivación Numérica 34

f '(x*) f c .f(x )
=
≈ = Σ es exacta de
orden k para la familia de funciones { } 0 1 k ϕ (x),ϕ(x),...,ϕ (x),.... entonces es
exacta para cualquier combinación lineal de las (k+1) primeras funciones
de la familia
Demostración:
Si la fórmula es exacta de orden k para la familia de funciones consideradas se
podrá escribir que:
[]
=
ϕ = ϕ ∀ ∈ Σn
'
jiji0n
i0
(x*) c . (x ) x* x ,x (j = 0, ..., k)
Por otra parte, una función cualquiera que sea combinación lineal de las (k+1)
primeras funciones de la familia será de la forma:
k
0011kkjj
j0
f(x) (x) (x) ..... (x) (x)
=
= α ⋅ ϕ + α ⋅ ϕ + + α ⋅ ϕ = Σα ⋅ ϕ
por lo que su primera derivada en cualquier punto x* del intervalo [x0, xn]se
puede expresar como:
Programación y Métodos Numéricos Derivación Numérica
8
======
⎛⎞⎛⎞
= α ⋅ϕ = α ⋅⎜ ⋅ϕ ⎟= ⋅⎜ α ⋅ϕ ⎟= ⋅
⎝⎠⎝⎠
ΣΣΣΣΣΣkknnkn
'
jjjijiijjiii
j0j0i0i0j0i0
f '(x*) (x*) c (x ) c (x ) c f(x )
y puesto que la aplicación de la fórmula de derivación numérica a la función f(x)
en cualquier punto x* conduce a que:
n
'
xii
i0
f c.f(x)
=

puede concluirse que:
Derivación Numérica 35

[ ] f 0n R (x*)=0 ∀x*∈x ,x
Esto demuestra que la fórmula es exacta para cualquier función f(x) que sea
combinación lineal de las (k+1) primeras funciones de la familia de funciones
considerada.
c.q.d.
Las fórmulas de derivación numérica más utilizadas en la práctica son exactas,
de algún orden k, para la familia de funciones formada por los monomios, es
decir: {1, x, x2, ...,xk, ....}. En este tema nos referiremos en exclusiva a esta
familia de funciones y por ello cuando digamos que una fórmula es de orden k
se sobreentenderá que “es de orden k para la familia de los monomios”, es
decir que permite estimar sin error alguno la primera derivada de cualquier
función polinómica de grado menor o igual que k en cualquier punto x*.
Ejemplo:
La fórmula que se ha utilizado en ejemplos anteriores consistente en sustituir el
límite con el que se define la derivada por el cociente incremental en un soporte
de dos puntos consecutivos es una fórmula exacta de orden 1. En efecto, para
la función f(x) = 1 se verifica que:
'00[]
x00
f f(x h) f(x ) 1 1 0 f '(x) x x ,x h
hh
+−−
====∀∈+
Asimismo para la función g(x) = x se tiene que:
+−+−[]
'=00=00==∀∈+
x00
g g(x h) g(x ) x h x 1 g'(x) x x ,x h
hh
Pero para la función q(x) = x2, en general, ya no coincidirá el valor de la primera
derivada y el valor estimado mediante la fórmula de derivación:
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
9
+−+−[]
===⋅+≠∀∈+
22
'0000
x000
q q(x h) q(x ) (x h) x 2 x h q'(x) x x ,x h
hh
por lo que sólo se puede afirmar que el error de la fórmula es nulo para los
monomios {1, x}. En consecuencia, como se señaló anteriormente, la fórmula
es de orden 1.
NOTA:
Para facilitar el seguimiento de todo cuanto hasta aquí se ha dicho, nos hemos
Derivación Numérica 36

referido únicamente a fórmulas que permiten estimar el valor de la primera


derivada de una función. Análogo tratamiento podría realizarse para las
fórmulas de derivación numérica que permiten estimar derivadas de orden
mayor (segundas derivadas, terceras derivadas, etc...). A ellas nos referiremos
en el apartado 7º de este tema.
Programación y Métodos Numéricos Derivación Numérica
10
3. Fórmulas de derivación numérica de tipo interpolatorio para aproximar
la primera derivada de una función.
Como se ha comentado en el apartado anterior, las fórmulas más utilizadas en
la práctica se buscan de forma que sean exactas para polinomios de grado
menor o igual que n (es decir fórmulas de orden de exactitud n). Una manera
natural de construir fórmulas exactas de orden n consiste en recordar que el
polinomio pn(x) que interpola en el sentido de Lagrange y sobre un soporte de
(n+1) puntos a una función f(x) que sea polinómica de grado menor o igual que
n coincide con dicha función2. Por ello es equivalente derivar la función
polinómica f(x) que derivar la su polinomio interpolador pn(x). A todas las
fórmulas de derivación que se obtienen derivando la expresión del polinomio
interpolador de Lagrange se las denomina fórmulas de derivación de tipo
interpolatorio.
Definición 3.1.
Se denomina fórmula de derivación numérica de tipo interpolatorio
(de Lagrange) para aproximar derivadas de primer orden a cualquier
fórmula obtenida derivando una vez la expresión del polinomio
interpolador de Lagrange construido sobre un soporte de (n+1) puntos
distintos.
NOTA:
Obsérvese que en la definición anterior se ha escrito entre paréntesis “de
Lagrange”. En efecto podría pensarse en derivar también la expresión del
polinomio interpolador de Hermite obteniéndose otros tipos de fórmulas de
derivación de tipo interpolatorio. Puesto que nosotros sólo nos vamos a referir a
las fórmulas que se obtienen al derivar la expresión del polinomio interpolador
de Lagrange omitiremos en lo sucesivo la coletilla “de Lagrange” y simplemente
diremos fórmula de derivación numérica de tipo interpolatorio.

Una fórmula de derivación numérica de tipo interpolatorio puede obtenrse de
cualquiera de las expresiones del polinomio interpolador. Recordando la
expresión del polinomio interpolador en función de los polinomios de base de
Lagrange puede deducirse la expresión de los pesos que intervienen en dicha
fórmula. En efecto:
2 Consúltese, por ejemplo, el tema dedicado a la Interpolación de Lagrange elaborado por
A.
Hidalgo y C. Conde en estos mismos apuntes.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
11
Derivación Numérica 37

Propiedad 3.1.
La condición necesaria y suficiente para que la fórmula de derivación
numérica
n
'
x* i i
i0
f c.f(x)
=
= Σ que sea de tipo interpolatorio es que sus
coeficientes satisfagan las igualdades:
'
ci=Li(x*) (i = 0, 1, ..., n)
donde se ha denotado por Li(x) a los (n+1) polinomios de base de
Lagrange3 sobre el soporte {x0, x1, ..., xn}.
Demostración:
a) Demostremos en primer lugar que si la fórmula es de tipo interpolatorio
entonces sus pesos satisfacen la relación ci = L’i(x*). En efecto, la expresión
detallada del polinomio interpolador de Lagrange pn(x) de una función f(x) sobre
el soporte de (n+1) puntos {x0, x1, ..., xn} en función de los (n+1) polinomios de
base de Lagrange { }n
i i 0 L (x) = es:
n
nii
i0
f(x) p (x) f(x ) L (x)
=
≈ =Σ ⋅
de donde, en cualquier punto x* se puede considerar la aproximación:
n
''
nii
i0
f '(x*) p (x*) L (x*) f(x )
=
≈ =Σ ⋅
Esta fórmula es una fórmula de derivación numérica en la que sus coeficientes
están dados por la expresión:
'
i i c =L(x*) (i = 0, ..., n)
b) Demostremos que si la fórmula de derivación numérica satisface '
i i c =L(x*)
(i = 0, ..., n) entonces es de tipo interpolatorio. En efecto, considerando que el
polinomio interpolador de Lagrange de f(x) sobre el soporte {x0, ..., xn} se puede
expresar como: pn(x) =
= Σn
ii
Derivación Numérica 38

i0
f(x )·L (x) se tiene que si se verifican las igualdades
consideradas para los coeficientes:
3 Recuérdese que:
nn
ijij
j0j0
jiji
L (x) (x x ) (x x )
==
≠≠
⎛⎞⎛⎞
=⎜⎜⎜ − ⎟⎟⎟ ⎜⎜⎜ − ⎟⎟⎟
⎝⎠⎝⎠
Π Π (i = 0, 1, ..., n)
Programación y Métodos Numéricos Derivación Numérica
12
f’(x*) ( ) ( )
====
⎛⎞
≈ = = =⎜ ⎟ =
⎝⎠
ΣΣΣΣ
nnnn'
iiiiiiiin
i0i0i0i0
c f(x ) L' (x*)f(x ) L (x*)f(x ) ' L (x*)f(x ) p' (x*)
lo que demuestra que el valor de la primera derivada en x* se aproxima con el
valor de la primera derivada del polinomio interpolador en x*.
c.q.d.
La propiedad anterior caracteriza a las fórmulas de derivación numérica de tipo
interpolatorio que permiten aproximar primeras derivadas. Además nos permite
obtener otras propiedades que deben satisfacer los coeficientes de las fórmulas
de tipo interpolatorio. Por ejemplo:
Propiedad 3.2.
En toda fórmula de derivación numérica de tipo interpolatorio
n
'
x* i i
i0
f c.f(x)
=
= Σ se verifica que:
n
i
i1
c0
Derivación Numérica 39

=
Σ=
Demostración:
Puesto que según las propiedades de los polinomios de base de Lagrange se
verifica que:
n
i
i0
L (x) 1
=
Σ = ∀x , es obvio que:
n'n
'
ii
i0i0
L (x) L (x) 0
==
⎛⎞
⎜⎟==
⎝⎠
ΣΣx∀
En particular para el punto x* se tendrá que:
nn
'
ii
i0i0
L (x*) c 0
==
Σ =Σ =
c.q.d.
Ocupémonos ahora de analizar el error en las fórmulas de derivación numérica
de tipo interpolatorio. Denotando por ε(x) a la función error de interpolación
cometido al aproximar una función f(x) por su polinomio interpolador de
Lagrange pn(x) sobre el soporte de (n+1) puntos considerado, se verifica que:
f(x) = pn(x) + ε(x) 0 n ∀x∈(x ,x )
por lo que:
'n
f '(x*)=p (x*)+ε'(x*)
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
13
lo cual nos conduce a poder expresar el error en el punto x* de la fórmula de
derivación numérica mediante:
Rf(x*) = ε'(x*)
En el caso particular en que f(x) sea un polinomio de grado menor o igual que n
se verificará que f(x) ≡ pn(x) y por tanto ε(x) = 0 ∀x , de donde resulta que la
Derivación Numérica 40

fórmula de derivación numérica de tipo interpolatorio construida sobre un


soporte de (n+1) puntos es exacta para cualquier polinomio de grado menor o
igual que n. En resumen es exacta de orden n.
Este hecho nos permite incluir a las fórmulas de derivación numéricas de tipo
interpolatorio en el conjunto de fórmulas de derivación exactas de orden n.
Pero aún puede precisarse más, puesto que además toda fórmula exacta de
orden n construida sobre un soporte de (n+1) puntos debe ser necesariamente
de tipo interpolatorio. Este hecho se demuestra en el siguiente teorema.
Teorema 3.1.
La condición necesaria y suficiente para que una fórmula de derivación
numérica construida sobre un soporte de (n+1) puntos,
n
'
x* i i
i0
f c.f(x)
=
=Σ,
sea exacta de orden n es que sea de tipo interpolatorio.
Demostración:
a) Demostremos en primer lugar que la condición recogida en el enunciado
del teorema es suficiente, es decir que si la fórmula construida sobre el
soporte de (n+1) puntos es de tipo interpolatorio entonces es exacta de
orden n. Para ello basta con recapitular los razonamientos anteriormente
realizados. En efecto, si f(x) es una función polinómica de grado menor o
igual que n su polinomio interpolador de Lagrange sobre el soporte de
(n+1) puntos coincide con la función y por tanto:
f(x) = pn(x) x ∀
por lo que f’(x) = p’n(x) ∀x . En particular para cualquier punto x* se
tendrá que:
''
n x* f '(x*) = p (x*) ≡ f
Programación y Métodos Numéricos Derivación Numérica
14
Ello demuestra que la fórmula es exacta sea cual sea el polinomio f(x)
de grado menor o igual que n al que se aplique y el punto x* en el que se
aproxime la primera derivada.. En particular lo será cuando se aplique a
los (n+1) primeros monomios {1, x, ..., xn} y por ello es exacta de grado
n.
b) Demostremos ahora que la condición anterior también es necesaria, es
decir que si la fórmula construida sobre el soporte de (n+1) puntos es
exacta de orden n entonces tiene que ser de tipo interpolatorio. Para ello
partimos del hecho de que, al ser la fórmula exacta de orden n, para
cualquier función polinómica de grado menor o igual que n, p(x), se debe
verificar que:
n
ii
Derivación Numérica 41

i0
p'(x*) c .p(x )
=

Por otra parte, puesto que hemos considerado que p(x) es un polinomio
de grado menor o igual que n, se verificará que el polinomio interpolador
de p(x) en el soporte de (n+1) puntos coincidirá con p(x) y por tanto p(x)
se puede expresar como:
n
ii
i0
p(x) p(x ).L (x)
=

de donde su primera derivada en el punto x* estará dada por:
n
'
ii
i0
p'(x*) L (x*).p(x )
=

Identificando las dos expresiones de la primera derivada de p(x) en x* se
tiene que:
nn
'
iiii
i0i0
c .p(x ) L (x*).p(x )
==
Σ =Σ
Esta igualdad debe ser satisfecha para cualquier polinomio p(x) que sea
de grado menor o igual que n. Por tanto deberá verificarse también en el
caso de que consideremos como p(x) cualquiera de los (n+1) polinomios
de base de Lagrange construidos sobre el soporte { }n
i i 0 x = . Recordemos
además que los polinomios de base de Lagrange verifican:
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
15
ij
0 si i j
L (x )
1 si i=j
⎧≠
=⎨⎩
Derivación Numérica 42

Por tanto, particularizando la igualdad antes obtenida para L0(x) se tiene


que:
nn
''
i0ii0i00
i0i0
c.L (x ) L(x*).L (x ) c L (x*)
==
Σ =Σ ⇒ =
Al hacerlo para el polinomio L1(x) resultará que:
nn
''
i1ii1i11
i0i0
c .L (x ) L (x*).L (x ) c L (x*)
==
Σ =Σ ⇒ =
Y en general al particularizar para cualquier polinomio de base Lj(x)
obtendremos que:
nn
''
ijiijijj
i0i0
c .L (x ) L (x*).L (x ) c L (x*)
==
Σ =Σ ⇒ =
c.q.d.
Ejemplos:
1º) Si se considera un único punto de soporte {x0} el polinomio interpolador de
una función f(x) en dicho soporte será el polinomio: p0(x) = f(x0). La figura 1
recoge, junto al grafo de la función f(x) el grafo de p0(x) y la tangente
geométrica a la curva en (x0, f(x0)). La pendiente de esta tangente geométrica
será la derivada f’(x0).
Figura 1: Interpretación gráfica del proceso de aproximación de la derivada primera
de una función mediante la fórmula de tipo interpolatorio con soporte de un punto.
Programación y Métodos Numéricos Derivación Numérica
16
Ello nos conduciría a que, para cualquier punto x*, la fórmula de derivación de
tipo interpolatorio de una función con un soporte de un único punto es:
''
f '(x*)≈ fx* =p0(x*)=0 =0.f(x0 )
Obviamente esta fórmula sólo sería exacta en el caso de derivar constantes (es
decir, polinomios de grado 0).
2º) Si se considera un soporte de 2 puntos {x0, x1} el polinomio interpolador de
la función f(x) en el sentido de Lagrange está dado por:
10
101
Derivación Numérica 43

0110
p (x) f(x ). (x x ) f(x ). (x x )
(x x ) (x x )
−−
=+
−−
La derivada de este polinomio es:
'10
101
011010
p (x) f(x ). 1 f(x ). 1 f(x ) f(x )
(x x ) (x x ) (x x )

=+=
−−−
Al no depender del punto en el que se evalúe la derivada podemos concluir que
para cualquier abscisa x* el valor de la primera derivada de la función en ella,
f’(x*), se aproximará mediante:
'10
x*
10
f(x ) f(x )
f '(x*) f
xx

≈=

Esta expresión se corresponde con el cociente incremental que se utilizó en los
ejemplos de los apartados anteriores. Puede observarse que los pesos de la
fórmula son: c0 = -1/(x1 – x0) y c1 = 1/(x1 – x0) por lo que su suma se anula. La
gráfica de la figura 2 representa junto a los grafos del polinomio interpolador y
de la función f(x) la tangente geométrica al grafo de f(x) en un punto (x*, f(x*)).
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
17
Figura 2: Interpretación gráfica del proceso de aproximación de la derivada primera
de una función mediante la fórmula de tipo interpolatorio con soporte de dos puntos.
Obviamente esta fórmula de derivación numérica será exacta sobre cualquier
polinomio de grado menor o igual que 1 (es decir sobre líneas rectas).

Otras relaciones entre los pesos y los puntos del soporte de las fórmulas de
derivación numérica de tipo interpolatorio se recogen en la propiedad siguiente:
Propiedad 3.3
En toda fórmula de derivación numérica de tipo interpolatorio
n
'
Derivación Numérica 44

x* i i
i0
f c.f(x)
=
= Σ , construida sobre un soporte de (n+1) puntos, se verifica
que:
()n
kk1
ii
i1
c x k· x* −
=
Σ = (k = 1, ...n)
Demostración:
Por ser la fórmula de tipo interpolatorio es exacta para todo polinomio de grado
menor o igual que n. En particular lo será para la función f(x) = xk sea cual sea
el valor del entero positivo k siempre que k < n. Puesto que f’(x*) = k·(x*)(k-1), la
exactitud de la fórmula implica que:
()−
=
= Σn
kk1
ii
i1
c x k· x * ( 0 < k < n)
c.q.d.
Programación y Métodos Numéricos Derivación Numérica
18
EJERCICIO PROPUESTO:
Demuéstrese que para cualquier función f(x) que sea derivable en todo punto
del intervalo [x0, x1] siempre existe algún punto x* de dicho intervalo para el que
la fórmula de derivación numérica de tipo interpolatorio construida sobre el
soporte {x0 ,x1} proporciona el valor exacto f’(x*). Nótese que, si esto es así, en
particular se puede afirmar que siempre existirá algún punto x* en el intervalo
[x0, x1] para el que la fórmula construida con dos puntos de soporte proporciona
el valor exacto de la derivada de xk sea cual sea el valor que le demos al entero
no negativo k. ¿Contradice esto la afirmación de que la fórmula es de orden 1?.
A la luz de este comentario ¿no sería más preciso decir que la fórmula es de
orden infinito?.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
19
4. Expresiones del error de las fórmulas de derivación numérica de tipo
interpolatorio que aproximan la primera derivada de una función.
El proceso seguido para obtener las fórmulas de derivación numérica de tipo
interpolatorio nos conduce de forma natural a que el error de cada fórmula
Derivación Numérica 45

Rf(x*) de derivación así determinada es igual a la primera derivada de la


función de error interpolación ε(x) particularizada en el punto x* en que se
deriva: Rf(x*)= ε'(x*) . No obstante trabajar con la expresión del error de
interpolación que se dedujo en los temas dedicados al estudio de las técnicas
de interpolación4 no es cómodo en muchas ocasiones. Es por ello interesante
obtener otras expresiones más cómodas para el análisis del error de las
fórmulas de derivación numérica.
Una primera forma de obtener otra expresión del error de derivación numérica
se basa en utilizar diferencias divididas. Para ello, como es habitual,
denotaremos por f[x0, x1, ..., xn, x] a la diferencia dividida de orden (n+1) de la
función f(x) en los puntos {x0, x1, ..., xn, x] y consideraremos una función g(x)
que a todo punto x le haga corresponder el valor: g(x) = f[x0, x1, ..., xn, x]
La primera derivada de esta función estará dada por:
g’(x)= 0 1 n 0 1 n
h0h001n
limf[x ,x ,....,x ,x h] f[x ,x ,....,x ,x] limf[x ,x ,....,x ,x,x h]
→ (x h) x →
+−
=+
+−
que representaremos por:
0 1 n g'(x) = f[x ,x ,....,x ,x,x]
Más concretamente:
Definición 10.4.1.
Se define la diferencia dividida de orden (n+2 )de una función en el
soporte {x0, x1, ..., xn, x, x} mediante:
01n
01n
df[x ,x ,....,x ,x]
f[x ,x ,...,x ,x,x]
dx
=
4 Recuérdese que la expresión obtenida era:
(n 1 n
x
i
i0
f()
(x) . (x x )
(n 1)!
+
=
ξ
ε=−
+ Π donde x ξ era un
punto dependiente de la abscisa x en la que se deseaba estimar el error de interpolación.
Este
Derivación Numérica 46

error también se podía expresar usando las diferencias divididas como


n
01ni
i0
(x) f[x , x ,..., x , x] (x x )
=
ε = ⋅Π − .
Programación y Métodos Numéricos Derivación Numérica
20
Con ayuda de las diferencias divididas con puntos repetidos que se acaban de
definir y partiendo de la expresión del error de interpolación que se obtuvo al
trabajar con diferencias divididas, es sencillo demostrar la siguiente propiedad:
Propiedad 4.1.
La fórmula de derivación numérica de tipo interpolatorio
n
'
x* i i
i0
f c.f(x)
=
= Σ tiene asociado un error de truncatura dado por la expresión
[ ]n [ ] nn
f01ni01nj
i0i0j0
ji
R ( x*) f x ,x ,...,x ,x*,x * . ( x * x ) f x ,x ,...,x ,x*,x * . ( x * x )
===

⎛ ⎛ ⎞⎞
= − + ⎜⎜⎝⎜ ⎜⎜⎝⎜ − ⎟⎟⎠⎟⎟⎟⎠⎟
Π ΣΠ
Demostración:
Basta con particularizar en x* la expresión obtenida al derivar una vez la
función de error de interpolación:
n
01ni
i0
(x) f[x ,x ,...,x ,x]. (x x )
=
ε=Π−
c.q.d.
La expresión anterior, teniendo un interés teórico, también es de difícil
aplicación práctica. Es por eso que lo que resta de este apartado lo
dedicaremos a determinar una expresión de fácil aplicación advirtiendo de
antemano al lector que más que la fórmula que finalmente determinemos, en la
práctica es el método que vamos a seguir el que tiene interés práctico.
Consideremos que f(x) es una función de clase Cn+1((x0, xn)) y que para
Derivación Numérica 47

aproximar la primera derivada de la función f(x) en un punto x* perteneciente al


intervalo [x0 , xn] se considera la fórmula de derivación numérica de tipo
interpolatorio
n
'
x* i i
i0
f c.f(x)
=
= Σ construida sobre un soporte de (n+1) puntos
distintos {x0 < x1 < ....< xn}. Adviértase que, por ser la fórmula de tipo
interpolatorio, al menos, será de orden n. Ello, en particular implica que servirá
para determinar sin error de truncatura ninguno las derivadas de las funciones
{1, x, x2, ..., xn}. Ello a su vez se traduce en que:
nn
k k' k *(k1)
i i x x* i i
i0i0
c x (x ) c x k.(x ) −
=
==
Σ ⋅ = ⇒Σ ⋅ = (k = 0,..., n)
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
21
Denotemos además por h al valor:
h=Max( x *−x0, x * −xn)
y sean { }n
i i=0 θ (n+1) escalares de valor absoluto no superior a 1 y tales que:
i i x =x*+θ ⋅h
Para cada uno de estos puntos, al haber supuesto la función f(x)
suficientemente regular, se puede considerar el desarrollo en serie de Taylor
siguiente:
22nn
i i (n
iii
f(x ) f(x * .h) f(x*) .h.f '(x*) .h .f "(x*) .... .h .f (x*)
2 n!
θθ
= +θ = +θ + + + +
n1n1
i (n 1
i
.h .f (x * .h)
(n 1)!
++
Derivación Numérica 48


+ +δ
+
Por tanto la fórmula de derivación numérica de tipo interpolatorio considerada
podrá rescribirse en la forma:
nnn2n
'2
x* i i i i i i i
i0i0i0i0
f c .f(x ) c .f(x*) h. c . .f '(x*) h . c . .f "(x*) .....
= = = 2! =
⎛⎞⎛⎞⎛⎞
= =⎜ ⎟ + ⎜ θ ⎟ + ⎜ θ ⎟ + +
⎝⎠⎝⎠⎝⎠
ΣΣΣΣ
+
++
==
⎛⎞
+ ⎝⎜ θ ⎠⎟ + + θ +δ
Σ Σ n n n1 n
n (n (n 1) (n 1
iiiii
i0i0
h. c. .f (x*) h . c. .f (x* .h)
n! (n 1)!
Simplifiquemos la expresión que se acaba de obtener. El coeficiente que
multiplica a f(x*) es nulo pues es la suma de los pesos de la fórmula (véase la
propiedad 3.2.). Para simplificar otros sumandos de la expresión utilizaremos
las dos propiedades siguientes:
Propiedad 4.2.
Con la notación introducida anteriormente y siendo
n
'
x* i i
i0
f c.f(x)
=
= Σ una
fórmula de derivación numérica de tipo interpolatorio con n > 0, se
verifica que:
n
ii
i0
c.1
=h
Σθ=
Derivación Numérica 49

Demostración:
Con la notación que estamos utilizando se tiene que:
Programación y Métodos Numéricos Derivación Numérica
22
i
i
x x*
h

θ=
de donde:
nnnn
iiiiiii
i0i0i1i0
c . 1. c .(x x*) 1. c .x 1.x *. c
= h= h = h =
⎛⎞
θ = − = ⎜ ⎟−
⎝⎠
ΣΣΣΣ
En esta última igualdad se sabe que
n
i
i0
c0
=
Σ = (véase la propiedad 3.2.). Por
otra parte
n
ii
i1
c .x

se corresponde con la expresión de la derivada del monomio
x en el punto x*. Por ello su valor será 1. En resumen:
n
ii
i0
c .x 1
=h
Σ=
c.q.d.
Propiedad 4.3.
Con la notación introducida anteriormente y siendo
n
'
x* i i
Derivación Numérica 50

i0
f c.f(x)
=
= Σ una
fórmula de derivación numérica de tipo interpolatorio, con n>1, se
verifica que:
n
k
ii
i0
c.0
=
Σ θ = (k=2,....,n)
Demostración:
Con la notación que se está utilizando y empleando la fórmula de Newton para
desarrollar potencias de binomios5, se tiene que:
nnnk
k k j (k j) j
iikiikii
i0i0i0j0
c . 1. c .(x x*) 1. c . ( 1) . k .x .(x*)
hhj

====
⎛ ⎛ ⎛ ⎞ ⎞⎞
θ = − = ⎜⎜⎝ ⎜⎝ − ⎜⎝ ⎟⎠ ⎟⎠⎟⎟⎠=
ΣΣΣΣ
kn
j j (k j)
kii
j0i0
1. ( 1). k .(x*). c.x
hj

==
⎛ ⎛ ⎞ ⎛ ⎞⎞
= ⎜− ⎜ ⎟ ⎜ ⎟⎟
⎝ ⎝ ⎠ ⎝ ⎠⎠
ΣΣ
Al ser la fórmula de tipo interpolatorio será exacta para cualquier polinomio de
grado menor o igual que n. En particular, al haber considerado n > 1 si se
toman valores de k tales que 2 ≤ k ≤ n se debe verificar para todo valor del
entero j comprendido entre 0 y (k-1) que el sumatorio
n
(k j)
ii
i0
Derivación Numérica 51

c .x −

coincide con el
5 Como es habitual, en dicha fórmula se utiliza la notación
k
j
⎛⎞
⎜⎟
⎝⎠
para representar a k!
(k − j)!.j!
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
23
valor de la derivada del monomio x(k-j) particularizado en el punto x*. Es decir
que:
n (k j) ( (k j))' (k j 1)
ii
i 0 x x*
c .x − x − (k j).(x*) − −
==
⎤ = = − ⎥⎦
Σ
Para el caso en que j coincida con el valor de k el sumatorio quedará
n
i
i0
c

cuyo valor es nulo(véase la propiedad 3.2.). Por tanto:
n
k
ii
i0
c.
=
Σθ=
(k 1)
j j (k j 1)
k
j0
1 . ( 1) . k .(x*) .(k j).(x*)
hj

−−
=
Derivación Numérica 52

⎛⎛⎞⎞
⎜− ⎜ ⎟ − ⎟=
⎝⎝⎠⎠
Σ
(k 1)
(k 1) j
k
j0
1 .(x*) . ( 1) .(k j). k
hj


=
⎛ ⎛ ⎞⎞
= ⎜− − ⎜ ⎟⎟
⎝ ⎝ ⎠⎠
Σ
Puesto que6 se verifica que:

=
⎛⎞
− − ⎜ ⎟= ∀ ≥
⎝⎠
Σ(k 1)
j
j0
k
( 1).(k j). 0 k 2
j
puede concluirse que:
n
k
ii
i0
c.0
=
Σ θ = (k = 2, ..., n)
c.q.d.
Estas dos propiedades junto a la expresión que obtuvimos antes de enunciarlas
nos permiten demostrar fácilmente el siguiente teorema:
Teorema 4.1.
Dado el soporte de (n+1) puntos x0 < x1 < ... < xn , siendo f(x) una
función de clase C(n+1)((x0 , xn)), siendo x* un punto del intervalo [x0 , xn],
denotando hi = xi – x* , por h al valor h = máx(|x*-x0| , |x* - xn|) y por
{ }n
i i=0 θ a los (n+1) escalares tales que hi = iθ .h , para toda fórmula de
derivación numérica de tipo interpolatorio:
Derivación Numérica 53

n
'
x* i i
i0
f '(x*) f c .f(x )
=
≈=Σ
existen (n+1) valores δ
i pertenecientes al intervalo [-1 , 1] tales que:
6 El lector interesado puede encontrar la demostración en el anexo a este apartado (Lema
4.2.)
Programación y Métodos Numéricos Derivación Numérica
24
()+
=
= − = θ +δ
+Σnn
' n (n 1
f x* i i i i
i0
R (x*) f(x*) f h . c . .h.f (x * .h)
(n 1)!
Demostración:
Introduciendo el resultado de las propiedades 4.2. y 4.3. en la expresión antes
obtenida resulta:
nnn2n
'2
x* i i i i i i i
i0i0i0i0
f c .f(x ) c .f(x*) h. c . .f '(x*) h . c . .f "(x*) .....
= = = 2! =
⎛⎞⎛⎞⎛⎞
= =⎜ ⎟ + ⎜ θ ⎟ + ⎜ θ ⎟ + +
⎝⎠⎝⎠⎝⎠
ΣΣΣΣ
+
++
==
⎛⎞
+ ⎝⎜ θ ⎠⎟ + + θ +δ
Σ Σ n n n1 n
n (n (n 1) (n 1
iiiii
i0i0
h. c. .f (x*) h . c. .f (x* .h)
n! (n 1)!
=
Derivación Numérica 54

()+
=
= + θ +δ
+Σnn
n (n1
iiii
i0
f '(x*) h . c . .h.f (x * .h)
(n 1)!
c.q.d.
NOTAS:
1ª) Obsérvese que en el término del error se ha descompuesto hn+1 en la forma
hn·h, dejando sólo como factor común del sumatorio hn y expresando en cada
uno de los sumandos del término de error θ
i·h como hi. El motivo de ello es que
los coeficientes ci de la fórmula de derivación dependen en general de los
valores hi por lo que procediendo de esta manera el término de error podrá
expresarse en función de los valores de las derivadas f(n+1( ξ
i) (siendo ξ
i los
puntos x*+ δ
i·h), de hn y de (n+1) constantes γ
i = ci· θ
i
n·hi/(n+1)!. En los ejemplos
del siguiente apartado se ilustrará este hecho.
2ª) La expresión anterior se resume frecuentemente indicando que el error es
de orden O(hn).
3ª) Para algunas funciones y en algunos puntos se verificará que el término
que multiplica a la derivada de orden (n+1) en el desarrollo en serie de Taylor
del que se partía también se anula. En dichos casos, si f(x) es lo
suficientemente regular, puede ampliarse el desarrollo en serie considerado
truncándolo en el primero de los términos que no se anule (que será posterior a
aquel en el que interviene la derivada n-ésima).
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
25
4ª) Con todo, como ya señaló anteriormente, lo más interesante de esta forma
de proceder no es tanto el resultado obtenido como el procedimiento seguido
para determinar el error de la fórmula (combinando desarrollos en serie de
Taylor).
5ª) Cuando el soporte es equidistante los cálculos anteriores suelen rehacerse
designando como h a la distancia entre los puntos del soporte.

Habitualmente el error se acota en valor absoluto, |Rf(x*)|. A partir del teorema
anterior es fácil obtener una cota de este error utilizando el lema siguiente:
Derivación Numérica 55

Lema 4.1.
Si g(x) es una función continua en [a, b] y se consideran (n+1)
coeficientes positivos, { }n
i i=0 α , y (n+1) puntos { }n
i i=0 ξ pertenecientes al
intervalo [a, b], entonces existe un punto ξ ∈ [a,b] tal que:
=
α ξ = α ξ Σn
ii
i0
.g( ) .g( )
donde
n
i
i=0
α = Σα .
Demostración:
Denotemos por gm y por gM a los valores mínimo y máximo que toma la función
g(x) en [a, b]. Por ser todos los coeficientes positivos se verifica que:
i m i i i M α.g ≤α.g(ξ)≤α.g (i = 0, 1, ..., n)
Sumando las expresiones anteriores se tiene que:
nnnn
imiiiMmiiM
i0i0i0i0
.g .g( ) .g .g .g( ) .g
====
Σα ≤Σα ξ ≤Σα ⇒α ≤Σα ξ ≤α ⇒
n
miiM
i0
g 1. .g( ) g
=
⇒≤αξ≤
αΣ
Las desigualdades anteriores, junto a la hipótesis realizada sobre la
continuidad de la función g(x) en el intervalo [a, b], nos muestran que, por
aplicación del teorema del valor medio, existirá en [a, b] al menos un punto
ξ para el que se verifique que:
Programación y Métodos Numéricos Derivación Numérica
26
nn
iiii
i0i0
1 . .g( ) g( ) .g( ) .g( )
==
αξ=ξ⇒αξ=αξ
αΣ Σ
Derivación Numérica 56

c.q.d.
El lema precedente y el teorema 4.1. nos permiten demostrar fácilmente el
siguiente teorema:
Teorema 4.2.
Dado el soporte de (n+1) puntos x0 < x1 < .... < xn, siendo f(x) una función
de clase C(n+1)((x0 , xn)), x* un punto del intervalo [x0 , xn] y denotando por
h al valor h = máx( |x* – x0 |, |xn – x|), para toda fórmula de derivación
numérica de tipo interpolatorio:
n
'
x* i i
i0
f '(x*) f c .f(x )
=
≈ =Σ
existe algún punto ξ ∈ [x0,xn] y alguna constante real positiva β para los
que se verifica:
|Rf(x*)| ≤ β.hn.f(n+1(ξ)
Demostración:
Según el teorema 4.1., y utilizando la misma notación que en él, se tiene que:
()nn
' n (n 1
f x* i i i i
i0
R (x*) f(x*) f h . c . .h .f (x * .h)
(n 1)!
+
=
= − = θ +δ

de donde:
()nn
' n (n 1
f x* i i i i
i0
R (x*) f(x*) f h . c . .h .f (x * .h)
(n 1)!
+
=
= − = θ +δ ≤

nn
n (n1
iiii
i0
h . c. .h.f (x* .h)
(n 1)!
Derivación Numérica 57

+
=
≤ θ +δ

Aplicando el lema 4.1. (para la función g(x) = |f(n+1(x)|, evaluada en los puntos
ξi = x* + δi.h, y con los coeficientes αi = |ci.θi
n.hi| ) se puede concluir que
existirá un valor x∈ [x0 , xn] para el que se verificará que:
n
i
i 0 (n 1) (n 1
f R (x*) .h . f ( )
(n 1)!
=++
⎧⎫
⎨ α⎬
≤⎩⎭ξ
+
Σ
de donde se tiene el resultado de este teorema sin más que llamar β al escalar
n
i
i0
1.
(n 1)! =
β= α

c.q.d.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
27
En el apartado siguiente se deducirán algunas fórmulas de derivación numérica
y se detallará cómo obtener la expresión del error que con ellas se comete.
ANEXO AL APARTADO 4º
Lema 4.2.
Para todo valor entero k superior o igua a 2 se verifica que:
( k 1)
j
j0
k
( 1) .(k j). 0 k 2
j

=
⎛⎞
− − ⎜ ⎟= ∀ ≥
Derivación Numérica 58

⎝⎠
Σ
Demostración:
Se tiene que:

====
⎛⎞⎛⎞⎛⎞⎛⎞
− − ⎜ ⎟= − − ⎜ ⎟= − ⎜ ⎟− − ⎜ ⎟
⎝⎠⎝⎠⎝⎠⎝⎠
Σ Σ Σ Σ (k 1) k k k
jjjj
j0j0j0j0
kkkk
( 1) ·(k j)· ( 1) ·(k j)· k· ( 1) · ( 1) ·j·
jjjj
Analicemos, utilizando la fórmula del binomio de Newton7, el primero de los
sumandos del lado derecho de esta igualdad:
=
⎛⎞
− ⎜ ⎟= − = =
⎝⎠
Σk
jk
j0
k
k· ( 1) · k·(1 1) k·0 0
j
Analicemos ahora el sumando que queda en el lado derecho:
=
⎛⎞
−⎜⎟
⎝⎠
Σk
j
j0
k
( 1)·j·
j
.
Para ello procederemos por inducción. Para el valor k = 2 se tiene que el
sumando anterior tiene el valor:
=
⎛⎞
− ⎜ ⎟= + − + =
⎝⎠
Σ2
j
Derivación Numérica 59

j0
2
( 1) ·j· 1· 0 ·1 ( 1) ·1· 2 1· 2 ·1 0
j
Admitamos entonces que para algún valor (k-1) > 2 se verifica que:

=
⎛−⎞
− ⎜ ⎟=
⎝⎠
Σ(k 1)
j
j0
k1
( 1)·j· 0
j
7 Recuérdese que la fórmula del binomio de Newton establece que:
()−
=
⎛⎞
+=⎜⎟
⎝⎠
Σk
k (k j) j
j0
k
a b ·a ·b
j
Programación y Métodos Numéricos Derivación Numérica
28
y demostremos que en ese caso también se anula el sumatorio para el entero
k. En efecto, con esta suposición:
====
⎛⎞
− ⎜⎝ ⎟⎠= − − = − − = − − − =
ΣΣΣΣkkkk
jjjj
j0j0j1j1
( 1) ·j· k ( 1) ·j· k! ( 1) ·j· k! ( 1) · k!
j j!·(k j)! j!·(k j)! (j 1)!·(k j)!
===
−−⎛−⎞
= − − − = − − − = − ⎜⎝ ⎟⎠=
ΣΣΣkkk
jjj
j1j0j0
k· ( 1) · (k 1)! k· ( 1) · (k 1)! k· ( 1) · k 1 0
Derivación Numérica 60

(j 1)!·(k j)! j!·(k j 1)! j


Por tanto:

===
⎛⎞⎛⎞⎛⎞
−−⎜⎟=−⎜⎟−−⎜⎟=−=
⎝⎠⎝⎠⎝⎠
Σ Σ Σ (k 1) k k
jjj
j0j0j0
kkk
( 1) ·(k j)· k· ( 1) · ( 1) ·j· 0 0 0
jjj
c.q.d.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
29
5. Algunas fórmulas de derivación numérica de tipo interpolatorio usuales
para aproximar primeras derivadas.
5.1. Fórmula con dos puntos de soporte
Si se considera el soporte {x0 , x1} y una función f(x) de la que se conoce su
valor en los puntos del soporte, el polinomio interpolador de Lagrange de tal
función sobre el soporte escogido está dado por:
10
01
0110
p(x) f(x ). (x x ) f(x ). (x x )
(x x ) (x x )
−−
=+
−−
Por tanto la expresión de la fórmula que permite aproximar f’(x*) se obtendrá
derivando la expresión de este polinomio de manera que:
'x
*0101
01101010
f '(x*) f p'(x*) 1 .f(x ) 1 .f(x ) 1 .f(x ) 1 .f(x )
(x x ) (x x ) (x x ) (x x )

≈==+=+
−−−−
Es habitual en este caso denotar por H a la distancia entre puntos: H = (x1 – x0)
con lo que la fórmula anterior puede expresarse como:
'
x* 0 1
f(x*) f 1.f(x ) 1.f(x )
Derivación Numérica 61

HH

≈=+
siendo los coeficientes de la fórmula c0 = -(1 / H) y c1 = (1 / H).
NOTAS:
1ª) Obsérvese que la fórmula obtenida coincide con el cociente incremental que
nos sirvió para ilustrar las fórmulas de derivación numérica en la introducción a
este tema (apartado 1º).
2ª) En la obtención de esta fórmula se ha partido de la expresión del polinomio
interpolador que utiliza los polinomios de base de Lagrange. Cualquier otra
expresión del polinomio interpolador nos hubiese conducido a idéntico
resultado pues el polinomio interpolador de Lagrange, sobre un soporte dado,
es el mismo se utilice el método que se utilice para determinarlo. Así por
ejemplo si se hubiera partido de la fórmula de Newton en diferencias divididas:
p(x) = f(x0) + f[x0, x1].(x-x0)
Programación y Métodos Numéricos Derivación Numérica
30
que al derivarlo, teniendo en cuenta la expresión de la diferencia dividida nos
proporciona:
p’(x) = f[x0, x1].(x-x0) = 1 0
0
10
f(x ) f(x )
.(x x )
xx



por lo que particularizando esta expresión en el punto x = x* y denotando por H
a la distancia entre puntos se tiene finalmente que:
'
x* 0 1
f(x*) f p'(x*) 1.f(x ) 1.f(x )
HH

≈==+
En este caso, al haber sólo dos puntos de soporte, se puede considerar el
soporte equidistante y podrían haberse utilizado las expresiones del polinomio
interpolador en diferencias finitas (centradas, regresivas o progresivas)
obteniéndose la misma fórmula. Se deja el desarrollo detallado de estos casos
como ejercicio propuesto al lector.
3ª) La figura 2ª representada anteriormente (ver apartado 3º) recoge la
interpretación gráfica de este proceso de aproximación.

La expresión del error de esta fórmula, admitiendo la hipótesis de que f(x) sea
de clase C2 ((x0 , x1)) y que x* pertenezca a [x0, x*], puede obtenerse sin más
que denotar por h al valor h = máx(|x0 – x*|, |x1 – x*|) y considerando
Derivación Numérica 62

entonces que:
x0 - x* = 0 θ .h x1 - x* = 1θ .h
por lo que:
'
x* f = c0.f(x0) + c1.f(x1) = ( ) 1 0
1 . f(x ) f(x )
H
−=()10
1. f(x* .h) f(x* .h)
H
+θ − +θ =
22
111
1. f(x*) .h.f '(x*)1. .h .f "(x * .h)
H2
⎡ = + θ + θ +δ − ⎢⎣
22
000
f(x*) .h.f '(x*) 1. .h .f "(x * .h)
2
⎤ − −θ − θ +δ = ⎥⎦
= 1 0.h.f '(x*)
H
θ−θ
+2222
1100
1 .h .f "(x * .h) 1 .h .f "(x * .h)
2.H 2.H
θ +δ − θ +δ =
= 1 0 1. x x .h.f '(x*)
Hh
⎛−⎞
⎜⎟
⎝⎠
+2222
1100
1 .h .f "(x * .h) 1 .h .f "(x * .h)
2.H 2.H
θ +δ − θ +δ =
= f’(x*) + ( ) 2
22
1100
h . .f"(x* .h) .f"(x* .h)
2.H
θ +δ −θ +δ
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
Derivación Numérica 63

.
31
Puesto que H se podrá expresar como γ.h con (γ > 1) resultará finalmente,
aplicando el lema 4.1., que:
Rf(x*) = h .
2.γ(2 2 )
1 1 0 0 θ.f "(x *+δ.h)−θ.f "(x *+δ.h) = β.h.f "(ξ)
En el caso de ser x* un punto cualquiera el orden del error de la fórmula de
derivación numérica es 0(h) donde h representa la mayor de las distancias del
punto x* a los extremos del intervalo. Más frecuente aún que la expresión del
error anterior es la que se obtiene al expresar dicha fórmula en función de la
distancia entre los puntos del soporte (H). Fácilmente se obtiene esta nueva
expresión sin más que considerar que h = μ.H (con ½ < μ < 1) por lo que la
expresión del error queda en el caso más general en la forma:
Rf(x*) = ρ.H.f”(ξ)
La fórmula de derivación con dos puntos de soporte suele utilizarse cuando x*
es uno de los puntos extremos del intervalo o el punto medio del mismo (caso,
este último, en el que el orden del error de la fórmula se incrementa en una
unidad). A continuación se desarrollan estos casos particulares de la fórmula
de derivación con un soporte de dos puntos.
5.1.1. Casos particulares
A) Caso en el que x* = x0
En este caso h = H, 0 θ = 0 y 1 θ = 1 y la fórmula se puede escribir en la
forma:
'
x*
f f(x * h) f(x*)
h
+−
=
denominándose “aproximación mediante la diferencia finita progresiva de
primer orden” (o en adelanto). El error de esta fórmula, si f(x) es
suficientemente regular puede obtenerse particularizando en la
expresión antes obtenida resultando:
'
f x*
R (x*) f(x*) f h.f "(x * .h)
2
= − =− +δ δ ∈[0,1]
Por tanto en este caso la fórmula es exacta de orden 1.
Programación y Métodos Numéricos Derivación Numérica
32
NOTA:
Al mismo resultado sobre el error se llegaría sin más que considerar que:
f(x*+h) = f(x*) + h.f’(x*) + (h2/ 2).f”(x*) + ..... de donde:
f’(x*) = '
x*
Derivación Numérica 64

f(x * h) f(x*) 1.h.f "(x*) .... f 1.h.f "(x*) ....


h22
+−
−−=−−
B) Caso en el que x* = x1
En este caso h = H, 0 θ = −1 y 1 θ = 1 y la fórmula se puede escribir en la
forma:
'
x*
f f(x*) f(x * h)
h
−−
=
denominándose “aproximación mediante la diferencia finita regresiva de
primer orden” (o en retroceso o upwind). El error de esta fórmula, si f(x)
es suficientemente regular puede obtenerse particularizando en la
expresión antes obtenida resultando:
'
f x*
R (x*) f(x*) f h.f "(x * .h)
2
= − = −δ δ ∈[0,1]
Por tanto, en este caso la fórmula es exacta de orden 1.
NOTA:
Al mismo resultado sobre el error se llegaría sin más que considerar que:
f(x*-h) = f(x*) - h.f’(x*) + (h2/ 2).f”(x*) - ..... de donde:
f’(x*) = '
x*
f(x*) f(x * h) 1.h.f "(x*) .... f 1.h.f "(x*) ....
h22
−−
+−=+−
C) Caso en que x* es el punto medio del intervalo: x* = (x0 + x1) / 2
En este caso h = H/2, 0 θ = −1 y 1 θ = 1 pudiéndose rescribir la fórmula
de derivación numérica en la forma:
'
x*
f f(x * h) f(x * h)
2.h
+−−
=
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
33
denominándose “aproximación mediante la diferencia finita centrada de
primer orden”. El error de esta fórmula, si f(x) es suficientemente regular
Derivación Numérica 65

puede obtenerse, en un primer intento, particularizando en la expresión


antes obtenida resultando:
'()
f x* 1 0
R (x*) f(x*) f h . f "(x * .h) f "(x * .h)
4
= − = +δ − −δ [ ] 0 1 δ,δ ∈0,1
No obstante la expresión anterior nos deja con la duda de si no podrán
anularse más términos del desarrollo en serie de Taylor a partir del cual
se obtuvo la expresión del error. En efecto, en este caso si se admite
que f(x) es suficientemente regular se podrían considerar los desarrollos
en serie de Taylor de f(x) con más términos que los antes planteados, es
decir:
f(x0) = f(x*-h) = f(x*) – h.f’(x*) + (½).h2f”(x*) -
34
h.f '''(x*) h.f(iv (x*) ....
6 24
+−
f(x1) = f(x*+h) = f(x*) + h.f’(x*) + (½).h2f”(x*) +
34
h.f '''(x*) h.f(iv (x*) ....
6 24
++
por lo que:
f(x+h) – f(x-h) = 2.h.f’(x*) +
35
h.f '''(x*) h.f(v (x*) ...
3 60
++
de donde:
24
' (v
x*
f f(x * h) f(x * h) f '(x*) h .f '''(x*) h .f (x*) ....
2.h 6 120
+−−
==+++
y por tanto:
Rf(x*) = f’(x*) -
24
' (v
x*
f h.f '''(x*) h .f (x*) ....
6 120
=− − −
En resumen, si f(x) es de clase C3((x0, x1)) puede afirmarse en este caso
que:
Derivación Numérica 66

2
f
R (x*) h .f '''(x* h)
6
= − +δ δ ∈[0,1]
por lo que en este caso la fórmula es exacta de orden 2.
5.2. Fórmula con tres puntos de soporte
Sea ahora el soporte de tres puntos x0 < x1 < x2 y consideremos un punto x*
perteneciente al intervalo [x0, x2]. Sea además f(x) una función de la que se
conocen sus valores en los puntos del soporte. El polinomio interpolador de
Lagrange de f(x) sobre este soporte puede expresarse, utilizando la fórmula de
Newton en diferencias divididas, mediante:
Programación y Métodos Numéricos Derivación Numérica
34
p2(x) = f(x0) + f[x0, x1].(x - x0) + f[x0 , x1, x2].(x – x0).(x – x1)
por lo que:
p’2(x) = f[x0, x1]+ f[x0 , x1, x2].((x – x0) + (x – x1))
lo que nos conduce a que la fórmula de derivación numérica de tipo
interpolatorio con este soporte está dada por:
f’(x*) ' '
≈__________fx* =p2(x*) = f[x0, x1]+ f[x0 , x1, x2].((x* – x0) + (x* – x1))
NOTAS:
1ª) En este caso se ha utilizado la fórmula de Newton del polinomio
interpolador para inferir a partir de ella la fórmula de derivación de tipo
interpolatorio. Puesto que, sobre un soporte dado, el polinomio interpolador de
Lagrange es único podrían haberse utilizado otras expresiones de este
polinomio para obtener el mismo resultado. No obstante es cómodo utilizar la
fórmula de Newton en el caso general para no obtener expresiones que,
desarrolladas, quedan muy “aparatosas” sin aportar nada para nuestros
propósitos.
2ª) En la expresión anterior pueden sustituirse las diferencias divididas que
intervienen por sus expresiones respectivas8. Ello hace que la fórmula tome un
aspecto más “engorroso” para su manipulación.
3ª) En el sentido de lo expresado en la primera de estas “notas” el polinomio
interpolador podría haberse expresado en la forma:
p2(x) = f(x0).L0(x) + f(x1).L1(x) + f(x2).L2(x)
con:
12
0
0102
L (x) (x x ).(x x )
(x x ).(x x )
−−
=
−−
,02
1
Derivación Numérica 67

1012
(x x ).(x x )
L (x)
(x x ).(x x )
−−
=
−−
,01
2
2021
(x x ).(x x )
L (x)
(x x ).(x x )
−−
=
−−
8 Recuérdese que: [ ] −
=

10
01
10
f(x)f(x)
f x ,x
xx
,[]21
12
21
f(x)f(x)
f x ,x
xx

=

y
[]1201
012
20
f [ x ,x ] f [ x ,x ]
fx,x,x
xx

=

Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
Derivación Numérica 68

35
para así obtener la misma fórmula de derivación numérica pero ahora con la
expresión
'''''
x* 2 0 0 1 1 2 2 f(x*) f p (x*) L (x*).≈ = = f(x )+L (x*).f(x )+L (x*).f(x )
En esta última expresión los coeficientes de la fórmula aparecen de forma más
explícita y toman la expresión:
c0 ' 1 2
0
0102
L (x*) (x * x ) (x * x )
(x x ).(x x )
−+−
==
−−
, c1
02
1
1012
(x * x ) (x * x )
L (x*)
(x x ).(x x )
−+−
==
−−
c2 0 1
2
2021
(x * x ) (x * x )
L (x*)
(x x ).(x x )
−+−
==
−−
4ª) La interpretación gráfica del proceso de derivación numérica seguido con
esta fórmula consiste en sustituir la tangente trigonométrica del ángulo formado
entre el eje de abscisas y la tangente geométrica al grafo de f(x) en el punto
(x*, f(x*)) por la tangente trigonométrica del ángulo formado entre el eje de
abscisas y la tangente geométrica en el punto (x*, p2(x*)) al grafo de la
parábola p2(x) que pasa por los puntos (x0 , f(x0)), (x1 , f(x1)) y (x2 , f(x2)). La
figura 3 ilustra este proceso.

Figura 3: Interpretación gráfica del proceso de derivación numérica seguido con una
fórmula de tipo interpolatorio con tres puntos de soporte.
Programación y Métodos Numéricos Derivación Numérica
36
En lo que se refiere al error de truncatura de esta fórmula, su expresión puede
Derivación Numérica 69

acotarse, si f∈C3((x0 , x1)), utilizando el teorema 4.2. mediante:


2 '''
Rf(x*) ≤β.h . f (ξ)
Los casos de aplicación más típicos para esta fórmula de derivación numérica
son aquellos en los que el punto x* coincide con uno de los puntos del soporte
siendo, además, el soporte equidistante. A continuación se analizan con detalle
estas situaciones.
5.2.1. Casos particulares con soporte equidistante
En este caso, denotando por H a la distancia entre puntos consecutivos del
soporte las diferencias divididas que intervienen en la fórmula pueden ser
expresadas mediante:
10
01
f(x ) f(x )
f[x ,x ]
H

=210
0122
f(x ) 2.f(x ) f(x )
f[x ,x ,x ]
2.H
−+
=
por lo que la fórmula de derivación numérica de tipo interpolatorio se convierte
en:
' 1 0 2 1 0*
x* 2 0 1
f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x ).((x x ) (x * x ))
H 2.H
−−+
≈=+−+−
A) Caso de soporte equidistante en el que x* = x0
Si se toma como punto x* el extremo izquierdo del soporte se tiene que:
x0 = x*, x1 = x* + H y x2 = x* + 2.H. Con ello (x* - x0) = 0 y (x* - x1) = -H
por lo que:
x0 x1 x2
HH
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
37
'10210
x*
f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x )
H 2.H
−−+
Derivación Numérica 70

≈=−=
2 1 0 f(x ) 4.f(x ) 3.f(x ) f(x * 2.H) 4.f(x * H) 3.f(x*)
2.H 2.H
−+−−+++−
==
La fórmula anterior se conoce con el nombre de fórmula de derivación
numérica en diferencias progresivas de segundo orden.
Si se admite que f(x) es una función suficientemente mente regular, el error
de derivación puede obtenerse fácilmente combinando los desarrollos en
serie de Taylor:
f(x* + 2.H) = f(x*) + 2.H.f’(x*) +2.H2.f”(x*) + (8/6).H3.f’’’(x*) + …
f(x* + H) = f(x*) + H.f’(x*) + (½ ) H2.f”(x*) + (1/6).H3.f’’’(x*) +...
por lo que:
-f(x*+2.H) + 4.f(x*+H) – 3.f(x*) = 2.H.f’(x*) – (2/3).H3.f’’’(x*) + ….
de donde:
f’(x*) f(x * 2.H) 4.f(x * H) 3.f(x*) 1.H2.f '''(x*) ....
2.H 3
−+++−
=++
pudiéndose concluir que si f(x) es al menos de clase C3((x0 , x1)) entonces:
Rf(x*) = f(x*) – fx*
’ = (1/3).H2.f’’’(ξ)
B) Caso de soporte equidistante en el que x* = x1
Si se toma como punto x* el punto medio del soporte se tiene que:
x0 = x* - H, x1 = x* y x2 = x* + H. Con ello (x* - x0) = H y (x* - x1) = 0 por
lo que:
'1021020
x*
f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x ) f(x ) f(x )
H 2.H 2.H
−−+−
≈=+==
f(x * H) f(x * H)
2.H
+−−
=
Programación y Métodos Numéricos Derivación Numérica
38
fórmula que coincide con la que se obtuvo al utilizar un soporte de 2 puntos
y aproximar la derivada en el punto medio de ellos.
C) Caso de soporte equidistante en el que x* = x2
Si se toma como punto x* el punto derecho del soporte se tiene que:
x0 = x* - 2.H, x1 = x*- H y x2 = x*. Con ello (x*-x0) = 2.H y (x*-x1) = H por
lo que:
'10210
x* 2
f '(x*) f f(x ) f(x ) f(x ) 2.f(x ) f(x ).(3.H)
Derivación Numérica 71

H 2.H
−−+
≈=+=
2 1 0 3.f(x ) 4.f(x ) f(x ) 3.f(x*) 4.f(x * H) f(x * 2.H)
2.H 2.H
−+−−+−
==
expresión que se conoce como fórmula de derivación numérica en
derivadas regresivas de segundo orden.
Si f(x) es suficientemente regular pueden combinarse los desarrollos en
serie de Taylor:
f(x* - 2.H) = f(x*) - 2.H.f’(x*) +2.H2.f”(x*) - (8/6).H3.f’’’(x*) + …
f(x* - H) = f(x*) - H.f’(x*) + (½ ) H2.f”(x*) - (1/6).H3.f’’’(x*) +...
obteniendo:
3.f(x*) – 4.f(x*-H) + f(x*-2.H) = 2.H.f’(x*) – (2/3).H3.f’’’(x*) - ....
de donde, si f(x) es al menos de clase C3((x0, x2) se obtiene que:
Rf(x*) = f(x*) – fx*
’ = (1/3).H2.f’’’(ξ)
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
39
6. Otros métodos para la obtención de fórmulas de derivación numérica
de tipo interpolatorio.
6.1. Mediante la combinación de desarrollos en serie de Taylor.
El proceso seguido en el apartado 4º para determinar el error de derivación
numérica muestra otra manera de calcular las fórmulas de derivación. En
efecto, una alternativa al proceso de obtención de fórmulas de derivación
numérica mediante el cálculo de la primera derivada del polinomio interpolador
de Lagrange de la función f(x) en los (n+1) puntos del soporte, consiste en
combinar los desarrollos de Taylor en torno al punto x* de f(x0), f(x1), ..., f(xn)
buscando que en dicha combinación se anulen el mayor número posible de los
primeros términos salvo, obviamente, el que multiplica a f’(x*). Despejando
después f’(x*) de esta combinación se obtendrá la fórmula de derivación y el
término de error. De forma más detallada, si se denota por hi = xi – x* (i = 0, ..,
n) y se admite que f(x) posee la regularidad necesaria, se puede escribir que:
f(xi) = f(x*+hi) = f(x*) + hi·f(x*) + + + + +
23k
i i i (k h·f "(x*) h·f '''(x*) .... h ·f (x*) ....
2! 3! k!
Por lo que:
====
⎛⎞⎛⎞⎛⎞
α =⎜ α⎟ +⎜ α ⎟ + ⎜ α ⎟ +
⎝⎠⎝⎠⎝⎠
ΣΣΣΣnnnn
2
Derivación Numérica 72

iiiiiii
i0i0i0i0
·f(x ) ·f(x*) ·h ·f '(x*) 1 ·h ·f "(x*)
2!
==
⎛⎞⎛⎞
⎜α⎟++⎜α⎟+
⎝⎠⎝⎠
ΣΣnn
3 k(k
iiii
i0i0
1 ·h ·f '''(x*) ....1 ·h ·f (x*) ...
3! k!
(1)
Si se desea que la fórmula de derivación sea del mayor orden posible debe
buscarse que, salvo el coeficiente de f’(x*), se anulen el mayor número de los
primeros sumandos del desarrollo anterior. Esto es, que:
=
α = Σn
i
i0
0
=
α = Σn
2
ii
i0
·h 0 .........
=
α = Σn
k
ii
i0
·h 0
En general el número de ecuaciones que así se pueden formar es de n
ecuaciones quedando un sistema con (n+1) incógnitas (α0, ..., αn) y tan sólo n
ecuaciones. Ello es debido a que con el coeficiente de f’(x*) se debe añadir la
inecuación
=
α ≠ Σn
ii
i0
·h 0 .
Programación y Métodos Numéricos Derivación Numérica
40
Por ello los coeficientes (α0, ..., αn) que se determinen mediante la resolución
Derivación Numérica 73

del sistema:
=
α = Σn
i
i0
0
=
α = Σn
2
ii
i0
·h 0
........
=
α = Σn
n
ii
i0
·h 0
quedarán en función del valor que libremente se le asigne a uno de ellos.
En todo caso, una vez calculados estos coeficientes, denotando por
=
α = α Σn
ii
i0
·h
se tendrá que los coeficientes de la fórmula de derivación se obtienen
mediante: ci = αi / α (i = 0, ..., n) y que del primer término que no se haya
podido anular en la expresión (1) se podrá inferir fácilmente la expresión del
error de derivación.
Ilustremos estos extremos con un ejemplo.
Ejemplo:
Determinemos la fórmula de derivación numérica del mayor orden de exactitud
posible que permite calcular el valor aproximado de f’(x*) usando un soporte de
la forma: {x0 = x* - 2·h, x1 = x* - (½)·h, x2 = x* + (½)·h, x3 = x* + (3/2)·h} donde h
es un valor real estrictamente positivo.
Para ello, si suponemos que f(x) es suficientemente regular en (x0, x3) podemos
considerar los desarrollos en serie de Taylor:
f(x*-2·h) =f(x*) –2·h·f’(x*) + − +
4·h2·f "(x*) 8·h3·f '''(x*)
26

4
16·h ·f(iv (x*)
24
−+
5
Derivación Numérica 74

32·h ·f(v (x*) ...


120
f(x*-(½)·h) =f(x*) – 1·
2
h·f’(x*) + − +
h2·f "(x*) h3·f '''(x*)
8 48

4
h ·f(iv (x*)
384
−+
5
h ·f(v (x*) ...
3840
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
41
f(x*+(½)·h) =f(x*) + 1·
2
h·f’(x*) + + +
h2·f "(x*) h3·f '''(x*)
8 48
+
4
h ·f(iv (x*)
384
++
5
h ·f(v (x*) ...
3840
f(x*+ 3
2
·h) =f(x*) + 3·
2
h·f’(x*) + + +
9·h2·f "(x*) 27·h3·f '''(x*)
8 48
+
4
91·h ·f(iv (x*)
384
++
5
273·h ·f(v (x*) ...
3840
Derivación Numérica 75

de donde:
α − +α − +α + +α + = 0 1 2 3
·f(x * 2·h) ·f(x * 1·h) ·f(x * 1·h) ·f(x * 3·h)
222
=(α + α + α + α ) + 0 1 2 3·f(x*)
+⎛⎜− α − α + α + α⎞⎟ +
⎝⎠0123
2· 1· 1· 3· ·h·f '(x*)
222
+⎛⎜ α + α + α + α⎞⎟ +
⎝⎠
2
0123
2· 1· 1· 9· ·h ·f "(x*)
888
+⎛⎜− α − α + α + α⎞⎟ +
⎝⎠
3
0123
8. 1· 1· 27· ·h ·f '''(x*)
6 48 48 48
+⎛⎜ α + α + α + α⎞⎟ +
⎝⎠
4 (iv
0123
16. 1· 1· 91· ·h·f(x*)
24 384 384 384
+⎛⎜− α − α + α + α⎞⎟ +
⎝⎠
5 (v
0123
32 . 1 · 1 · 273 · ·h ·f (x*) ....
120 3840 3840 3840
Si se desea que la fórmula tenga el mayor orden posible se obligará a que:
α+α+α+α=01230
0123
2· 1· 1· 9· 0
888
α+α+α+α=
0123
8. 1· 1· 27· 0
6 48 48 48
−α−α+α+α=
Programación y Métodos Numéricos Derivación Numérica
42
de donde9, dejando como incógnita libre α1, se tiene:
012131
Derivación Numérica 76

8· , 66· , 3·
455 65 91
−−
α=αα=αα=α
Si se asigna a α1 el valor α1 = 1 se tiene que:
0123
8, 1, 66 , 3
455 65 91
−−
α=α=α=α=
Para estos valores de los coeficientes α
i, se tiene entonces que la combinación
de desarrollo en serie de Taylor antes obtenida se convierte en:
8·f(x * 2·h) f(x *1·h) 66·f(x * 1·h) 3 ·f(x * 3·h)
455 2 65 2 91 2
−−+−−+++=
= −12·h·f '(x*) − 1 ·h4·f(iv(x*) + ....
13 208
por lo que:
f’(x*) = ( ) ( h) ( h) ( 3·h )
222
1· 2 ·f x * 2·h 13·f x * 11·f x * 1 ·f x *
h 105 12 10 28
⎛⎜ − − − + + − + ⎞⎟
⎝⎠
-
− 1 ·h3·f(iv(x*)+.....
192
De esta igualdad se infiere que la fórmula buscada es:
( ) ( h) ( h) ( 3·h )
*222
f '(x*) f ' 1· 2 ·f x * 2·h 13·f x * 11·f x * 1·f x *
h 105 12 10 28
≈ =⎛⎜ − − − + + − + ⎞⎟
⎝⎠
y que con ella, si f∈C4((x*-2·h, x*+3·h/2)), se comete un error dado por:
=− 3 (iv ξ
f
R (x*) 1 ·h ·f ( )
192
para algún valor ξ∈(x*-2·h, x*+3·h/2). Es decir un error de orden 3.
9 Obsérvese que si al sistema anterior se le añadiese la ecuación procedente de obligar a
que
se anulase el coeficiente de f’’’(x*) se tendría un sistema que sólo admite la solución trivial
α0 =
= α1 = α2 = α3 = 0.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
Derivación Numérica 77

ETSI Minas de la Universidad Politécnica de Madrid


.
43
6.2. M騁odo de coeficientes indeterminados.
Este método de determinación de fórmulas de derivación de tipo interpolatorio
soportadas en (n+1) puntos se basa en que, según el teorema 3.1. toda
fórmula de tal tipo debe ser exacta para los monomios {1, x, ..., xn}. Por tanto, si
se busca una fórmula con expresión:
=
≈ =Σn
*ii
i0
f '(x*) f ' c f(x ) , su aplicación a
cada uno de los (n+1) monomios xk (0 < k < n) nos conduce a que:
=
= Σn
i
i0
c0
()−
=
= Σn
k (k 1)
ii
i0
c x k· x * (k = 1, ..., n)
es decir al sistema:
()−
⎡ ⎤⎧ ⎫ ⎧ ⎫
⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢⎢ ⎥⎥⎨⎪⎪ ⎪⎪⎬ = ⎨⎪⎪ ⎪⎬⎪
⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢⎣ ⎥⎦⎪⎩ ⎭⎪ ⎪⎩ ⎪⎭
0
012n1
2222
012n2
n n n n (n 1)
012nn
1 1 1 ... 1 c 0
x x x ... x c 1
x x x ... x c 2x *
... ... ... ... ... ... ...
x x x ... x c n x*
Si los (n+1) puntos del soporte son diferentes puede asegurarse que el sistema
Derivación Numérica 78

anterior es compatible determinado. Su resolución proporciona los pesos de la


fórmula de derivación buscada.
Siendo “h” un valor estrictamente positivo en función del cual se puedan
escribir, para valores convenientes de γi (i = 0, ...,n), los puntos del soporte en
la forma xi = x* + γih, el sistema anterior puede simplificarse si en lugar de
aplicar la fórmula a los monomios {1, x, ..., xn} se aplica a los polinomios:
{ 1, (x-x*), (x-x*)2, ...., (x-x*)n}
En efecto, la aplicación de la fórmula a f(x) = 1 conduce a que:
=
= Σn
i
i0
c0
Si n > 0, su aplicación a f(x) = (x – x*) proporciona la ecuación:
==
Σ γ = ⇒Σ γ = n n
iiii
i0i0
ch1c1
h
Programación y Métodos Numéricos Derivación Numérica
44
Y si n > 1 , para valores del exponente menores o iguales que n se tiene que:
()−
==
− =Σ γ ⇒Σ γ = n n
(k 1) k k k
iiii
i0i0
k x* x* c h c 0
En resumen, los coeficientes de la fórmula de tipo interpolatorio se obtienen
resolviendo el sistema:
⎡ ⎤⎧ ⎫ ⎧ ⎫
⎢⎢⎢γγ γγ γγ γγ⎥⎥⎥⎪⎪⎨⎪ ⎪⎪⎪⎬ = ⎨⎪⎪⎪ ⎪⎬⎪⎪
⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢⎣γ γ γ γ⎥⎦⎪⎩ ⎭⎪ ⎪⎩ ⎪⎭
0
1
012n1h
2222
012n2
nnnn
012nn
1 1 1 ... 1 c 0
... c
... c 0
Derivación Numérica 79

... ... ... ... ... ... ...


... c 0
Una vez determinada la fórmula, su error puede también ser calculado si se
busca en la forma Rf(x*) = K·h(m-1)·f(m(ξ) aplicándolo al primer binomio (x-x*)m
(cuya derivada m-ésima es una constante no nula) para el que la fórmula deja
de ser exacta (hecho que tendrá lugar para m > n).
Ilustremos esta forma de proceder obteniendo nuevamente la fórmula de
derivación numérica hallada en el subapartado anterior mediante
combinaciones de desarrollos en serie de Taylor.
Ejemplo:
Determinemos la fórmula de derivación numérica de tipo interpolatorio que
permite calcular el valor aproximado de f’(x*) usando un soporte de la forma:
{x0 = x* - 2·h, x1 = x* - (½)·h, x2 = x* + (½)·h, x3 = x* + (3/2)·h} donde h es un
valor real estrictamente positivo.
Según se ha visto anteriormente, los coeficientes de la fórmula se pueden
obtener resolviendo el sistema:


⎡ ⎤⎧ ⎫ ⎧ ⎫
⎢⎢⎢⎢⎣−− ⎥⎥⎥⎥⎦⎨⎪⎪⎪⎪⎩ ⎪⎭⎪⎪⎪⎬ = ⎪⎩⎨⎪⎪⎪ ⎪⎭⎪⎪⎪⎬
0
1131
2221h
119
4442
1 1 27
8883
1111c0
2c
4c0
8c0
o, eliminando denominadores, el sistema equivalente:
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
45
⎡ ⎤⎧ ⎫ ⎧ ⎫
⎢⎢⎢⎢⎣−− −− ⎥⎥⎥⎥⎦⎨⎪⎪⎪⎪⎩ ⎪⎭⎪⎪⎪⎬ = ⎪⎩⎨⎪⎪⎪ ⎪⎭⎪⎪⎪⎬
0
2
1h
2
3
1111c0
4113c
16 1 1 9 c 0
64 1 1 27 c 0
Derivación Numérica 80

La solución del sistema anterior nos proporciona los valores:


−−
====0124
c 2,c 13,c 11,c 1
105·h 12·h 10·h 28·h
Para determinar el error de la fórmula consideraremos la función f(x) = (x-x*)4.
La primera derivada de dicha función en x* es:
f’(x*) = 4.(x*-x*)3 = 0
siendo el valor aproximado dado por la fórmula:
− ( ) ( ) =⎛⎜ − − + − ⎞⎟=
⎝⎠
'41414343
*222
f 1 2 (2h) 13( h) 11 h 1 h 1h
h 105 12 10 28 8
por lo que − = − = − =− 4
3
'3
(x x*) *
R (x*) f '(x*) f 0 h 1h
88
. Si se busca el error en la
forma:
= 3 (iv
f R (x*) Kh f (x*)
para la función considerada (cuya cuarta derivada es: f(iv(x*) = 24) se tiene que:
K = -1/192
En resumen la fórmula buscada es:
=⎛⎜ − − − + ( + )− ( + )⎞⎟
⎝⎠
'113
*222
f 1 2 f(x * 2h) 13 f(x * h) 11f x * h 1 f x * h
h 105 12 10 28
y el error de derivación numérica está dado por:

= 3 (iv ξ
f
R (x*) 1 h f ( )
192
Programación y Métodos Numéricos Derivación Numérica
46
Ejercicio propuesto:
a) Siendo h un parámetro estrictamente positivo, determinar la fórmula de
derivación numérica que permite aproximar el valor de f’(x*) sobre el
soporte: x0 = x* +h, x1 = x* + 2h y x2 = x* + (5 )
2 h. Suponiendo que f(x)
Derivación Numérica 81

es suficientemente regular en el intervalo [x*, x2], determínese también la


expresión de su error e indíquese la regularidad que se le debe exigir a
f(x) para que dicha expresión sea válida. Obténgase la fórmula pedida y
su error:
i) Derivando el correspondiente polinomio interpolador de
Lagrange,
ii) Combinando desarrollos en serie de Taylor, y
iii) Mediante el método de coeficientes indeterminados.
b) Aplíquese la fórmula obtenida en el apartado anterior a la obtención de
un valor aproximado de la primera derivada de la función f(x) = ecos(x) con
los siguientes valores de h: h0 = 0.1, h1 = 0.01, h2 = 0.001, h3 = 0.0001
y h4 = 0.00001. Realícense los cálculos en coma flotante usando
mantisas con 5 decimales significativos.
c) Obténgase una cota del error de derivación numérica válida en el
intervalo [x*, x2] para la función considerada en el apartado anterior. El
error realmente cometido ¿es en todos los casos inferior a la cota
hallada? Si no lo fuese justifíquese el motivo.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
47
7. F mulas de derivaci num駻ica de tipo interpolatorio para la
aproximaci de derivadas de orden superior.
Los métodos de obtención de fórmulas numéricas para aproximar primeras
derivadas pueden extenderse fácilmente para deducir fórmulas de derivación
numérica que permitan aproximar derivadas de orden superior al primero.
Destinaremos este apartado a describir este proceso con detalle.
Sea f(x) una función k veces derivable en un cierto intervalo I de la recta real y
sea x* un punto de dicho intervalo. Consideremos además un soporte de (n+1)
puntos {x0, x1, ..., xn} del intervalo I en el que se suponen conocidos los valores
de la función f(x). Por simplicidad supondremos que los puntos del soporte son
todos ellos distintos y están ordenados de menor a mayor es decir que: x0 < x1
< ... < xn.
Definici 7.1.
Siendo f(x) una función de la que se conocen sus valores en el soporte
de (n+1) puntos {x0 , x1, ...., xn} del intervalo I, se denomina fórmula de
derivación numérica para aproximar el valor de la k-ésima derivada
f(k(x) en el punto x* sobre el soporte de puntos considerado, a toda
expresión de la forma:
f(k(x*) ≈ (k
* f = c0.f(x0) + c1.f(x1)+ …. + cn.f(xn) =
n
ii
i0
c .f(x )

Derivación Numérica 82

donde c0, c1, …, cn son (n+1) escalares denominados coeficientes (o


pesos) de la fórmula de derivación.
NOTA:
La fórmula de derivación que se acaba de definir puede decirse que es una
fórmula lagrangiana pues en ella sólo intervienen valores de la función f en los
puntos del soporte. Podrían considerarse fórmulas más generales, hermitianas,
en las que el valor de f(k(x*) fuese aproximado a partir del valor de la función f y
de algunas de sus derivadas en los puntos del soporte. No obstante, estas
últimas fórmulas tienen un uso mucho más esporádico que las de tipo
lagrangiano y es por ello que nos limitaremos a considerar como fórmulas de
derivación numérica tan sólo a las que hacen intervenir los valores de la
función en los puntos del soporte.
Programación y Métodos Numéricos Derivación Numérica
48
En general el valor aproximado (k
* f y el valor exacto f(k(x*) diferirán,
cometiéndose un error en la aproximación de f(k (x*). Es por ello que junto a la
definición anterior conviene precisar la definición del error que con la fórmula
se comete. En este sentido se introduce la siguiente definición:
Definici 7.2.
Siendo (k
* f la aproximación de f(k(x*) que se obtiene operando sin error
de redondeo según la fórmula de derivación numérica:
f(k(x*) ≈ (k
*f=
n
ii
i0
c .f(x )

se denomina error de truncamiento de la fórmula en el punto x* al
valor Rf(x*) = f (k(x*) - (k
*f
Obviamente se verificará que: (k (k
f (x*)= f* +Rf(x*) por lo que considerando
la fórmula en cuestión aplicada a todos los puntos x de un dominio dado
puede definirse la función error de truncamiento de la fórmula derivación
numérica para la función f considerada como la función:
Rf : I 􀃆 R
x 􀃆 Rf(x)
En el análisis del error de truncamiento de las fórmulas de derivación numérica
se perseguirá encontrar cotas del valor de esta función de error Rf(x) en el
intervalo I sobre el que se trabaje.
Ejemplo:
Siendo {x0 , x1 , x2 } un soporte formado por tres puntos tales que x0 = x1 – h y
x2 = x1 + h, considerando que x* = x1, la sustitución de la expresión de f”(x1)
por:
Derivación Numérica 83

[]−+
≈"==210
110122
f "(x ) f 2·f x ,x ,x f(x ) 2·f(x ) f(x )
h
conduce a una fórmula en la que sus coeficientes son c0 = (1/h2) , c1 = (-2/h2) y
c2 = (1/h2). Una forma de acotar el error de truncamiento de esta fórmula, si se
supone que f(x) es al menos de clase C3([x0, x1]) consiste en considerar los
desarrollos en serie de Taylor siguientes:
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
49
f(x0) = f(x*-h) = f(x*) - h.f’(x*) +
+
234
( iv
0
h.f "( x*) h.f "'( x*) h .f ( x * .h)
2 3! 4 !
− + +θ 0 θ ∈(−1,0)
f(x2) = f(x*+h) = f(x*) + h.f’ x*) +
+
234
( iv
1
h.f "(x*) h.f '''( x*) h .f ( x * .h)
2 3! 4!
+ + +θ 1 θ ∈(0,1)
de donde:
4
2 (iv ( iv
2001
f ( x ) f ( x ) 2·f ( x*) h ·f "( x*) h ·(f ( x * ·h) f ( x* ·h))
24
+ = + + +θ + +θ ⇒
()2
( iv ( iv
*201
f " f ( x* h) 2·f ( x*) f ( x * h) f "( x*) h · f ( x * ·h) f (x* ·h)
h 24
θθ
+−+−
⇒==++++
Por tanto:
()2
( iv ( iv
Derivación Numérica 84

f00001
R (x ) f "( x ) f " h · f (x* ·h) f ( x * ·h)
24
= − =− +θ + +θ
expresión que puede acotarse por:
{}
01
2
( iv
f000
x (x ,x )
R ( x ) f "( x ) f " h . Sup f ( x )
12 ∈
=−≤
Para el caso particular de la función f(x) = x4 en que f”(x*) = 12·(x*)2 se tiene
que:
+−++
==
444
*2
f " (x * h) 2·(x*) (x * h)
h
12·(x*)2+ 2·h2
por lo que el error de truncatura cometido es en este caso Rf(x0) = -2·h2.
Obsérvese que la acotación antes realizada conduciría (para esta función x4) a
la acotación |Rf(x0)| ≤ 2·h2 coincidente con el valor absoluto del error de
truncatura realmente cometido10.
10 No siempre las acotaciones del error de truncatura que se obtendrán serán tan “finas”
como
la que se acaba de describir.
Programación y Métodos Numéricos Derivación Numérica
50
Definici 7.3.
Se dice que la fórmula de derivación numérica:
=
≈ =Σn
(k (k
*ii
i0
f (x*) f c.f(x)
es exacta de orden m para la familia de funciones de clase Ck([x0 , xn]):
{ϕ ϕ ϕ } 0 1 m (x), (x),..., (x),....
cuando es nulo el error de truncatura cometido al aplicar la fórmula para
la estimación de la k-ésima derivada de cualquiera de las (m+1) primeras
funciones de la familia en cualquier punto x* perteneciente al intervalo
[x0 , xn]: j 0 n R ( x ) 0 x [ x ,x ], ( j 0,...,m) ϕ = ∀ ∈ =
Propiedad 7.1.
Derivación Numérica 85

Si la fórmula de derivación numérica


=
≈ =Σn
(k (k
*ii
i0
f (x*) f c.f(x) es exacta de
orden m para la familia de funciones {ϕ ϕ ϕ } 0 1 m (x), (x),..., (x),.... entonces
es exacta para cualquier combinación lineal de las (m+1) primeras
funciones de la familia
Demostraci :
Si la fórmula es exacta de orden m para la familia de funciones consideradas
se podrá escribir que:
[]
=
ϕ = ϕ ∀ ∈ Σn
(k
jiji0n
i0
(x*) c . (x ) x* x ,x (j = 0, ..., m)
Por otra parte, una función cualquiera que sea combinación lineal de las (m+1)
primeras funciones de la familia será de la forma:
=
= α ⋅ ϕ + α ⋅ ϕ + + α ⋅ ϕ = α ⋅ ϕ Σm
0011mmjj
j0
f(x) (x) (x) ..... (x) (x)
por lo que su k-ésima derivada en cualquier punto x* del intervalo [x0, xn]se
puede expresar como:
======
⎛⎞⎛⎞
= α ⋅ϕ = α ⋅⎜ ⋅ϕ ⎟= ⋅⎜ α ⋅ϕ ⎟= ⋅
⎝⎠⎝⎠
ΣΣΣΣΣΣmmnnmn
(k (k
jjjijiijjiii
j0j0i0i0j0i0
f (x*) (x*) c (x ) c (x ) c f(x )
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
51
y puesto que la aplicación de la fórmula de derivación numérica a la función f(x)
en cualquier punto x* conduce a que:
=
=Σn
(k
Derivación Numérica 86

xii
i0
f c.f(x)
puede concluirse que:
Rf(x)=0 ∀x∈[x0,xn ]
Esto demuestra que la fórmula es exacta para cualquier función f(x) que sea
combinación lineal de las (m+1) primeras funciones de la familia de funciones
considerada.
c.q.d.
Las fórmulas de derivación numérica más utilizadas en la práctica son exactas,
de algún orden m, para la familia de funciones formada por los monomios, es
decir: {1, x, x2, ...,xm, ....}. En este tema nos referiremos en exclusiva a esta
familia de funciones y por ello cuando digamos que una fórmula es de orden de
exactitud m se sobreentenderá que “es de orden de exactitud m para la familia
de los monomios”, es decir que permite estimar sin error alguno la k-ésima
derivada de cualquier función polinómica de grado menor o igual que m.
Ejemplo:
La fórmula que se ha utilizado en el ejemplo anterior
"
*2
f "(x*) f f ( x* h) 2·f ( x*) f ( x* h)
h
+−+−
≈=
es una fórmula exacta de orden 3. En efecto, para la función p(x) = 1 se verifica
que:
*2
p " 1 2·1 1 0 p"( x*) x *
h
−+
===∀
Asimismo para la función p(x) = x se tiene que:
*2
p " ( x * h) 2·(x*) (x* h) 0 p"( x*) x *
h
+−+−
===∀
También para la la función p(x) = x2 se tiene que:
222
*2
p " ( x * h) 2·(x*) (x* h) 2 p"( x*) x *
h
+−+−
===∀
Programación y Métodos Numéricos Derivación Numérica
52
Y para la función p(x) = x3 se verifica que:
Derivación Numérica 87

333
x2
p " ( x * h) 2·(x*) (x* h) 6·x* p"( x ) x*
h
+−+−
===∀
Pero para la función q(x) = x4 se tiene que:
444
222
x2
q " ( x * h) 2·(x*) (x* h) 12·( x*) 2·h q"( x*) 2·h x*
h
+−+−
==+=+∀
por lo que sólo se puede afirmar que el error de la fórmula es nulo para los
monomios {1, x, x2, x3}. En consecuencia, como se señaló anteriormente, la
fórmula es de orden de exactitud 3.

Entre las fórmulas de derivación numérica para aproximar las derivadas de
orden k de una función f(x), las más frecuentemente utilizadas son aquellas que
se pueden obtener derivando k veces el polinomio interpolador de la función
f(x). A tales fórmulas se las denomina fórmulas de tipo interpolatorio.
Definici 7.4.
Se denomina fórmula de derivación numérica de tipo interpolatorio
(de Lagrange) para aproximar derivadas de orden k a cualquier
fórmula obtenida derivando una vez la expresión del polinomio
interpolador de Lagrange construido sobre un soporte de (n+1) puntos
distintos.
NOTAS:
1ª) Obsérvese que en la definición anterior se ha escrito entre paréntesis “de
Lagrange”. En efecto podría pensarse en derivar también la expresión del
polinomio interpolador de Hermite obteniéndose otros tipos de fórmulas de
derivación de tipo interpolatorio. Puesto que nosotros sólo nos vamos a referir a
las fórmulas que se obtienen al derivar la expresión del polinomio interpolador
de Lagrange omitiremos en lo sucesivo la coletilla “de Lagrange” y simplemente
diremos fórmula de derivación numérica de tipo interpolatorio.
2ª) Si el orden de derivación k fuese superior o igual al número de puntos (n+1)
las fórmulas de tipo interpolatorio correspondientes se reducirían a f(k(x*) = 0,
pues la derivada de orden k de un polinomio de grado menor o igual que n, si n
es inferior a k, es nula. Por dicho motivo, en todo cuanto sigue, se supondrá
que n > k. •
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
53
Una fórmula de derivación numérica de tipo interpolatorio puede obtenerse a
partir de cualquiera de las expresiones del polinomio interpolador. Recordando
Derivación Numérica 88

la expresión del polinomio interpolador en función de los polinomios de base de


Lagrange puede deducirse la expresión de los pesos que intervienen en dicha
fórmula. En efecto:
Teorema 7.1.
Una condición necesaria y suficiente para que la fórmula de derivación
numérica
=
=Σn
(k
x* i i
i0
f c.f(x) sea de tipo interpolatorio es que sus coeficientes
satisfagan las igualdades:
(k
ci=Li (x*) (i = 0, 1, ..., n)
donde se ha denotado por Li(x) a los (n+1) polinomios de base de
Lagrange11 sobre el soporte {x0, x1, ..., xn}.
Demostraci :
a) Demostremos que en toda fórmula de tipo interpolatorio sus coeficientes
satisfacen las igualdades recogiodas en el enunciado. En efecto, la expresión
detallada del polinomio interpolador de Lagrange pn(x) de una función f(x) sobre
el soporte de (n+1) puntos {x0, x1, ..., xn} en función de los (n+1) polinomios de
base de Lagrange { }n
i i 0 L (x) = es:
n
nii
i0
f(x) p (x) f(x ) L (x)
=
≈ =Σ ⋅
de donde, en cualquier punto x* se puede considerar la aproximación:
=
≈ = ⋅ Σn
(k (k (k
nii
i0
f (x*) p (x*) L (x*) f(x )
Esta fórmula es una fórmula de derivación numérica en la que sus coeficientes
están dados por la expresión:
= (k
i i c L (x*)
11 Recuérdese que:
nn
ijij
j0j0
jiji
L (x) (x x ) (x x )
Derivación Numérica 89

==
≠≠
⎛⎞⎛⎞
=⎜⎜⎜ − ⎟⎟⎟ ⎜⎜⎜ − ⎟⎟⎟
⎝⎠⎝⎠
Π Π (i = 0, 1, ..., n)
Programación y Métodos Numéricos Derivación Numérica
54
b) Demostremos que si la fórmula de derivación numérica satisface = (k
i i c L (x*)
(i = 0, ..., n) entonces es de tipo interpolatorio. En efecto, considerando que el
polinomio interpolador de Lagrange de f(x) sobre el soporte {x0, ..., xn} se puede
expresar como: pn(x) =
= Σn
ii
i0
f(x )·L (x) se tiene que si se verifican las igualdades
consideradas para los coeficientes:
f’(x*) ( ) ( )
====
⎛⎞
≈ = = =⎜ ⎟ =
⎝⎠
ΣΣΣΣ
n n n n (k
(k (k (k
iiiiiiiin
i0i0i0i0
c f(x ) L (x*)f(x ) L (x*)f(x ) L (x*)f(x ) p (x*)
lo que demuestra que el valor de la k-ésima derivada en x* se aproxima con el
valor de la k-ésima derivada del polinomio interpolador en x*.
c.q.d.
De la propiedad anterior se deduce fácilmente la siguiente:
Propiedad 7.2.
En toda fórmula de derivación numérica de tipo interpolatorio
=
=Σn
(k
x* i i
i0
f c.f(x) se verifica que:
n
i
i1
c0
=
Σ=
Derivación Numérica 90

Demostraci :
Puesto que según las propiedades de los polinomios de base de Lagrange se
verifica que:
n
i
i0
L (x) 1
=
Σ = ∀x , es obvio que:
==
⎛⎞
⎜⎟==
⎝⎠
ΣΣ
n (k n
(k
ii
i0i0
L (x) L (x) 0 ∀x
En particular para el punto x* se tendrá que:
==
Σ =Σ = n n
(k
ii
i0i0
L (x*) c 0
c.q.d.
Denotando por ε(x) a la función error de interpolación cometido al aproximar
una función f(x) por su polinomio interpolador de Lagrange pn(x) sobre el
soporte de (n+1) puntos considerado, se verifica que:
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
55
f(x) = pn(x) + ε(x) 0 n ∀x∈(x ,x )
por lo que:
(k = (k +ε(k
n f (x*) p (x*) (x*)
lo que nos conduce a poder expresar el error en el punto x* de la fórmula de
derivación numérica mediante:
= ε(k
f R (x*) (x*)
En el caso particular en que f(x) sea un polinomio de grado menor o igual que n
se verificará que f(x) ≡ pn(x) y por tanto ε(x) = 0 ∀x , de donde resulta que la
fórmula de derivación numérica de tipo interpolatorio construida sobre un
soporte de (n+1) puntos es exacta para cualquier polinomio de grado menor o
igual que n. En resumen es exacta, al menos, de orden n.
Derivación Numérica 91

Este hecho nos permite incluir a las fórmulas de derivación numéricas de tipo
interpolatorio en el conjunto de fórmulas de derivación exactas de orden n.
Pero aún puede precisarse más, puesto que además toda fórmula exacta de
orden n construida sobre un soporte de (n+1) puntos debe ser necesariamente
de tipo interpolatorio. Este hecho se demuestra en el siguiente teorema.
Teorema 7.2.
La condición necesaria y suficiente para que una fórmula de derivación
numérica construida sobre un soporte de (n+1) puntos,
=
=Σn
(k
x* i i
i0
f c.f(x),
sea exacta de orden n es que sea de tipo interpolatorio.
Demostraci :
a) Demostremos en primer lugar que la condición recogida en el enunciado
del teorema es suficiente, es decir que si la fórmula construida sobre el
soporte de (n+1) puntos es de tipo interpolatorio entonces es exacta de
orden n. Para ello basta con recapitular los razonamientos anteriormente
realizados. En efecto, si f(x) es una función polinómica de grado menor o
igual que n su polinomio interpolador de Lagrange sobre el soporte de
(n+1) puntos coincide con la función y por tanto:
f(x) = pn(x) x ∀
Programación y Métodos Numéricos Derivación Numérica
56
por lo que f(k(x) = (k
pn (x) ∀x. En particular, al ser la fórmula de
derivación de tipo interpolatorio, para cualquier punto x* se tendrá que:
(k = (k ≡ (k
n x* f (x*) p (x*) f
Ello demuestra que la fórmula es exacta sea cual sea el polinomio f(x)
de grado menor o igual que n al que se aplique. En particular lo será
cuando se aplique los (n+1) primeros monomios {1, x, ..., xn} y por ello
es exacta de grado n.
b) Demostremos ahora que la condición anterior también es necesaria, es
decir que si la fórmula construida sobre el soporte de (n+1) puntos es
exacta de orden n entonces tiene que ser de tipo interpolatorio. Para ello
partimos del hecho de que, al ser la fórmula exacta de orden n, para
cualquier función polinómica de grado menor o igual que n, p(x), se debe
verificar que:
=
=Σn
(k
ii
i0
p (x*) c.p(x)
Derivación Numérica 92

Por otra parte, puesto que hemos considerado que p(x) es un polinomio
de grado menor o igual que n, se verificará que el polinomio interpolador
de p(x) en el soporte de (n+1) puntos coincidirá con p(x) y por tanto p(x)
se puede expresar como:
n
ii
i0
p(x) p(x ).L (x)
=

de donde su k-ésima derivada en el punto x* estará dada por:
=
=Σn
(k (k
ii
i0
p (x*) L (x*).p(x )
Identificando las dos expresiones de la primera derivada de p(x) en x* se
tiene que:
==
Σ =Σ n n
(k
iiii
i0i0
c .p(x ) L (x*).p(x )
Esta igualdad debe ser satisfecha para cualquier polinomio p(x) que sea
de grado menor o igual que n. Por tanto deberá verificarse también en el
caso de que consideremos como p(x) cualquiera de los (n+1) polinomios
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
57
de base de Lagrange construidos sobre el soporte { }n
i i 0 x = . Recordemos
además que los polinomios de base de Lagrange verifican:
ij
0 si i j
L (x )
1 si i=j
⎧≠
=⎨⎩
Por tanto, particularizando la igualdad antes obtenida para L0(x) se tiene
que:
==
Σ =Σ ⇒ = n n
(k (k
i0ii0i00
Derivación Numérica 93

i0i0
c.L (x ) L (x*).L (x ) c L (x*)
Al hacerlo para el polinomio L1(x) resultará que:
==
Σ =Σ ⇒ = n n
(k (k
i1ii1i11
i0i0
c .L (x ) L (x*).L (x ) c L (x*)
Y en general al particularizar para cualquier polinomio de base Lj(x)
obtendremos que:
==
Σ =Σ ⇒ = n n
(k (k
ijiijijj
i0i0
c .L (x ) L (x*).L (x ) c L (x*)
c.q.d.
Ejemplos:
1º. Sobre un soporte de tres puntos {x0, x1, x2} el polinomio interpolador de
Lagrange de una función f(x) puede expresarse como:
= + [ ] − + [ ] − − 2 0 0 1 0 0 1 2 0 1 p (x) f(x ) f x ,x ·(x x ) f x ,x ,x ·(x x )·(x x )
por lo que la fórmula de derivación numérica que aproxima derivadas segundas
sobre este soporte es:
≈ = = [ ] x* 2 0 1 2 f "(x*) f " p" (x) 2·f x ,x ,x
2º. Sobre un soporte de cuatro puntos {x0, x1, x2, x3} el polinomio interpolador
de Lagrange de una función f(x) puede expresarse como:
p x =f x +f[x x ] x−x +f[x x x ] x−x x−x + 3 0 0 1 0 0 1 2 0 1 ( ) ( ) , ·( ) , , ·( )·( )
+f[x x x x ] x−x x−x x−x 0 1 2 3 0 1 2 , , , ·( )·( )·( )
Programación y Métodos Numéricos Derivación Numérica
58
por lo que la fórmula que aproxima f”(x) es:
'' [ ]
x* 3 0 1 2 f "(x*)≈f = p" (x*)=2·f x ,x ,x + f[x x x x ] x −x −x −x 0 1 2 3 0 1 2 2· , , , ·(3· * )
y para la aproximación de la tercera derivada:
''' [ ]
x* 3 0 1 2 3 f '''(x*)≈f = p''' (x*)=6·f x ,x ,x ,x

Propiedad 7.3
En toda fórmula de derivación numérica de tipo interpolatorio
=
=Σn
(k
x* i i
i0
f c.f(x), construida sobre un soporte de (n+1) puntos con n > k, se
verifica que:
Derivación Numérica 94

n
j
ii(jk)
i1
0 si j k
c x j ! ( x*) si k j n
( j k)!

=
< ⎧⎪
= ⎨⎩⎪ − ≤ ≤
Σ (j = 1, ...n)
Demostración:
La demostración de esta propiedad se deja como ejercicio propuesto al lector y
consiste simplemente en comparar el valor (exacto) proporcionado por la
fórmula de derivación al ser aplicada a la función f(x) = xj (j = 0, ..., n) con el
valor de f(k(x*) .
c.q.d.
En cuanto al error de las fórmulas de derivación que permiten aproximar
derivadas de orden mayor que 1 puede realizarse un análisis similar al descrito
anteriormente para las fórmulas que aproximaban la primera derivada.
Dejamos al lector interesado la tarea de adaptar las propiedades y teoremas
desarrollados en el apartado 4º a este tipo de fórmulas. Nosotros nos
centraremos en la descripción del proceso que permite obtener fórmulas de
derivación de tipo interpolatorio, junto a la expresión de su error, combinando
desarrollos en serie de Taylor para funciones que tengan la suficiente
regularidad.
Para ello siendo n > k consideremos el soporte de (n+1) puntos {x0 < x1 <... <
xn} y siendo x* el punto en el que se desea aproximar f(k(x) denotemos por hi al
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
59
valor: hi = hi = xi – x* (i = 0, .., n). Suponiendo que f(x) es sufiecientemente
regular pueden considerarse los desarrollos en serie de Taylor:
f(xi) = f(x*+hi) = f(x*) + hi·f(x*) + + + + +
23k
i i i (k h·f "(x*) h·f '''(x*) .... h ·f (x*) ....
2! 3! k!
Por lo que:
====
⎛⎞⎛⎞⎛⎞
α =⎜ α⎟ +⎜ α ⎟ + ⎜ α ⎟ +
⎝⎠⎝⎠⎝⎠
ΣΣΣΣnnnn
2
iiiiiii
Derivación Numérica 95

i0i0i0i0
·f(x ) ·f(x*) ·h ·f '(x*) 1 ·h ·f "(x*)
2!
==
⎛⎞⎛⎞
⎜α⎟++⎜α⎟+
⎝⎠⎝⎠
ΣΣnn
3 k(k
iiii
i0i0
1 ·h ·f '''(x*) ....1 ·h ·f (x*) ...
3! k!
(1)
Si se desea que la fórmula de derivación sea del mayor orden posible debe
buscarse que, salvo el coeficiente de f(k(x*), se anulen el mayor número de los
primeros sumandos del desarrollo anterior. Esto es, que:
=
α = Σn
j
ii
i0
·h 0 (j = 0, 1,...,(k-1), (k+1), ...n)
En general el número de ecuaciones que así se pueden formar es de n
ecuaciones, obteniéndose un sistema con (n+1) incógnitas (α0, ..., αn) y tan
sólo n ecuaciones. Ello es debido a que con el coeficiente de f(k(x*) se debe
añadir la inecuación
=
α ≠ Σn
k
ii
i0
·h 0 .
Por ello los coeficientes (α0, ..., αn) que se determinen mediante la resolución
del sistema:
=
α = Σn
i
i0
0
=
α = Σn
ii
i0
·h 0
........

Derivación Numérica 96

=
α = Σn
(k 1)
ii
i0
·h 0
+
=
α = Σn (k 1)
ii
i0
·h 0
........
=
α = Σn
n
ii
i0
·h 0
quedarán expresados en función del valor que libremente se le asigne a uno de
ellos.
Programación y Métodos Numéricos Derivación Numérica
60
En todo caso, una vez calculados estos coeficientes, denotando por
=
α = α Σn
ii
i0
·h
se tendrá que los coeficientes de la fórmula de derivación se obtienen
mediante: ci = αi / α (i = 0, ..., n) y que del primer término que no se haya
podido anular en la expresión (1) se podrá inferir fácilmente la expresión del
error de derivación.
Ilustremos estos extremos con un ejemplo.
Ejemplo:
Determinemos la fórmula de derivación numérica del mayor orden de exactitud
posible que permite calcular el valor aproximado de f’’’(x*) usando un soporte
de la forma: {x0 = x* - 2·h, x1 = x* - ·h, x2 = x*, x3 = x* +h, x4 = x* + 2·h} donde h
es un valor real estrictamente positivo.
Para ello, si suponemos que f(x) es suficientemente regular en (x*-2·h, x*+2·h)
podemos considerar los desarrollos en serie de Taylor:
f(x*- 2·h) =f(x*) –2·h·f’(x*) + − +
4·h2·f "(x*) 8·h3·f '''(x*)
26

4
16·h ·f(iv (x*)
Derivación Numérica 97

24
−+−
567
32·h ·f(v (x*) 64·h ·f(vi(x*) 128·h ·f(vii(x*)...
120 720 5040
f(x*-·h) =f(x*) - h·f’(x*) + − +
h2·f "(x*) h3·f '''(x*)
26

4
h ·f(iv (x*)
24
−+−
567
h ·f(v (x*) h ·f(vi(x*) h ·f(vii(x*)...
120 720 5040
f(x*) = f(x*)
f(x*+ h) =f(x*) + h·f’(x*) + + +
h2·f "(x*) h3·f '''(x*)
26
+
4
h ·f(iv (x*)
24
++++
567
h ·f(v (x*) h ·f(vi(x*) h ·f(vii(x*) ...
120 720 5040
f(x*+2·h) =f(x*) +2·h·f’(x*) + + +
4·h2·f "(x*) 8·h3·f '''(x*)
26
+
4
16·h ·f(iv (x*)
24
+++
567
32·h ·f(v (x*) 64·h ·f(vi(x*) 128·h ·f(vii(x*)...
120 720 5040
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
61
de donde:
α − +α − +α +α + +α + = 0 1 2 3 4 ·f(x * 2·h) ·f(x * h) ·f(x*) ·f(x * h) ·f(x * 2·h)
=(α + α + α + α + α) + 0 1 2 3 4·f(x*)
+(− α − α + α + α) + 0 1 3 4 2· 2· ·h·f '(x*)
Derivación Numérica 98

+( α + α + α + α) +
2
0134
h 4· 4· · ·f "(x*)
2
+(− α − α + α + α) +
3
0134
h 8. 8· · ·f '''(x*)
6
+( α + α + α + α) +
4
(iv
0134
h 16. 16· · ·f (x*)
24
+(− α − α + α + α) +
5
(v
0134
h 32. 32· · ·f (x*) ....
120
Si se desea construir una fórmula que con el soporte anterior aproxime el valor
de f’’’(x*) y que tenga el mayor orden de exactitud posible se obligará a que:
α + α + α + α + α = 0 1 2 3 4 0 (Coeficiente en h0 y f(x*))
− α − α + α + α = 0 1 3 4 2· 2· 0 (Coeficiente en h y f’(x*))
α + α + α + α = 0 1 3 4 4. 4· 0 (Coeficiente en h2 y f”(x*))
α + α + α + α = 0 1 3 4 16. 16· 0 (Coeficiente en h4 y f(iv (x*))
de donde12, dejando como incógnita libre α3, se tiene:
α0= −α4 α1 = α4 α2 = α3 = − α4 α4 ∈R , 2· , 0 , 2· ,
Cualquier elección no nula de α4 nos conducirá a la fórmula buscada.
Obsérvese que se descarta la opción α4 = 0 ya que ello anularía el coeficiente
de f’’’(x) con lo que no lo podríamos despejar del desarrollo resultante. Si se
asigna a α4 el valor α4 = 1 se tiene que:
12 Obsérvese que si al sistema anterior se le añadiese la ecuación procedente de obligar a
que
se anulase el coeficiente de f’(v(x*) se tendría un sistema que sólo admite la solución
trivial α0 =
= α1 = α2 = α3 = α4 = 0.
Programación y Métodos Numéricos Derivación Numérica
62
α0=− α1= α2= α3=− α4=􀀀 1, 2 , 0 , 2 , 1
Para estos valores de los coeficientes α
i, se tiene entonces que la combinación
de desarrollo en serie de Taylor antes obtenida se convierte en:
−f(x *−2·h)+2·f(x *−h)−f(x *+h)+2·f(x *+2·h)=
=++
Derivación Numérica 99

35
12·h·f '''(x*) 60·h·f(v (x*) ....
6 120
de donde:
f’’’(x*) = − ( − )+ ( − )− ( + )+ ( + ) 3 3 3 3
1·f x * 2·h 1·f x * h 1 ·f x * h 1 ·f x * 2·h
2·h h h 2·h
-
−1·h2·f(v(x*)+.....
4
De esta igualdad se infiere que la fórmula buscada es:
≈ =− ( − )+ ( − )− ( + )+ ( + ) * 3 3 3 3
f '''(x*) f ''' 1·f x * 2·h 1·f x * h 1 ·f x * h 1 ·f x * 2·h
2·h h h 2·h
y que con ella, si f∈C5((x*-2·h, x*+2·h)), se comete un error dado por:
=− 2 (vξ
f
R (x*) 1·h ·f ( )
4
para algún valor ξ∈(x*-2·h, x*+2·h). Es decir un error de orden 0(h2).13
13 No debe confundirse el orden de exactitud de una fórmula de derivación numérica con
el
orden del error de dicha fórmula. Mientras que el primero señala el máximo grado de los
polinomios que pueden derivarse sin error con dicha fórmula, el segundo señala la
potencia
menor a la que aparece elevado el parámetro “h” en la expresión del error.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
63
7.1. Obtenci de f mulas de derivaci de tipo interpolatorio mediante
el m騁odo de los coeficientes indeterminados.
Un método alternativo para la determinación de fórmulas de derivación de tipo
interpolatorio soportadas en (n+1) puntos se basa en que, según el teorema
7.2. toda fórmula de tal tipo debe ser exacta para los monomios {1, x, ..., xn}.
Por tanto, si se busca una fórmula cuya expresión sea:
=
≈ =Σn
(k (k
*ii
i0
f (x*) f cf(x),
su aplicación a los binomios (x-x*)j (0 < j < n) nos conduce a un sistema de
ecuaciones cuya solución nos proporciona los pesos de la fórmula. De forma
más concreta, siendo “h” un valor estrictamente positivo en función del cual se
puedan escribir, para valores convenientes de γ
Derivación Numérica 100

i (i = 0, ...,n), los puntos del


soporte en la forma xi = x* + γih, la aplicación de la fórmula a los binomios
f(x) = (x-x*)j (j = 0, ..., n) conduce a que, si k < n:
=
⎧≠
γ = ⎨⎩ =
Σn
j
iij
i0
0 sij k
c
j!/h si j k
En resumen, los coeficientes de la fórmula de tipo interpolatorio se obtienen
resolviendo el sistema:
−−−−
++++
⎡⎤
⎢⎢γ γ γ γ ⎥⎥
⎢γ γ γ γ ⎥⎧
⎢ ⎥⎪
⎢ ⎥⎪
⎢⎢γ γ γ γ ⎥⎥⎨
⎢γ γ γ γ ⎥
⎢γ γ γ γ ⎥
⎢⎥
⎢⎥
⎢⎢⎣γ γ γ γ ⎥⎥⎦
012n
2222
012n0
1
(k 1) (k 1) (k 1) (k 1)
012n2
kkkk
012n
(k 1) (k 1) (k 1) (k 1)
012nn
nnnn
012n
1 1 1 ... 1
...
... c
... ... ... ... ... c
... c
... ...
... c
Derivación Numérica 101

... ... ... ... ...


...
⎧⎫
⎪⎪
⎪⎪
⎫⎪⎪
⎪⎪⎪
⎪ ⎪⎬⎪ = ⎨⎪⎪ ⎪⎬⎪
⎪⎪⎪⎪
⎪⎪⎪⎪
⎪⎩ ⎭⎪ ⎪ ⎪
⎪⎪
⎪⎪
⎩⎪ ⎭⎪
k k!
h
0
0
0
...
0
0
...
0
Una vez determinada la fórmula, su error puede también ser calculado si se
busca en la forma Rf(x*) = K·h(m-k)·f(m(ξ) aplicándolo al primer binomio (x-x*)m
(cuya derivada m-ésima es m!) para el que la fórmula deja de ser exacta
(hecho que tendrá lugar para m > n).
Programación y Métodos Numéricos Derivación Numérica
64
Ilustremos esta forma de proceder obteniendo nuevamente la fórmula de
derivación numérica hallada en el subapartado anterior mediante
combinaciones de desarrollos en serie de Taylor.
Ejemplo:
Determinemos la fórmula de derivación numérica del mayor orden de exactitud
posible que permite calcular el valor aproximado de f’’’(x*) usando un soporte
de la forma: {x0 = x* - 2·h, x1 = x* - ·h, x2 = x*, x3 = x* +h, x4 = x* + 2·h} donde h
es un valor real estrictamente positivo.
Según se ha visto anteriormente, los coeficientes de la fórmula, soportada por 4
puntos, se pueden obtener resolviendo el sistema obtenido al aplicar la fórmula
a los cuatro binomios {1, (x-x*), (x-x*)2, (x-x*)3} . Tal sistema es:
c
c
c
ch
⎡ ⎤⎧ ⎫ ⎧ ⎫
⎢⎢⎢⎢⎣−− −− ⎥⎥⎥⎥⎦⎨⎪⎪⎪⎪⎩ ⎪⎭⎪⎪⎪⎬ = ⎪⎩⎨⎪⎪⎪ ⎪⎭⎪⎪⎪⎬
Derivación Numérica 102

0
1
2
3
3
11110
21120
41140
8 1 1 8 6/
cuya solución nos proporciona los valores:
cccc
hhhh
−−
====03132343
1, 1, 1, 1
2· 2·
Para determinar el error de la fórmula consideraremos la función f(x) = (x-x*)4.
La tercera derivada de dicha función en x* es:
f’’’(x*) = 4·3·2.(x*-x*) = 0
siendo el valor aproximado dado por la fórmula:
f h h (h) ( h)
h
= ⎛⎜− − + − − + ⎞⎟=
⎝⎠
''' 4 4 4 4
*3
1 1( 2 ) ( ) 12 0
22
lo que nos indica que la fórmula es también exacta para los polinomios de
orden 4º. Incrementemos una unidad el grado del binomio y apliquémosla a f(x)
=(x – x*)5. El valor exacto de la tercera derivada de este binomio es:
f’’’(x*) = 5·4·3.(x*-x*) = 0
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
65
siendo ahora el valor aproximado:
f h h (h) ( h) h
h
= ⎛⎜− − + − − + ⎞⎟=
⎝⎠
''' 5 5 5 5 2
*3
1 1( 2 ) ( ) 12 30·
22
por lo que el error de derivación está dado, para esta función por:
xxRxhh−=−=−5
Derivación Numérica 103

22
( *) ( *) 0 30· 30·
Si buscamos la expresión genérica del error en la forma:
v
f R(x*)=K·h2·f( (ξ)
es fácil verificar, aplicándolo a (x-x*)5, que:
h Kh K
−−
−30· 2= · 2·5!⇒ = 30= 1
5! 4
por lo que en general: v
fRxhfx

( *)= 1 2 ( ( *)
4
En resumen la fórmula buscada es:
f (fx h f x h f(x h) f(x h))
h
'''= − − + − − + + +
*3
1(*2)2(*)2**2
2
y el error de derivación numérica, si f∈C5([x*−2h,x*+2h]) está dado por:
v
fRxhfξ

( *)= 1 2 ( ( )
4
es decir un error de orden 2.
Programación y Métodos Numéricos Derivación Numérica
66
Ejercicio propuesto:
d) Siendo h un parámetro estrictamente positivo, determinar la fórmula de
derivación numérica que permite aproximar el valor de f”(x*) sobre el
soporte: x0 = x* -h, x1 = x*, x2 = x* + 2h y x3 = x* + (5 )
2 h. Suponiendo
que f(x) es suficientemente regular en el intervalo [x0, x3], determínese
también la expresión de su error e indíquese la regularidad que se le
debe exigir a f(x) para que dicha expresión sea válida. Obténgase la
fórmula pedida y su error:
i) Derivando el correspondiente polinomio interpolador de
Lagrange,
ii) Combinando desarrollos en serie de Taylor, y
iii) Mediante el método de coeficientes indeterminados.
e) Aplíquese la fórmula obtenida en el apartado anterior a la obtención de
un valor aproximado de la segunda derivada de la función f(x) = ecos(x)
con los siguientes valores de h: h0 = 0.1, h1 = 0.01, h2 = 0.001, h3 =
Derivación Numérica 104

0.0001 y h4 = 0.00001. Realícense los cálculos en coma flotante


usando mantisas con 5 decimales significativos.
f) Obténgase una cota del error de derivación numérica válida en el
intervalo [x0, x2] para la función considerada en el apartado anterior. El
error realmente cometido ¿es en todos los casos inferior a la cota
hallada? Si no lo fuese justifíquese el motivo.
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
67
8. Mejora de la precisi de las f mulas de derivaci num駻ica. M騁odo
de extrapolaci de Richardson.
Como se presentó en apartados anteriores el error de las fórmulas de
derivación numérica (ya sea para aproximar la primera derivada o derivadas de
orden superior) responde a expresiones en las que interviene hp donde p es un
número no negativo y “h” es una longitud característica del soporte (la distancia
entre puntos consecutivos del soporte cuando este es equidistante, la distancia
entre los puntos extremos del soporte, la mayor de las distancias del punto x*
en el que se evalúa la derivada a los puntos del soporte, ....). Por ello, si se
quiere mejorar la precisión de una fórmula de derivación numérica la primera
idea que surge intuitivamente es la de reducir el valor de h (lo que
generalmente se traduce en tomar puntos más próximos entre sí y más
cercanos al punto x*). En este sentido la forma habitual de proceder consiste
en, siendo q un valor tal que 0 < q < 1, aplicar la fórmula numérica para los
valores h0 = h, h1 = q·h, h2 = q·h1 = q2·h , ...., hj = q·hj-1 = qj·h, .... Se obtienen
así diferentes valores V0, V1, ...., Vj, .... que aproximan la derivada en cuestión.
Este proceso se finaliza cuando |Vj – Vj-1| sea lo suficientemente pequeño
(menor que un cierto ε predefinido de antemano).
Ejemplo:
Si se utiliza la fórmula:
≈ = ( + )− ( + ) *
f '(x*) f ' 1·f x * h 1·f x * h
2·h 2·h
para aproximar el valor de la primera derivada de la función f(x) = ex en el punto
x* = 0 ( cuyo valor exacto es f’(0) = 1) se obtendrán los siguientes valores para
el valor aproximado de la derivada (calculados con el programa MAPLE 7
utilizando 20 dígitos), para diferentes valores de h:
h0 = 0.5, V0 = 1.042190610987.... |Error|=0.0421906...
h1 = 0.25, V1 = 1.010449267232.... |Error|=0.0104492...
h2 = 0.125, V2 = 1.002606201928.... |Error|=0.0026062...
h3 = 0.0625, V3 = 1.000651168835.... |Error|=0.0006511...
h4 = 0.03125,V4 = 1.000162768364.... |Error|=0.0001627...
pudiendo observarse como el error se reduce de una aproximación a la
siguiente al reducir el paso a la mitad. Nótese que el error se reduce
aproximadamente a la cuarta parte alreducir el paso a la mitad al ser el orden
del error de la fórmula empleada O(h2).
Derivación Numérica 105


Programación y Métodos Numéricos Derivación Numérica
68
La reducción del “paso” h utilizado en una fórmula que presente un error de
orden p proporciona una sucesión de valores aproximados { }∞
j=0 V que, si se
admite que f(x) es suficientemente regular, converge hacia el valor exacto con
una velocidad de convergencia de orden p, es decir que el error obtenido con
un paso (qjh) es aproximadamente qp veces menor que el que se produce con
paso (qj-1h). En este sentido, cuanto mayor sea el orden del error del método
más rápida será la convergencia hacia el valor exacto. Por ello esta reducción
del paso se suele combinar con la denominada t馗nica de extrapolaci de
Richardson14 que, en síntesis, genera a partir de la sucesión { }∞
j=0 V otras
sucesiones con mayor velocidad de convergencia hacia el valor exacto. Para
describir este proceso, consideremos una fórmula de derivación numérica en la
que el error sea de orden p y que pueda expresarse como:
++
=
⎛⎞
=⎜ ⎟+α + β +
⎝⎠
Σn
(k (m p (m 1 p 1
ii
i0
f (x*) c ·f(x ) ·f (x*)·h ·f (x*)·h ...
y denominemos Ve al valor exacto que se está aproximando, V0 al valor
obtenido con el paso h y V1 al obtenido con paso q·h (donde supondremos que
q < 1). Se tendrá que:
Ve = V0 + α·f(m(x*)·hp+β·f(m+1(x*)·hp+1 + ...
Ve = V1 + α·f(m(x*)·qp·hp+β·f(m+1(x*)·qp+1·hp+1 + ...
Restando ambas igualdades se obtiene:
V1 – V0 = α·f(m(x*)·(1−qp )·hp + β·f(m+1(x*)·(1− qp+1)·hp+1 + ... ⇒
⇒−(+++)
α=−β−+
−−
(m p 1 0 (m 1 p 1 p 1
pp
·f (x*)·h V V 1 · ·f (x*)·(1 q )·h ...
1q1q
Sustituyendo esta expresión en la primera de las expresiones del valor exacto
resulta que:
+
++−⎛−⎞
= + − +β ⎜⎝ − − ⎟⎠ +
Derivación Numérica 106

p1
1 0 (m 1 p 1
e0pp
V V V V ·f (x*)·1 1 q ·h ...
1q1q
14 En honor al matemático inglés Lewis Fry Richardson (1881 – 1953) que fue uno de los
pioneros del cálculo científico (y en concreto el primero en aplicar métodos de diferencias
finitas a la predicción del tiempo).
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
69
lo que nos indica que el valor:
−−
=+=
−−
p
1010
1,1 0 p p
V V V V V q·V
1q1q
aproxima al valor exacto Ve con un error de orden (p+1).
Análogamente, si se considera el valor V1, obtenido con paso (q·h) y el valor V2
obtenido con paso (q2h) se tiene que:
Ve = V1 + α·f(m(x*)·qp·hp+β·f(m+1(x*)·qp+1·hp+1 + ...
Ve = V2 + α·f(m(x*)·q2p·hp+β·f(m+1(x*)·q2p+2·hp+1 + ...
de donde un proceso análogo al que se acaba de describir nos conduce a que:
()
+
++−⎛−⎞
= + − +β ⎜⎝ − − ⎟⎠ +
p1
2 1 (m 1 (p 1)
e1pp
V V V V ·f (x*)·1 1 q ·qh ...
1q1q
lo que nos indica que
−−
=+=
−−
p
2121
1,2 1 p p
V V V V V q·V
1q1q
aproxima el valor exacto con un error de orden (p+1).
De manera más general, si dado un valor del parámetro h se consideran las
Derivación Numérica 107

aproximaciones V0,j ( j = 0, 1, ...) obtenidas con un paso (qj·h) usando una


fórmula de derivación numérica que presente un error de orden p, pueden
construirse los valores:
−−
=

p
0,j 0,j 1
1,j p
V q·V
V
1q
(j = 1, 2, ...)
verificándose, si f(x) es suficientemente regular, que:
()++−+⎛−⎞
= +β ⎜⎝ − − ⎟⎠ +
(m 1 p 1 ( j 1) p 1
e 1,j p
V V ·f (x*)· 1 1 q · q h ...
1q
Denotando por b al valor
·111
1
⎛−+⎞
= β⎝⎜ − − ⎠⎟
p
p
bq
q
escribiremos la expresión anterior
en la forma:
( ) = + + − + + (m 1 ( j 1) p 1
e 1,j V V b·f (x*)·q h ...
Programación y Métodos Numéricos Derivación Numérica
70
Según lo anterior la sucesión de valores { } 1, 1

j j= V converge, cuando ha tiende
hacia 0, hacia el valor exacto con un orden de convergencia (p+1) una unidad
mayor que el orden de convergencia que presentaba la sucesión { } 0, 0

j j= V .
Sobre la propia sucesión { } 1, 1

j j= V puede entonces volverse a actuar. En efecto,
como:
= + (m+1 p+1+ p+2 +
Derivación Numérica 108

e 1,1 V V b·f (x*)·h O(h ) ...


y:
( ) = + + + + + + (m 1 (p 1) p 2
e 1,2 V V b·f (x*)·qh O(h ) ...
se tiene que:
0 = V1,1 – V1,2 + b·f(m+1(x*)·hp+1·(1-qp+1) + O(hp+2) + .... ⇒
+++
+

⇒=+

(m 1 p 1 1,2 11 p 2
p1
VV
b·f (x*)·h O(h )
1q
e introduciendo esta expresión en la primera de las que se han utilizado para
obtenerla resulta que:
+
++
++
−−
=+++=+
−−
p1
1,2 1,1 p 2 1,2 1,1 p 2
e 1,1 p 1 p 1
VVVqV
V V O(h ) ... O(h )
1q1q
De manera más general, un razonamiento como el precedente muestra que si
f(x) es suficientemente regular, la sucesión { }∞
2,j j=2 V obtenida mediante:
+

+

=

p1
1,j 1,j 1
2,j p 1
VqV
V
1q
(j = 2, 3, ....)
converge hacia el valor exacto con un orden de convergencia (p+2).
Derivación Numérica 109

Estos nuevos valores { }∞


2,j j=2 V pueden ser mejorados construyendo a partir de
ellos una sucesión { }∞
3,j j=3 V que converja con orden (p+3) y así sucesivamente.
En general, si se parte de un método que converge con velocidad de orden p,
el método de extrapolación de Richardson consiste en:
1º) Siendo 0 < q < 1 obtener las aproximaciones V0,j usando la fórmula
con un paso (qjh) (j = 0, 1, ...N).
2º) Mejorar las aproximaciones calculando los valores { } =
N
k,j j k V para
k = 1, 2, ...., N, mediante la fórmula de recurrencia:
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
71
+−
−−−
+−

=

(p k 1)
k 1,j k 1,j 1
k,j (p k 1)
V q ·V
V
1q
Cuanto mayores sean los valores de los subíndices k y j más precisas serán
las aproximaciones obtenidas.
Ejemplo:
Ilustremos el método de extrapolación de Richardson calculando el valor de la
primera derivada de la función
⎛⎞
= ⎜⎜⎝ + ⎟⎟⎠ π
x2
1 x f(x) e ·sen( x) en el punto x*= 1 mediante
la fórmula:
+−
≈=*
f '(x*) f ' f(x * h) f(x*)
h
que presenta un error de orden 1 (es decir O(h)).
Para ello partiremos inicialmente del paso h = ½ y posteriormente lo iremos
reduciendo a la mitad diez veces. Con ello se obtienen los valores V0,j que
figuran en la segunda columna de la tabla siguiente, siendo V0,j el valor
obtenido para el paso hj =(½)(j+1). Las columnas 3ª, 4ª y 5ª de la tabla se
Derivación Numérica 110

corresponden con los valores V1,j , V2,j y V3,j respectivamente que proporciona
la aplicación del método de extrapolación de Richardson.
Para poder apreciar mejor la evolución del error, en la tabla siguiente se han
recogido los valores de error cometido con cada una de las aproximaciones de
esta tabla, es decir la diferencia entre valor exacto de f’(1) y el valor
aproximado que figura en cada fila y columna de la tabla, siendo el valor
exacto:
= π π =− 1
f '(1) e 2· ·cos( ) 5.1796106318....
Los cálculos se han realizado con el programa MAPLE 7 utilizando una
precisión de 20 dígitos (aunque en la tabla se muestran redondeados a 5
decimales significativos).
Programación y Métodos Numéricos Derivación Numérica
72
Aproximaciones
=−+

−−
−−−
−−−−
−−−−
−−−−
−−−
( j 1)
0,j 1,j 2,j 3,j j (h 2 ) V V V V
0 4.91921
1 5.66420 6.40919
2 5.55380 5.44340 5.12148
3 5.39593 5.23805 5.16960 5.17648
4 5.29456 5.19320 5.17825 5.17948
5 5.23872 5.18288 5.17944 5.17960
6 5.20957 5.18041 5.17 −
−−−−
−−−−
−−−−
−−−−
959 5.17961
7 5.19469 5.17981 5.17961 5.17961
8 5.18717 5.17966 5.17961 5.17961
9 5.18340 5.17962 5.17961 5.17961
10 5.18151 5.17961 5.17961 5.17961
Error de las aproximaciones
=−+−−−−


−−
−−
Derivación Numérica 111


( j 1)
0,j 1,j 2,j 3,j j (h 2 ) f '(1) V f '(1) V f '(1) V f '(1) V
0 0.260404
1 0.484587 1.22958
2 0.374191 0.263794 0.0581335
3 0.216317 0.058444 0.0100063 0.003131
4 0.114954 0.013590 0.0013613 0.000126
5 0.0591099 0.003266 0.00 −



−−

−−
−−
−−
−−

6
7
8
10
8 11
01752 5.728·10
6 0.0299549 0.000800 0.0000222 2.292·10
7 0.0150764 0.000198 0.0000028 1.621·10
8 0.0075628 0.000049 0.0000003 9.502·10
9 0.0037875 0.000012 4.364·10 5.743·10
10 0.0018953 0.000003 5.458·10−9 −3.529·10−12
La tabla de errores muestra cómo estos se reducen a, aproximadamente, la
mitad ((1/2)1) al pasar de un valor al siguiente en la primera columna, la cuarta
parte ((1/2)2) al pasar de un valor al siguiente en la segunda columna, la
octava parte ((1/2)3) al pasar de un valor al siguiente en la tercera columna y la
decimosexta parte ((1/2)4) al pasar de un valor al siguiente en la cuarta
columna. Este hecho puede verse más claramente en la figura siguiente en la
Derivación Numérica Carlos Conde, Arturo Hidalgo, Alfredo López
ETSI Minas de la Universidad Politécnica de Madrid
.
73
que se representa la evolución del logaritmo decimal del valor absoluto del
error frente al logaritmo decimal del tamaño de paso para las cuatro sucesiones
de valores recogidos en la tabla anterior.
Puede comprobarse en la gráfica como las pendientes (indicativas del orden de
convergencia) de las curvas de error son más pronunciadas cuanto más se
itera en la aplicación del método de extrapolación de Richardson.
log10(h)
Derivación Numérica 112

log10(|f’(1)-Vk,j|)
Valores proporcionados
por la fórmula
Valores corregidos
aplicando el método
de Richardson una vez
Valores corregidos
aplicando el método
de Richardson dos veces
Valores corregidos
aplicando el método
de Richardson tres veces
Programación y Métodos Numéricos Derivación Numérica
74
BIBLIOGRAFÍA SOBRE EL TEMA
[1]. BURDEN, R. L. y FAIRES, J. D. (1.998). An疝isis num駻ico. (6ª edición).
Ed. International Thomson editores.
[2]. KINCAID, D. y CHENEY, W. (1.994). An疝isis num駻ico. Las
matem疸icas del c疝culo cient凬ico. Ed. Addison-Wesley
Iberoamericana.
[3]. MICHAVILA, F. y CONDE, C. (1.988). M騁odos de Aproximaci . Ed.
Depto. de Mat. Aplic. Y Mét. Informáticos. – Univ. Politécnica de Madrid.
[4]. STOER, J. y BULIRSCH, R. (1.980). Introduction to numerical analysis.
Ed. Springer Verlag.
[5]. VIAÑO, J.M. y BURGUERA, M. (2000) Lecciones de m騁odos
num駻icos, 3: Interpolaci . Ed. Tórculo edicions__

BIBLIOGRAFÍA

UNIVERSIDAD POLITÉCNICA DE MADRID


ESCUELA TÉCNICA SUPERIOR DE
INGENIEROS DE MINAS
DEPARTAMENTO DE MATEMÁTICA APLICADA Y
MÉTODOS INFORMÁTICOS
Asignatura:
PROGRAMACIÓN Y MÉTODOS NUMÉRICOS
Tema: DERIVACIÓN NUMÉRICA
Prof. Carlos Conde Lázaro
Prof. Arturo Hidalgo López
Prof. Alfredo López Benito
Marzo, 2007

También podría gustarte