Está en la página 1de 9

Universidad Católica del Norte

Facultad de Ciencias, Departamento de Matemáticas

Diferenciación numérica

Autores:
Juan Carlos Egaña Arancibia
Javier González-Pizarro
Mario Salas Garcı́a
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

Aproximación de la derivada de orden 1 para f (x)


Se sabe que la derivada de f en x0 está definida por:

f (x0 + h) − f (x0 )
f ′ (x0 ) = lim .
h→0 h
Entonces, intuitivamente podemos asumir que

f (x0 + h) − f (x0 )
f ′ (x0 ) ≈
h
para valores “pequeños” de h. En efecto, supongamos que x0 ∈ [a, b], donde f ∈ C2 [a, b],
y x1 = x0 + h, con h ̸= 0 “suficientemente pequeño” tal que x1 ∈ [a, b]. Si aproximamos f ,
usando el polinomio de Lagrange L(x) con x0 y x1 , tenemos:

f (x) = L(x) + E(x)

(x − x1 ) (x − x0 ) (x − x0 ) (x − x1 ) (2)
= f (x0 ) + f (x1 ) + f (ξ (x))
(x0 − x1 ) (x1 − x0 ) 2!

(x − x0 − h) (x − x0 ) (x − x0 ) (x − x1 ) (2)
= f (x0 ) + f (x0 + h) + f (ξ (x)) ,
−h h 2!
para algún ξ (x) ∈ (a, b). Si derivamos con respecto a x la expresión anterior tenemos
 
′ f (x0 + h) − f (x0 ) (x − x0 ) (x − x1 ) (2)
f (x) = + Dx f (ξ (x))
h 2!

f (x0 + h) − f (x0 ) (2 (x − x0 ) − h) (2)


= + f (ξ (x))
h 2!
(x − x0 ) (x − x0 − h)  
+ Dx f (2) (ξ (x)) .
2!
Luego
f (x0 + h) − f (x0 )
f ′ (x) ≈ .
h
Una dificultad con la aproximación para f ′ (x) es que no podemos estimar el término

Dx f (2) (ξ (x)) = f (2) (ξ (x)) ξ ′ (x) ,


 

 
para valores arbitrarios de x. Sin embargo, cuando x = x0 el coeficiente de Dx f (2) (ξ (x))
es igual a cero, lo que implica

f (x0 + h) − f (x0 ) h (2)


f ′ (x0 ) = − 2 f (ξ) , ξ = ξ (x0 ). (1)
h

La expresión anterior es llamada la fórmula de 2-puntos para f ′ (x0 ).

1
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

Luego, para valores “pequeños” de h, se tiene

f (x0 + h) − f (x0 )
f ′ (x0 ) ≈
h
con un error
M2 h
|E (x)| < ,
2
donde
f (2) (x) < M2 , x ∈ [a, b] .
Si h > 0, la fórmula (1) se llama diferencia progresiva, y diferencia regresiva cuando
h < 0.

Ejemplo 1 Sea f (x) = ln (x) y x0 = 1.8. Utiliza la fórmula de la diferencia progresiva para
estimar f ′ (1.8).

Solución. La fórmula de la diferencia progresiva

f (1.8 + h) − f (1.8)
h
sirve para aproximar f ′ (1.8) con el error
(2)
hf (ξ) |h| |h|
= 2 ≤ , donde 1.8 < ξ < 1.8 + h.
2 2ξ 2 (1.8)2

Ası́, para distintos valores de h tenemos que

f (1.8 + h) − f (1.8) h
h f (1.8 + h)
h 2 (1.8)2
0.1 0.641853886 0.540672212 0.015432098
0.01 0.593326845 0.554018037 0.001543209
0.001 0.58834207 0.555401292 0.00015432

Note que el valor exacto es f ′ (1.8) = 0.5.


La fórmula (1) se puede generalizar cuando x0 , x1 , . . . , xn son (n + 1) números distintos
en algún intervalo I y f ∈ Cn+1 (I). Esto es:

n
f (n+1) (ξ(xk ))
Pn Y

f (xk ) = j=0 f (xj ) L′j (xk ) + (n+1)!
(xk − xj ) (2)
j=0
j̸=k

Esta fórmula es llamada fórmula de (n + 1)-puntos para aproximar f ′ (xk ).

Observación 1 Entre más puntos son utilizados, mejor es la aproximación de la derivada.


Sin embargo, decae la eficiencia.

Ejercicio 1

2
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

1. Verificar que la fórmula de 3-puntos para aproximar f ′ (xj ) para j = 0, 1, 2 es:


   
2x j − x 1 − x 2 2x j − x 0 − x 2
f ′ (xj ) = f (x0 ) + f (x1 ) +
(x0 − x1 ) (x0 − x2 ) (x1 − x0 ) (x1 − x2 )
  n (3)
2xj − x0 − x1 1 (3) Y
f (x2 ) + f (ξj ) (xj − xi ) ,
(x2 − x0 ) (x2 − x1 ) 6 i=0
i̸=j

con ξj = ξ (xj ).

2. Probar que las tres fórmulas obtenidas de (3), cuando se consideran x0 , x1 , x2 igual-
mente espaciados por h, están dadas por:
1 h2
(a) f ′ (x0 ) = [−3f (x0 ) + 4f (x0 + h) − f (x0 + 2h)] + f (3) (ξ0 ),
2h 3
para los nodos x0 , x0 + h y x0 + 2h.
1 h2
(b) f ′ (x0 ) = [−f (x0 − h) + f (x0 + h)] − f (3) (ξ1 ),
2h 6
para los nodos x0 − h, x0 y x0 + h.
1 h2
(c) f ′ (x0 ) = [f (x0 − 2h) − 4f (x0 − h) + 3f (x0 )] + f (3) (ξ2 ),
2h 3
para los nodos x0 − 2h, x0 − h y x0 .

Observación 2 La fórmula dada en (c) puede obtenerse de (a), simplemente reemplazando


h por −h. Por lo tanto, en rigor tenemos solamente las dos fórmulas (a) y (b):

1 h2
f ′ (x0 ) =
[−3f (x0 ) + 4f (x0 + h) − f (x0 + 2h)] + f (3) (ξ0 ) , (4)
2h 3
donde x0 < ξ0 < x0 + 2h, y

′ f (x0 + h) − f (x0 − h) h2 (3)


f (x0 ) = − f (ξ1 ) , (5)
2h 6
donde x0 − h < ξ1 < x0 + h.

Observación 3 Notemos que el error de la fórmula (1) depende de h, mientras que los
errores de las fórmulas (4) y (5) dependen de h2 . Si h < 1, se tiene los errores de (4) y (5)
son más pequeños que el error de (1), y por lo tanto, (4) y (5) aproximan a f ′ (x) con mayor
exactitud que (1).

Ejemplo 2 Sea f (x) = xex y la tabla

x 1.8 1.9 2.0 2.1 2.2


f (x) 10.88936544 12.70319944 14.7781122 17.14895682 19.8550297

Estima el valor de f ′ (2) de manera exacta y usando las fórmulas de 3-puntos (4) y (5).

3
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

Solución. Podemos calcular analı́ticamente f ′ (x) = xex + ex , y entonces f ′ (2.0) =


22.1671683. Si aproximamos f ′ (2.0) por las fórmulas de 3-puntos (4) y (5) obtenemos:

1
Ec (4) con h = 0.1 : [−3f (2.0) + 4f (2.1) − f (2.2)] = 22.03230487.
0.2
1
con h = −0.1 : − [−3f (2.0) + 4f (1.9) − f (1.8)] = 22.05452134.
0.2
1
Ec (5) con h = 0.1 : [f (2.1) − f (1.9)] = 22.22878688.
0.2
1
con h = 0.2 :[f (2.2) − f (1.8)] = 22.41416066.
0.4
Los errores absolutos son, aproximadamente, 1.35×10−1 , 1.13×10−1 , 6.16×10−2 , 2.47×10−1 ,
para cada caso respectivamente.

Aproximación de la derivada de orden superior para f (x)


Usaremos una estrategia diferente para deducir una aproximación de la derivada de orden
superior para f (x), sin embargo, también se puede deducir a partir del polinomio de La-
grange. Supongamos que hacemos la expansión de la serie de Taylor de la función f en torno
a x0 :
1 1 1
f (x) = f (x0 )+f (1) (x0 ) (x−x0 )+ f (2) (x0 ) (x−x0 )2 + f (3) (x0 ) (x−x0 )3 + f (4) (ξ1 ) (x−x0 )4 ,
2 6 24
1 (4)
donde 24 f (ξ1 ) (x − x0 )4 representa los términos de orden superior. Si hacemos x = x0 + h
y x = x0 − h en la ecuación anterior, obtenemos
1 1 1
f (x0 + h) = f (x0 ) + f (1) (x0 ) h + f (2) (x0 ) h2 + f (3) (x0 ) h3 + f (4) (ξ1 ) h4
2 6 24
y
1 1 1
f (x0 − h) = f (x0 ) − f (1) (x0 ) h + f (2) (x0 ) h2 − f (3) (x0 ) h3 + f (4) (ξ−1 ) h4 ,
2 6 24
donde x0 − h < ξ−1 < x0 < ξ1 < x0 + h. Sumando ambas ecuaciones, tenemos
1  (4)
f (x0 + h) + f (x0 − h) = 2f (x0 ) + f (2) (x0 ) h2 + f (ξ1 ) + f (4) (ξ−1 ) h4 .

24
Si despejamos f (2) (x0 ), obtenemos
1 h2  (4)
f (2) (x0 ) = f (ξ1 ) + f (4) (ξ−1 ) .

2
[f (x 0 − h) − 2f (x 0 ) + f (x 0 + h)] −
h 24
Por lo tanto, como f (4) es continua en [x0 − h, x0 + h] y por el teorema del valor medio, se
tiene:
1 h2
f (2) (x0 ) = 2 [f (x0 − h) − 2f (x0 ) + f (x0 + h)] − f (4) (ξ) , (6)
h 12
donde x0 − h < ξ < x0 + h.

4
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

Ejemplo 3 Estime el valor de f ′′ (2) para f (x) = xex .


Solución. Sea f (x) = xex . Entonces
1
f (2) (2.0) ≈ [f (1.9) − 2f (2.0) + f (2.1)] = 29.59318609, con h = 0.1
0.01
y
1
f (2) (2.0) ≈ [f (1.8) − 2f (2.0) + f (2.2)] = 29.70426847, con h = 0.2.
0.04
Note que el valor exacto es f (2) (2.0) = 29.5562244.

Una aplicación de diferenciación numérica


Los problemas fı́sicos que dependen más de la posición que del tiempo a menudo se describen
en función de ecuaciones diferenciales, con condiciones impuestas en más de un punto. Por
ejemplo, la deflexión de un prototipo de estructura tal como una viga de sección transversal
rectangular sujeta a una carga uniforme, mientras sus extremos están empotrados de modo
que no presentan deflexión alguna. Este tipo de problema con valor en la frontera de dos
puntos incluyen una ecuación diferencial de segundo orden de la forma:
y ′′ = p(x)y ′ + q(x)y + r(x), a ≤ x ≤ b, (7)
junto con las condiciones de frontera
y(a) = α y y(b) = β (8)
Notemos que para resolver numéricamente el problema (7) se requieren aproximar y ′ y y ′′ .
Primero, particionamos el intervalo [a, b] en n + 1 subintervalos igualmente espaciados cuyos
b−a
extremos son los puntos xi = x0 + ih, para i = 0, 1, 2, . . . , n + 1 donde h = n+1 . En los
puntos interiores de la partición, xi , para i = 1, 2, ..., n, la ecuación diferencial que se debe
aproximar es
y ′′ (xi ) = p(xi )y ′ (xi ) + q(xi )y (xi ) + r(xi ) (9)
De (6), y ′′ (xi ) podemos aproximarla por la fórmula de las diferencias centradas:
y (xi−1 ) − 2y (xi ) + y (xi+1 ) h2 (4)
y ′′ (xi ) = − y (ξ) , (10)
h2 12
para xi−1 < ξ < xi+1 . Análogamente, de (5), y ′ (xi ) puede aproximarse por la fórmula de
diferencias centradas:
′ y (xi+1 ) − y (xi−1 ) h2 (3)
y (xi ) = − y (ξ1 ) ,
2h 6
para xi−1 < ξ1 < xi+1 . La utilización de las fórmulas de diferencias centradas (9) y (10) en
la ecuación (7) genera la ecuación
 
y (xi−1 ) − 2y (xi ) + y (xi+1 ) y (xi+1 ) − y (xi−1 )
= p(xi ) + q(xi )y (xi )
h2 2h
h2 
2p(xi )y (3) (ξ1 ) − y (4) (ξ)

+ r(xi ) −
12

5
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

Un método de diferencias finitas con un error de truncamiento de orden O(h2 ) se obtiene


empleando esta ecuación junto con las condiciones de frontera y(a) = α y y(b) = β,
usando ω(xi ) = ωi como la aproximación de y(xi ) = yi , para definir

ω0 = α y ωn+1 = β

y  
ωi−1 − 2ωi + ωi+1 ωi+1 − ωi−1
− pi − qi ωi = ri
h2 2h
para i = 1, 2, ..., n. Multiplicando por 2h2 , la ecuación anterior queda

(2 + hpi ) ωi−1 − 4 + 2h2 qi ωi + (2 − hpi ) ωi+1 = 2h2 ri ,




y el sistema de ecuaciones resultante se puede expresar como una ecuación matricial de n × n


como:     
a1 b 1 ω1 d1
 c 2 a2 b 2   ω2   d2 
.. ..
    
. .   ..   .. 
c3  .  =  . , (11)



 . .
. . . . bn−1   ωn−1   dn−1 
   

c n an ωn dn
donde

ai = −4 − 2h2 qi , i = 1, 2, . . . , n
bi = 2 − hpi , i = 1, 2, . . . , n − 1
ci = 2 + hpi , i = 2, 3, . . . , n
d1 = 2h2 r1 − (2 + hp1 ) ω0
di = 2h2 ri , i = 2, 3, . . . , n − 1
dn = 2h2 rn − (2 − hpn ) ωn+1

Ejemplo 4 Resolver numéricamente el problema lineal con valores en la frontera:


2 2 sen (ln x)
y ′′ = − y ′ + 2 y + , x ∈ [1, 2]
x x x2
y (1) = 1,
y (2) = 2

usando el tamaño de paso h = 0.2


b−a 2−1
Solución. Dado que h = 0.2, tenemos que n + 1 = h
= 0.2
= 5, entonces n = 4. Además,
los puntos de la partición del intervalo son:

x0 = a = 1
xi = x0 + ih = 1 + 0.2i, i = 1, 2, . . . , n + 1,

es decir
x0 = 1, x1 = 1.2, x2 = 1.4, x3 = 1.6, x4 = 1.8, x5 = 2.0

6
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

Por otra parte,


2 2
pi = − =− , i = 1, 2, 3, 4
xi 1 + 0.2i
2 2
qi = 2 = , i = 1, 2, 3, 4
xi (1 + 0.2i)2
sen (ln xi ) sen (ln (1 + 0.2i))
ri = = , i = 1, 2, 3, 4
2
xi (1 + 0.2i)2
ω0 = 1,
ω5 = 2,

esto es

i 1 2 3 4

2 5 10 5 10
pi = − − − − −
1 + 0.2i 3 7 4 9
2 25 50 25 50
qi =
(1 + 0.2i)2 18 49 32 81
sen (ln (1 + 0.2i))
ri = 0.125911901 0.168448575 0.176909969 0.171148306
(1 + 0.2i)2

Entonces
2
ai = −4 − 2h2 qi = −4 − 2 (0.2)2 , i = 1, 2, 3, 4
(1 + 0.2i)2
 
2
bi = 2 − hpi = 2 − (0.2) − , i = 1, 2, 3
1 + 0.2i
 
2
ci = 2 + hpi = 2 + (0.2) − , i = 2, 3, 4
1 + 0.2i
    
2 2 sen (ln (1 + 0.2 · 1)) 2
d1 = 2h ri − (2 + hp1 ) ω0 = 2 (0.2) − 2 + (0.2) −
(1 + 0.2 · 1)2 1 + 0.2 · 1
 
sen (ln (1 + 0.2i))
di = 2h2 ri = 2 (0.2)2 , i = 2, 3
(1 + 0.2i)2
    
2 2 sen (ln (1 + 0.2 · 4)) 2
d4 = 2h ri − (2 − hp4 ) ω5 = 2 (0.2) − 2 − (0.2) −
(1 + 0.2 · 4)2 1 + 0.2 · 4

7
U niversidad Católica del N orte Métodos Numéricos Departamento de M atemáticas

Resumimos los valores en la siguiente tabla:

i ai bi ci di

37 7
1 − −− −1.656593715
9 3
200 16 12
2 − 0.013475886
49 7 7
65 9 7
3 − 0.014152797
16 4 4
328 16
4 − −− −4.43075258
81 9

Ahora formamos el sistema de ecuaciones lineales:


 37 7
   
−9 3
0 0 ω1 −1.656593715
12 200 16

 7 − 49 7
0   ω2

  0.013475886 
= 
7 65 9
 0
4
− 16 4
  ω3   0.014152797 
16 328
0 0 9
− 81
ω4 −4.43075258

Cuya única solución es:


     
ω1 1.186921062 y (1.2)
 ω2   1.381273136   y (1.4) 
≈
 ω3  =  15822640076
   
  y (1.6) 
ω4 1.788832274 y (1.8)

También podría gustarte