Está en la página 1de 8

CAPITULO 6 – DIFERENCIACION NUMERICA

6.1 INTRODUCCION

En este capitulo se abordan temas clásicos de derivación con procesos finitos de


aproximación.

Figura 6.1 Diferenciación del polinomio de aproximación

Una vez que se ha determinado un polinomio pn(x), ya sea por el criterio de


ajuste exacto o el de mínimos cuadrados, de manera que aproxime
satisfactoriamente una función dada f(x) sobre un intervalo de interés, puede espe-
rarse que al diferenciar pn(x) en forma definida, también aproxime satisfactoriamente
la derivada correspondiente a f(x). Sin embargo, si se observa la figura 6.1, donde
aparece la gráfica de un polinomio p n(X) que aproxima la curva que representa la
función f(x), puede anticiparse que aunque la desviación de pn(x) y f(x) en el intervalo
[x0, xn] es pequeña, las pendientes de las curvas que las representan pueden diferir
considerablemente; esto es, la diferenciación numérica tiende a ampliar pequeñas
discrepancias o errores del polinomio de aproximación.
En resumen: Aunque la aproximación polinomial p n(x) sea buena, la diferencial
d
 p n (x) , que da la pendiente de la línea tangente a pn(x), puede variar en
dx
d
magnitud respecto a  f (x) significativamente, aunque pn(x) sea una buena
dx
aproximación a f(x).
Por tanto, la diferenciación numérica debe tomarse con el cuidado y reservas
que lo ameritan; particularmente cuando los datos obtenidos experimentalmente
puedan tener errores significativos.
Cuando se va a practicar una operación en una función tabulada, el camino es
aproximar la tabla por alguna función y efectuar la operación en la función
aproximante. Así se procedió en la integración numérica y así se procederá en la

Ing. Hermas Herrera Callejas Página: 1 de 8


Programación Aplicada Capítulo 6 – Diferenciación Numérica

diferenciación numérica; esto es, se aproximará la función tabulada f(x) y se


diferenciará la aproximación pn(x).

6.2 DERIVACIÓN CON POLINOMIOS DE LAGRANGE

Si la aproximación es polinomial y con el criterio de ajuste exacto (si la


aproximación es por mínimos cuadrados, la diferenciación numérica consistirá en
diferenciar el polinomio que mejor ajuste la información tabulada), la diferenciación
numérica consiste simplemente en diferenciar la formula del polinomio interpolante
que se utilizó. Sea en general f(x) = pn(x) + Rn(x) donde Rn(x) es el error que se
comete al aproximar f(x) por p n(x) y la aproximación de la primera derivada queda
entonces
df ( x) dp ( x)
 n

dx dx
O en general
d f ( x) d p ( x )
n n

 n
6.1
dx n
dx n

Al diferenciar la fórmula fundamental de Newton dada anteriormente se tiene


d f ( x ) d p ( x) d R ( x )
n n n

  n n
6.2
dx n
dx dx n n

d n R n ( x) d n f ( x) d n p n ( x)
donde es el error que se comete al aproximar por
dx n dx n dx n
Si las abscisas dadas x0, x1, …, xn están espaciadas regularmente por
intervalos de longitud h, entonces pn(x) puede escribirse en términos de diferencias
finitas. Al sustituir f[x0], f[x0, x1] etcétera en la ecuación de diferencias finitas en
términos de diferencias finitas, se obtiene
f [ x 0 ] 2 f [ x 0 ]
p n ( x)  f [ x 0 ]  ( x  x 0 )  ( x  x 0 )( x  x1 )  ...
h 2! h 2
n f [ x 0 ]
 ( x  x 0 )( x  x1 )...( x  x n 1 )
n! h n
y se tendrá
f [ x0 ] 2 f [ x0 ]
d (( x  x0 ) ) d [( x  x0 )( x  x1 ) ]
df ( x) dp n ( x) df [ x0 ] h 2! h 2
   
dx dx dx dx dx
 f [ x0 ]
n
d [( x  x0 )( x  x1 )...( x  x n 1 ) ]
n!h n 6.3
 ... 
dx
Se desarrollan algunos de los primeros términos y se tiene
df ( x) dp n ( x) f [ x 0 ] 2 f [ x 0 ]
   (2 x  x0  x1 )
dx dx h 2!h 2
3 f [ x0 ]
 (3x 2  2( x0  x1  x2 ) x  ( x0 x1  x0 x 2  x1 x2 )) 6.4
3! h 3

Ing. Hermas Herrera Callejas Página: 2 de 8


Programación Aplicada Capítulo 6 – Diferenciación Numérica

Selecciónese ahora un valor particular para n; por ejemplo, tómese n = 1, es


decir que se aproxime la función tabulada f(x) por una linea recta. Entonces
f [ x0 ]
p n ( x)  p1 ( x)  f [ x 0 ]  ( x  x0 )
h
y la primera derivada de f(x) queda aproximada por
df ( x) dp1 ( x) f [ x 0 ] f ( x1 )  f ( x0 )
   f ( x0 , x1 ) 
dx dx h x1  x0
df ( x) f ( x1 )  f ( x0 )
 6.5
dx h
y, como es de esperarse
d 2 f ( x) d 2 p1 ( x)
 0
dx 2 dx 2
y así cualquier otra derivada superior de f(x) quedará aproximada por cero.
Geométricamente esto equivale a tomar como primera derivada la pendiente de
la recta que une los dos puntos de la curva f(x) de abscisas x0 y x1 (véase Fig. 6.2).
La primera derivada de f(x) en todo el intervalo [x 0, x1] queda aproximada por el
valor constante (f(x1) – f(x0)) / h, el cual es muy diferente del valor verdadero df(x)/dx
en general.

Figura 6.2 Aproximación lineal de la primera derivada

Si ahora n = 2, es decir, aproximando la función tabulada f(x) por un polinomio


de segundo grado, se tiene
f [ x0 ] 2 f [ x0 ]
p n ( x )  p 2 ( x)  f [ x 0 ]  ( x  x 0 )  ( x  x0 )( x  x1 )
h 2!h 2
y la primera derivada de f(x) queda aproximada por
df ( x) dp 2 ( x) f [ x 0 ] 2 f [ x0 ]
   (2 x  x 0  x1 )
dx dx h 2!h 2

Se desarrollan las diferencias hacia adelante y se tiene

Ing. Hermas Herrera Callejas Página: 3 de 8


Programación Aplicada Capítulo 6 – Diferenciación Numérica

df ( x)  2 x  x0  x1  2h   2 x  4 x  2 x1  2h   2 x  x0  x1 
 2
 f ( x0 )   0 2
 f ( x1 )    f ( x2 ) 6.6
dx  2h   2h   2h 2 
La segunda derivada puede calcularse derivando una vez más con respecto a
x, o sea
d 2 f ( x) d 2 p 2 ( x) 2 f [ x0 ]
   2 f [ x0 , x1 , x 2 ]
dx 2 dx 2 h2
d 2 f ( x) 1 2 1
2
 2 f ( x0 )  2 f ( x1 )  2 f ( x 2 ) 6.7
dx h h h
De igual modo se obtienen las distintas derivadas para n > 2.
Es importante recordar que hay una estrecha relación entre las diferencias
divididas y las derivadas.

Ejemplo 6.1

La ecuación de Van der Waals para un gmol de CO2 es


a
( P  2 )(v  b)  RT
v
donde: a = 3.6 x 10-6 atm cm6 / gmol2
b = 42.8 cm3 I gmol
R = 82.1 atm cm3 I (gmol K)
Si T = 350 K, se obtiene la siguiente tabla de valores
Puntos 0 1 2 3
P (atm) 13,782 12,577 11,565 10,704
v (cm3) 2000 2200 2400 2600

Calcule ∂P/∂v cuando v = 2300 cm3 y compárelo con el valor de la derivada analítica.

SOLUCION

Al usar la ecuación 6.6 con los puntos (0), (1) y (2) se obtiene
P 2v  v0  v1  2h 2v  4v  2v1  2h 2v  v0  v1
 P0  0 P1  P2 ; con h = 200
v 2h 2
2h 2
2h 2
2 * 2300  2000  2200  2 * 200 2 * 2000  4 * 2300  2 * 2200  2 * 200
 2
13.782  12.577
2 * 200 2 * 2002
2 * 2300  2000  2200
 11 .565  0.00506
2 * 200 2
La derivada analítica es
P  RT 2a  82.1 * 350 2(3.6 x10 6 )
     0.005048
v (v  b) 2 v 3 (2300  42.8) 2 23003

Nótese que la aproximación es muy buena (error relativo = - 0.24%) a pesar


de haber aplicado un polinomio de segundo grado para aproximar la ecuación de
Van der Waals que, como se sabe, es un polinomio de tercer grado en v.

Ing. Hermas Herrera Callejas Página: 4 de 8


Programación Aplicada Capítulo 6 – Diferenciación Numérica

Ejemplo 6.2

Obtenga la primera derivada del polinomio general de Lagrange

SOLUCION
n n x  xj
p n ( x)   f ( xi )
De la ecuación i 0 j 0 xi  x j se deriva con respecto a x
j i

 
p n ( x ) n
d  n x  xj 
x
  f ( xi ) 
dx  j 0 xi  x j 
i 0
 j i 
 
Se hace
n x  xj
y
j 0 xi  x j y se toman logaritmos en ambos lados, con lo que se tiene
j i
n x  xj n x  xj
  ln
ln y = ln  x j 0 i  xj j 0 xi  x j
j i j i

ya que el logaritmo de un producto es igual a la suma de los logaritmos de los


factores.
Ambos miembros se derivan con respecto a x
d 1 dy n
d  x  xj  n
 1
(ln y )     ln
dx y dx j 0 dx  xi  x j  j 0 x  x
 j
j i j i

Se despeja dy / dx
n
dy 1
 y
dx j 0 x  x j
j i

Se sustituye y en el lado derecho


dy x  xj n
n
1
 
dx j 0 xi  x j j 0 x  x j
j i j i

y finalmente
 
dp n ( x) n
 n x  xj n
1 
  f ( xi )  
dx x  xj j 0 x  xj 
i 0
 jj0i i 
 j i 

Obsérvese que esta ecuación no sirve para evaluar la derivada en una de las
abscisas de la tabla, ya que significaría dividir entre cero en la sumatoria dentro del
paréntesis. Sin embargo, manipulado algebraicamente el lado derecho puede
escribirse en la forma

Ing. Hermas Herrera Callejas Página: 5 de 8


Programación Aplicada Capítulo 6 – Diferenciación Numérica

 
 
n  
dp n ( x ) f ( xi ) n n
  n   ( x  x j ) 6.16
dx i 0  
j 0
( xi  x j ) kk 0i j jk0,i 

 j  i


La cual ya no tiene la limitante mencionada.

Ejemplo 6.3

En una reacción química A + B k, Productos, la concentración del reactante A


es una función de la presión P y la temperatura T. La siguiente tabla presenta la
concentración de A en gmol / l como función de estas dos variables

T(K)
P (kg/cm2) (T0) 273 (T1) 300 (T2) 325 (T3) 360
1 0.99 0.97 0.96 0.93
2 0.88 0.82 0.79 0.77
8 0.62 0.51 0.48 0.45
15 0.56 0.49 0.46 0.42
20 0.52 0.44 0.41 0.37

Calcule la variación de la concentración de A con la temperatura a P = 8 Kg/cm 2


y T = 300 K, usando un polinomio de segundo grado

SOLUCION
C A
Lo que se busca es en si T , que se puede evaluar con la ecuación 6.16.
T  300 , P 8

 
 
2  2 2 
dp2 ( x ) f ( xi )
Al desarrollarla para n = 2 se tiene   2   ( x  x j )
dx i 0  

k 0 j 0
( xi  x j )
j 0
k i j  k ,i 

 j i 

dp2 ( x ) (( x  x2 )  ( x  x1 )) f ( x0 ) (( x  x2 )  ( x  x0 )) f ( x1 ) (( x  x1 )  ( x  x0 )) f ( x2 )
  
dx ( x0  x1 )( x0  x2 ) ( x1  x0 )( x1  x2 ) ( x2  x0 )( x2  x1 )
dp 2 ( x) (2 x  x1  x 2 ) f ( x0 ) (2 x  x0  x 2 ) f ( x1 ) (2 x  x0  x1 ) f ( x 2 )
  
dx ( x0  x1 )( x0  x 2 ) ( x1  x0 )( x1  x 2 ) ( x 2  x0 )( x 2  x1 )
donde f(x) representa a CA y x a T; de tal modo que sustituyendo los tres puntos
enmarcados de la tabla queda
dp 2 ( x) C A (2 * 300  300  325)0.62 (2 * 300  273  325)0.51
  
dx T T 300 ( 273  300)(273  325) (300  273)(300  325)
P 8

(2 * 300  273  300)0.48 gmol


  0.0026
(325  273)(325  300) 1K

Ejemplo 6.4

Ing. Hermas Herrera Callejas Página: 6 de 8


Programación Aplicada Capítulo 6 – Diferenciación Numérica

Obtenga la primera y segunda derivadas evaluadas en x = 1 para la siguiente


función tabulada
Puntos 0 1 2 3 4
x -1 0 2 5 10
f(x) 11 3 23 143 583

SOLUCION

Al construir la labia de diferencias divididas se tiene

Tabla 6.3 Diferencias divididas de la función


Diferencias divididas
Puntos X f(x) Primeras Segundas
0 -1 11    
      -8  
1 0 3   6
      10  
2 2 23   6
      40  
3 5 143   6
      88  
4 10 583    

Obsérvese que un polinomio de segundo grado puede representar exacta-


mente la función (ya que la segunda diferencia dividida es constante).
El polinomio de Newton de segundo grado en diferencias divididas es
p2(x) = f[x0] + (x – x0)f[x0, x1] + (x – x0)(x – x1)f[x0, x1, x2]
p2(x) = f[x0] + (x – x0)f[x0, x1] + (x2 – x1x - x0x + x0x1)f[x0, x1, x2]
p2(x) = f[x0] + (x – x0)f[x0, x1] + (x2 – x0x - x1x + x0x1)f[x0, x1, x2]
que al derivarse da
dp 2 ( x)
 f  x0 , x1   (2 x  x 0  x1 ) f  x 0 , x1 , x 2 
dx
y al derivarlo nuevamente se obtiene
d 2 p 2 ( x)
 2 f  x0 , x1 , x 2 
dx 2
con la sustitución de valores finalmente resulta
dp 2 (1)
 8  (2 * 1  (1)  0) * 6  10
dx
y
d 2 p 2 (1)
 12
dx 2
ALGORITMO 6.1 Derivación con polinomios de Lagrange

Para obtener una aproximación a la primera derivada de una función tabular


f(x) en un punto x, proporcionar los

Ing. Hermas Herrera Callejas Página: 7 de 8


Programación Aplicada Capítulo 6 – Diferenciación Numérica

DATOS: El grado N del polinomio de Lagrange por usar, las (N + 1)


parejas de valores (X(I), FX(I), I = 0, 1, 2, …, N) y el punto XD en
que se desea la evaluación.
RESULTADOS Aproximación a la primera derivada en XD: DP.

PASO 1. Hacer DP = 0
PASO 2. Hacer I = 0
PASO 3. Mientras I ≤ N, repetir los pasos 4 a 21.
PASO 4. Hacer P = 1
PASO 6. Hacer I = 0
PASO 6. Mientras J ≤ N, repetir los pasos 7 a 8.
PASO 7. Si I <> J Hacer P = P*(X(I) - X(J))
PASO 8. Hacer J = J + 1
PASO 9. Hacer S = 0
PASO 10. Hacer K = 0
PASO 11. Mientras K ≤ N, repetir los pasos 12 a 19.
PASO 12. SI I < > K, realizar los pasos 13 a 18.
PASO 13. Hacer P1 = 1
PASO 14. Hacer J = 0
PASO 16. Mientras J ≤ N, repetir los pasos 16 a 17.
PASO 16. SI J<>I y J<>K Hacer P1 =
P1*(XD - X(J))
PASO 17. Hacer J = J + 1
PASO 18. Hacer S = S + P1
PASO 19. Hacer K = K + 1
PASO 20. Hacer DP = DP + FX(I) / P * S
PASO 21. Hacer l = I + 1
PASO 22. IMPRIMIR DP y TERMINAR.

Ing. Hermas Herrera Callejas Página: 8 de 8

También podría gustarte