You are on page 1of 14

CAPTULO 23

Diferenciacin numrica

En el captulo 4 ya se introdujo la nocin de diferenciacin numrica. Recuerde que se


emplearon las expansiones en serie de Taylor para obtener las aproximaciones de las de-
rivadas en diferencias divididas finitas. En el mismo captulo se desarrollaron las aproxi-
maciones en diferencias divididas hacia adelante, hacia atrs y centradas para la primer
derivada y las derivadas de orden superior. Recuerde que, en el mejor de los casos, dichas
estimaciones tenan errores que fueron O(h2); es decir, sus errores eran proporcionales al
cuadrado del tamao de paso. Este nivel de exactitud se debe al nmero de trminos de la
serie de Taylor que se utilizaron durante la deduccin de esas frmulas. Ahora se mostra-
r cmo desarrollar frmulas de mayor exactitud utilizando ms trminos.

23.1 FRMULAS DE DIFERENCIACIN CON ALTA EXACTITUD

Como se indica antes, se pueden generar frmulas por diferencias divididas de alta exac-
titud tomando trminos adicionales en la expansin de la serie de Taylor. Por ejemplo, la
expansin de la serie de Taylor hacia adelante se escribe como [ecuacin (4.21)]:

f ( xi ) 2
f(xi+1) = f(xi) + f (xi)h + h + (23.1)
2
de la que se despeja

f ( xi +1 ) f ( xi ) f ( xi )
f (xi) = h + O(h2) (23.2)
h 2
En el captulo 4 truncamos este resultado al excluir los trminos de la segunda de-
rivada en adelante y nos quedamos con un resultado final,

f ( xi +1 ) f ( xi )
f (xi) = + O(h) (23.3)
h
Ahora retendremos, en cambio, el trmino de la segunda derivada sustituyendo la
siguiente aproximacin de la segunda derivada [recuerde la ecuacin (4.24)]

f ( xi +2 ) 2 f ( xi +1 ) + f ( xi )
f (xi) = + O(h) (23.4)
h2
en la ecuacin (23.2) para dar

f ( xi +1 ) f ( xi ) f ( xi +2 ) 2 f ( xi +1 ) + f ( xi )
f ( xi ) = h + O(h 2 )
h 2h 2
23.1 FRMULAS DE DIFERENCIACIN CON ALTA EXACTITUD 669

o, al agrupar trminos,

f ( xi +2 ) + 4 f ( xi +1 ) 3 f ( xi )
f ( xi ) = + O(h 2 )
2h (23.5)

Observe que al incluir el trmino de la segunda derivada mejora la exactitud a O(h2).


Es posible desarrollar versiones similares mejoradas para las frmulas hacia adelante
y centradas, as como para las aproximaciones de derivadas de orden superior. Las
frmulas se resumen en las figuras 23.1 a 23.3, junto con todos los resultados del cap-
tulo 4. El siguiente ejemplo ilustra la utilidad de esas frmulas para la estimacin de las
derivadas.

FIGURA 23.1
Frmulas de diferencias divididas finitas hacia delante: se presentan dos versiones para
cada derivada. La ltima versin emplea ms trminos de la expansin de la serie de Taylor
y, en consecuencia, es ms exacta.

Primera derivada Error

f (x i +1) f (x i )
f ( x i ) = O(h)
h
f (x i +2 ) + 4f (x i +1) 3f (x i )
f ( x i ) = O(h2)
2h

Segunda derivada

f (x i +2 ) 2f (x i +1) + f (x i )
f (x i ) = O(h)
h2
f (x i +3 ) + 4f (x i +2 ) 5f (x i +1) + 2f (x i )
f (x i ) = O(h2)
h2

Tercera derivada

f (x i +3 ) 3f (x i +2 ) + 3f (x i +1) f (x i )
f (x i ) = O(h)
h3
3f (x i + 4 ) + 14f (x i +3 ) 24f (x i +2 ) + 18f (x i +1) 5f (x i )
f (x i ) = O(h2)
2h3

Cuarta derivada

f (x i + 4 ) 4f (x i +3 ) + 6f (x i +2 ) 4f (x i +1) + f (x i )
f (x i ) = O(h)
h4
2f (x i +5 ) + 11f (x i + 4 ) 24f (x i +3 ) + 26f (x i +2 ) 14f (x i +1) + 3f (x i )
f (x i ) = O(h2)
h4
670 DIFERENCIACIN NUMRICA

Primera derivada Error

f (x i ) f (x i 1)
f ( x i ) = O(h)
h
3f (x i ) 4f (x i 1) + f (x i 2 )
f ( x i ) = O(h2)
2h
Segunda derivada

f (x i ) 2f (x i 1) + f (x i 2 )
f (x i ) = O(h)
h2
2f (x i ) 5f (x i 1) + 4f (x i 2 ) f (x i 3 )
f (x i ) = O(h2)
h2
Tercera derivada

FIGURA 23.2 f (x i ) 3f (x i 1) + 3f (x i 2 ) f (x i 3 )
f (x i ) = O(h)
Frmulas de diferencias h3
divididas finitas hacia atrs: 5f (x i ) 18f (x i 1) + 24f (x i 2 ) 14f (x i 3 ) + 3f (x i 4 )
f (x i ) = O(h2)
se presentan dos versiones 2h3
para cada derivada. La Cuarta derivada
ltima versin emplea ms
f (x i ) 4f (x i 1) + 6f (x i 2 ) 4f (x i 3 ) + f (x i 4 )
trminos de la expansin f (x i ) = O(h)
de la serie de Taylor y, h4
en consecuencia, es ms 3f (x i ) 14f (x i 1) + 26f (x i 2 ) 24f (x i 3 ) + 11f (x i 4 ) 2f (x i 5 )
f (x i ) = O(h2)
exacta. h4

FIGURA 23.3 Primera derivada Error


Frmulas de diferencias
divididas finitas centradas: f (x i +1) f (x i 1)
f ( x i ) = O(h2)
se presentan dos versiones 2h
para cada derivada. La f (x i +2 ) + 8f (x i +1) 8f (x i 1) + f (x i 2 )
f ( x i ) = O(h4)
ltima versin emplea ms 12h
trminos de la expansin Segunda derivada
de la serie de Taylor y,
f (x i +1) 2f (x i ) + f (x i 1)
en consecuencia, es ms f (x i ) = O(h2)
exacta. h2
f (x i +2 ) + 16f (x i +1) 30f (x i ) + 16f (x i 1) f (x i 2 )
f (x i ) = O(h4)
12h2
Tercera derivada
f (x i +2 ) 2f (x i +1) + 2f (x i 1) f (x i 2 )
f (x i ) = O(h2)
2h 3
f (x i +3 ) + 8f (x i +2 ) 13f (x i +1) + 13f (x i 1) 8f (x i 2 ) + f (x i 3 )
f (x i ) = O(h4)
8h 3

Cuarta derivada

f (x i +2 ) 4f (x i +1) + 6f (x i ) 4f (x i 1) + f (x i 2 )
f (x i ) = O(h2)
h4
f (x i +3 ) + 12f (x i +2 ) + 39f (x i +1) + 56f (x i ) 39f (x i 1) + 12f (x i 2 ) + f (x i 3 )
f (x i ) = O(h4)
6h 4
23.1 FRMULAS DE DIFERENCIACIN CON ALTA EXACTITUD 671

EJEMPLO 23.1 Frmulas de diferenciacin con alta exactitud

Planteamiento del problema. Recuerde que en el ejemplo 4.4 estimamos la derivada


de
f(x) = 0.1x4 0.15x3 0.5x2 0.25x + 1.2
en x = 0.5 usando diferencias divididas finitas y un tamao de paso: h = 0.25,

Hacia adelante Hacia atrs Centrada


O (h) O (h) O (h2)

Estimacin 1.155 0.714 0.934


et (%) 26.5 21.7 2.4

donde los errores fueron calculados basndose en el valor verdadero: 0.9125. Repita
este clculo, pero ahora emplee las frmulas con alta exactitud a partir de las figuras
23.1 a 23.3.

Solucin. Los datos necesarios para este ejemplo son

xi2 = 0 f(xi2) = 1.2


xi1 = 0.25 f(xi1) = 1.103516
xi = 0.5 f(xi) = 0.925
xi+1 = 0.75 f(xi+1) = 0.6363281
xi+2 = 1 f(xi+2) = 0.2

La diferencia hacia adelante de exactitud O(h2) se calcula como sigue (figura 23.1):

0.2 + 4(0.6363281) 3(0.925)


f (0.5) = = 0.859375 t = 5.82%
2(0.25)

La diferencia hacia atrs de exactitud O(h2) se calcula como (figura 23.2):

3(0.925) 4(1.035156) + 1.2


f (0.5) = = 0.878125 t = 3.77%
2(0.25)

La diferencia centrada de exactitud O(h4) se calcula como (figura 23.3):

0.2 + 8(0.6363281) 8(1.035156) + 1.2


f (0.5) = = 0.9125 t = 0%
12(0.25)

Como se esperaba, los errores para las diferencias hacia adelante y hacia atrs son
considerablemente menores y los resultados ms exactos que los del ejemplo 4.4. Sin
embargo, de manera sorprendente, la diferencia centrada da un resultado perfecto. Esto
es porque las frmulas se basan en la serie de Taylor, y son equivalentes a polinomios
que pasan a travs de los puntos.
672 DIFERENCIACIN NUMRICA

23.2 EXTRAPOLACIN DE RICHARDSON

Hasta aqu hemos visto que hay dos formas para mejorar la estimacin obtenida al em-
plear diferencias divididas finitas: 1. disminuir el tamao de paso o 2. usar una frmula
de grado superior que emplee ms puntos. Un tercer procedimiento, basado en la extra-
polacin de Richardson, utiliza dos estimaciones de la derivada para calcular una terce-
ra aproximacin ms exacta.
Recuerde de la seccin 22.1.1 que la extrapolacin de Richardson constituye un
medio para obtener una mejor estimacin de la integral I por medio de la frmula [ecua-
cin (22.4)]
1
I I (h2 ) + [ I (h2 ) I (h1 )] (23.6)
(h1 / h2 ) 2 1

donde I(h1) e I(h2) son estimaciones de la integral obtenidas usando dos tamaos de paso,
h1 y h2. Debido a su conveniencia cuando se expresa como un algoritmo computacional,
esta frmula usualmente se escribe para el caso en que h2 = h1/2, como
4 1
I I(h2) I(h1) (23.7)
3 3
De manera similar, la ecuacin (23.7) se escribir para las derivadas como
4 1
D D(h2) D(h1) (23.8)
3 3
Para aproximaciones por diferencia centrada con O(h2), la aplicacin de esta frmula
dar una nueva estimacin de la derivada de O(h4).

EJEMPLO 23.2 Extrapolacin de Richardson

Planteamiento del problema. Utilizando la misma funcin que en el ejemplo 23.1,


estime la primera derivada en x = 0.5 empleando tamaos de paso h1 = 0.5 y h2 = 0.25.
Despus, con la ecuacin (23.8) calcule una mejor estimacin con la extrapolacin de
Richardson. Recuerde que el valor verdadero es 0.9125.

Solucin. Las estimaciones de la primera derivada se calculan con diferencias centra-


das como sigue:
0.2 1.2
D(0.5) = = 1.0 et = 9.6%
1
y
0.6363281 1.103516
D(0.25) = = 0.934375 et = 2.4%
0.5
Se determina una mejor estimacin aplicando la ecuacin (23.8) al obtener
4 1
D= ( 0.934375) ( 1) = 0.9125
3 3
que, en este caso, es un resultado perfecto.
23.3 DERIVADAS DE DATOS IRREGULARMENTE ESPACIADOS 673

El ejemplo anterior dio un resultado perfecto debido a que la funcin analizada era
un polinomio de cuarto grado. El resultado perfecto se debi al hecho de que la extra-
polacin de Richardson, en realidad, es equivalente a ajustar un polinomio de grado
superior a los datos y despus evaluar las derivadas con diferencias divididas centradas.
As, este caso concuerda, precisamente, con la derivada del polinomio de cuarto grado.
Para las otras funciones que no son polinomios, por supuesto, esto no ocurrir y nuestra
estimacin de la derivada ser mejor, pero no perfecta. En consecuencia, como en el caso
de la aplicacin de la extrapolacin de Richardson, el procedimiento puede aplicarse de
manera iterativa usando un algoritmo de Romberg, hasta que el resultado se halle por
debajo de un criterio de error aceptable.

23.3 DERIVADAS DE DATOS IRREGULARMENTE ESPACIADOS

Los procedimientos analizados hasta ahora se disearon principalmente para determinar


la derivada de una funcin dada. Para las aproximaciones por diferencias divididas fi-
nitas de la seccin 23.1, los datos deben estar igualmente espaciados. Para la tcnica de
extrapolacin de Richardson de la seccin 23.2, los datos deben estar igualmente espa-
ciados y generados por sucesivas divisiones a la mitad de los intervalos. Para tener un
buen control del espaciamiento de datos, con frecuencia, slo es posible cuando se uti-
liza una funcin para generar la tabla de valores.
Sin embargo, la informacin emprica (es decir, datos a partir de experimentos o de
estudios de campo) con frecuencia se obtiene a intervalos desiguales. Tal informacin
no puede analizarse con las tcnicas estudiadas hasta aqu.
Una manera de emplear datos irregularmente espaciados consiste en ajustar un
polinomio de interpolacin de Lagrange de segundo grado [recuerde la ecuacin (18.23)]
a cada conjunto de tres puntos adyacentes. Recuerde que estos polinomios no requieren
que los puntos estn igualmente espaciados. Si se deriva analticamente el polinomio de
segundo grado se obtiene
2 x xi xi +1 2 x xi 1 xi +1
f ( x ) = f ( xi 1 ) + f ( xi )
( xi 1 xi )( xi 1 xi +1 ) ( xi xi 1 )( xi xi +1 )
2 x xi 1 xi
+ f ( xi +1 ) (23.9)
( xi +1 xi 1 )( xi +1 xi )
donde x es el valor en el cual se quiere estimar la derivada. Aunque esta ecuacin es ms
complicada que las aproximaciones de la primera derivada de las figuras 23.1 a 23.3,
tiene importantes ventajas. Primero, sirve para estimar la derivada en cualquier punto
dentro de un intervalo determinado por los tres puntos. Segundo, los puntos no tienen
que estar igualmente espaciados y tercero, la estimacin de la derivada tiene la misma
exactitud que la diferencia centrada [ecuacin (4.22)]. De hecho, con puntos igualmen-
te espaciados, la ecuacin (23.9) evaluada en x = xi se reduce a la ecuacin (4.22).

EJEMPLO 23.3 Diferenciacin de datos irregularmente espaciados

Planteamiento del problema. Como se muestra en la figura 23.4, un gradiente de


temperatura puede medirse abajo del suelo. El flujo de calor en la interfaz suelo-aire
puede calcularse mediante la ley de Fourier,
674 DIFERENCIACIN NUMRICA

Aire 10 12 13.5 T(C)


Suelo
1.25

3.75

z, cm

FIGURA 23.4
Temperatura contra la profundidad bajo el suelo.

dT
q( z = 0) = kC
dz z=0

donde q = flujo de calor (W/m2), k = coeficiente de difusividad trmica en el suelo ( 3.5


10 7 m2/s), r = densidad del suelo ( 1 800 kg/m3) y C = calor especfico del suelo
( 840 J/(kg C)). Observe que un valor positivo del flujo indica que el calor se transfie-
re del aire al suelo. Utilice diferenciacin numrica para evaluar el gradiente en la interfaz
suelo-aire y emplee dicha estimacin para determinar el flujo de calor bajo el suelo.

Solucin. La ecuacin (23.9) se utiliza para calcular la derivada como sigue


2(0) 1.25 3.75 2(0) 0 3.75
f ( x ) = 13.5 + 12
(0 1.25)(0 3.75) (1.25 0)(1.25 3.75)
2(0) 0 1.25
+10
(3.75 0)(3.75 1.25)
= 14.4 + 14.4 1.333333 = 1.333333C/cm
que al ser sustituida se obtiene (advierta que 1 W = 1 J/s),

m2 kg J C
q(z = 0) = 3.5 107 1 800 3 840 133.3333
s m kg C m
= 70.56 W/m2

23.4 DERIVADAS E INTEGRALES PARA DATOS CON ERRORES

Adems de tener espaciados irregulares, otro problema en la diferenciacin de datos


empricos es que generalmente se presentan errores de medicin. Una desventaja de la
23.4 DERIVADAS E INTEGRALES PARA DATOS CON ERRORES 675

diferenciacin numrica es que tiende a amplificar los errores de los datos. La figura
23.5a muestra datos uniformes sin errores, que al diferenciarse numricamente producen
un resultado adecuado (figura 23.5c). En cambio, la figura 23.5b usa los mismos datos,
pero con algunos puntos ligeramente por arriba y otros por abajo. Esta peque-
a modificacin es apenas notoria en la figura 23.5b. Sin embargo, el efecto resultante
en la figura 23.5d es significativo, ya que el proceso de diferenciacin amplifica los
errores.
Como era de esperarse, el principal procedimiento para determinar derivadas de
datos imprecisos consiste en usar regresin por mnimos cuadrados, para ajustar una
funcin suave y diferenciable a los datos. Si no se tiene alguna otra informacin, una
regresin polinomial de grado inferior podra ser una buena eleccin. Obviamente, si se
conoce la verdadera relacin funcional entre las variables dependiente e independiente,
esta relacin deber ser la base para el ajuste por mnimos cuadrados.

23.4.1 Diferenciacin versus integracin de datos inciertos

As como las tcnicas para el ajuste de curvas, como la regresin, se utilizan para dife-
renciar datos inciertos, se emplea un proceso similar para la integracin. No obstante,
debido a la diferencia en estabilidad entre diferenciacin e integracin, esto rara vez se
hace.
Como se ilustr en la figura 23.5, la diferenciacin tiende a ser inestable; es decir,
amplifica los errores. En cambio, el hecho de que la integracin sea un proceso de suma

FIGURA 23.5
Ilustracin de cmo los
y y
pequeos errores en
los datos se amplifican
mediante la diferencicin
numrica: a) datos sin
error, b) datos modificados
ligeramente, c) resultado de
la diferenciacin numrica t t
que se obtiene de la curva
Diferenciando

Diferenciando

a) b)
a), y d) la diferenciacin
resultante de la curva b) que
manifiesta un aumento en
la variabilidad. En cambio,
la operacin inversa de dy dy
integracin [movindose de dt dt
d) a b) y tomando el rea
bajo d)] tienden a suavizar
o atenuar los errores en los
datos.

t t
c) d)
676 DIFERENCIACIN NUMRICA

tiende a hacerlo muy estable respecto a datos inciertos. En esencia, conforme los puntos
se suman para formar una integral, los errores aleatorios positivos y negativos tienden
a compensarse. En cambio, debido a que la diferenciacin es sustractiva, los errores
aleatorios positivos y negativos tienden a sumarse.

23.5 INTEGRACIN/DIFERENCIACIN NUMRICAS


CON BIBLIOTECAS Y PAQUETES DE SOFTWARE

Las bibliotecas y los paquetes de software tienen muchas capacidades para la integracin
y la diferenciacin numrica. En esta seccin le daremos una muestra de algunas de las
ms tiles.

23.5.1 MATLAB

MATLAB tiene varias funciones prediseadas que permiten integrar y diferenciar fun-
ciones y datos. El siguiente ejemplo ilustra cmo se utilizan algunas de ellas.

EJEMPLO 23.4 Uso de MATLAB para integracin y diferenciacin


Planteamiento del problema. Explore cmo se utiliza MATLAB para integrar y
diferenciar la funcin

f(x) = 0.2 + 25x 200x2 + 675x3 900x4 + 400x5

desde a = 0 hasta b = 0.8. De los captulos 21 y 22 recuerde que el valor verdadero de la


integral analticamente se determina igual a 1.640533.
Solucin. Primero, usaremos la funcin quad del MATLAB para integrar la funcin.
Para usar quad, primero desarrollamos un archivo M que contendr la funcin. Con un
editor de textos creamos el siguiente archivo:
function y=fx(x)
y=0.2+25*x200*x.^2+675*x.^3900*x.^4+400*x.^5;

ste se guarda en el directorio de MATLAB como fx.m.


Despus de entrar a MATLAB, llamamos a quad tecleando
>> Q=quad(fx,0,.8)

donde la segunda y tercera entradas son los lmites de integracin. El resultado es


Q=
1.6405

As, MATLAB proporciona una estimacin exacta de la integral.


Ahora investiguemos cmo se manipula en MATLAB las integrales de datos tabu-
lados. Para ello, repetiremos el ejemplo 21.7, donde muestreamos la funcin en diferen-
tes intervalos (recuerde la tabla 21.3). Es posible generar la misma informacin en
MATLAB definiendo primero los valores de la variable independiente,
>> x=[0 .12 .22 .32 .36 .4 .44 .54 .64 .7 .8];
23.5 INTEGRACIN/DIFERENCIACIN NUMRICAS CON BIBLIOTECAS 677

Despus, se genera un vector y que contiene los valores correspondientes de la variable


dependiente llamando a fx,

>> y=fx(x)
y =
Columns 1 through 7
0.2000 1.3097 1.3052 1.7434 2.0749 2.4560
2.8430
Columns 8 through 11
3.5073 3.1819 2.3630 0.2320

Se integran estos valores llamando a la funcin trapz,

>> integral=trapz(x,y)

integral =
1.5948

Como su nombre lo indica, trapz aplica la regla del trapecio a cada intervalo y suma los
resultados para obtener la integral total.
Por ltimo, se diferencian los datos irregularmente espaciados en x y y. Para ello se
utiliza la funcin diff, que slo determina las diferencias entre los elementos adyacentes
de un vector, por ejemplo,

>> diff(x)

ans =
Columns 1 through 7
0.1200 0.1000 0.1000 0.0400 0.0400 0.0400
0.1000
Columns 8 through 10
0.1000 0.0600 0.1000

El resultado representa las diferencias entre cada par de elementos de x. Para calcular
aproximaciones por diferencias divididas de la derivada, slo realizamos una divisin
vectorial de las diferencias de y entre las diferencias de x tecleando

>> d=diff(y)./diff(x)

que da

d =
Columns 1 through 7
9.2477 0.0449 4.3815 8.2877 9.5274 9.6746
6.6431
Columns 8 through 10
3.2537 13.6488 21.3100

stas representan estimaciones burdas de las derivadas en cada intervalo. Tal procedi-
miento se detallar utilizando espaciamientos ms finos.
678 DIFERENCIACIN NUMRICA

23.5.3 IMSL

IMSL tiene varias rutinas para la integracin y la diferenciacin (tabla 23.1). En el presen-
te anlisis, nos concentraremos en la rutina QDAG. Dicha rutina integra una funcin por
medio de un esquema globalmente adaptable basado en las reglas de Gauss-Kronrod.
QDAG se implementa con la siguiente declaracin CALL:
CALL QDAG (F, A, B, ERRABS, ERRREL, IRULE, RESULT, ERREST)

donde

F = Funcin que introduce el usuario para que sea integrada. La forma es F(X),
donde X es la variable independiente. Observe que F se debe declarar como
EXTERNAL en el programa principal.
A = Lmite inferior de integracin. (Entrada)
B = Lmite superior de integracin. (Entrada)
ERRABS = Exactitud absoluta deseada. (Entrada)
ERRREL = Exactitud relativa deseada. (Entrada)
IRULE = Seleccin de la regla de cuadratura. (Entrada). IRULE = 2 se recomienda
para la mayora de las funciones. Si la funcin tiene una singularidad, use
IRULE = 1; si la funcin es oscilatoria, IRULE = 6.

TABLA 23.1 Rutinas IMSL para integrar y diferenciar.

Categora Rutinas Capacidad

Cuadratura
univariada
QDAGS Adaptativa de propsito general con singularidad en puntos extremos
QDAG Adaptativa de propsito general
QDAGP Adaptativa de propsito general con puntos de singularidad
QDAGI Adaptativa de propsito general con intervalos infinitos
QDAWO Adaptativa con oscilacin ponderada (trigonomtrica)
QDAWF Adaptativa de Fourier ponderada (trigonomtrica)
QDAWS Adaptativa algebraica ponderada con singularidad en puntos extremos
QDAWC Adaptativa de Cauchy ponderada con valor principal
QDNG No adaptiva de propsito general
Cuadratura
multidimensional
TWODQ Cuadratura bidimensional (integral iterada)
QAND Adaptativa cuadratura N-dimensional sobre un hiperrectngulo
Reglas de Gauss
y recurrencias de
tres trminos
GQRUL Regla de cuadratura de Gauss para pesos clsicos
GQRCF Regla de cuadratura de Gauss a partir de coeficientes de recurrencia
RECCF Coeficientes de recurrencia para pesos clsicos
RECQR Coeficientes de recurrencia a partir de la regla de cuadratura
FQRUL Regla de cuadratura de Fejer
Diferenciacin
DERIV Aproximacin a la primera, segunda o tercera derivadas
PROBLEMAS 679

RESULT = Estimacin de la integral de A a B de F (Salida)


ERREST = Estimacin del valor absoluto del error. (Salida)

EJEMPLO 23.5 Uso de IMSL para integrar una funcin

Planteamiento del problema. Utilice QDAG para determinar la integral de

f(x) = 0.2 + 25x 200x2 + 675x3 900x4 + 400x5

desde a = 0 hasta b = 0.8. De los captulos 21 y 22 recuerde que el valor exacto de la


integral analticamente se determina igual a 1.640533.

Solucin. Un ejemplo del programa principal en Fortran 90 y de una funcin usando


QDAG para resolver este problema se describir como sigue

PROGRAM Integrate

USE mimsl

IMPLICIT NONE
INTEGER::irule=1
REAL::a=0.,b=0.8,errabs=0.0.errrel=0.001
REAL::errest,res,f
EXTERNAL f

CALL QDAG (f,a,errabs,errrel,irule,res,errest)

PRINT ( Computed =,F8.4), res


PRINT ( Error estimate =,1PE10.3), errest

END PROGRAM

FUNCTION f(x)
IMPLICIT NONE
REAL::x,f
f=0.2+25.*X200.*X**2+675.*X**3.900.*X**4+400.*X**5
END FUNCTION

Output:

Computed = 1.6405
Error estimate = 5.000E05

PROBLEMAS

23.1 Calcule las aproximaciones por diferencias hacia delante 23.2 Repita el problema 23.1, pero para y = log x evaluada en x
y hacia atrs, de O(h) y O(h2), y aproximaciones por diferencia = 25 con h = 2.
central de O(h2) y O(h4) para la primera derivada de y = cos x, 23.3 Use aproximaciones por diferencias centradas para estimar las
en x = p/4, con el uso de un valor de h = p/12. Estime el error derivadas primera y segunda de y = ex en x = 2 para h = 0.1. Emplee
relativo porcentual verdadero et para cada aproximacin. las dos frmulas de O(h2) y O(h4) para hacer sus estimaciones.
680 DIFERENCIACIN NUMRICA

23.4 Emplee la extrapolacin de Richardson para estimar la gm t


c 0
primera derivada de y = cos x en x = p/4, con el uso de tamaos d (t ) = (1 e ( c / m ) t ) dt (P23.12b)
de paso de h1 = p/3 y h2 = p/6. Utilice diferencias centradas de
Dadas g = 9.81, m = 70 y c = 12,
O(h2) para las estimaciones iniciales.
a) Use MATLAB para integrar la ecuacin (P23.12a), de t =
23.5 Repita el problema 23.4, pero para la primera derivada de
0 a 10.
ln x en x = 5, con h1 = 2 y h2 = 1.
b) Integre la ecuacin (P23.12b) en forma analtica, con la
23.6 Emplee la ecuacin (23.9) para determinar la primera de-
condicin inicial de que d = 0 y t = 0. Evale el resultado
rivada de y = 2x4 6x3 12x 8 en x = 0, con base en los valores
en t = 10 para confirmar el inciso a).
de x0 = -0.5, x1 = 1 y x2 = 2. Compare este resultado con el valor
c) Emplee MATLAB para diferenciar la ecuacin (P23.12a)
verdadero y con una estimacin obtenida con el uso de una
en t = 10.
aproximacin por diferencias centradas con base en h = 1.
d) Diferencie en forma analtica la ecuacin (P23.12a) en t =
23.7 Demuestre que para puntos de datos equidistantes, la ecua-
10 para confirmar el inciso c).
cin (23.9) se reduce a la ecuacin (4.22) en x = xi.
23.13 La distribucin normal se define como
23.8 Calcule las aproximaciones por diferencia central de primer
1 x2 /2
orden de O(h4) para cada una de las funciones siguientes en la f ( x) = e
ubicacin y con el tamao de paso que se especifica: 2
a) Utilice MATLAB para integrar esta funcin de x = 1 a 1,
a) y = x3 + 4x 15 en x = 0, h = 0.25 y de 2 a 2.
b) y = x2 + cos x en x = 0.4, h = 0.1 b) Use MATLAB para determinar los puntos de inflexin de
c) y = tan (x/3) en x = 3, h = 0.5 esta funcin.
d) y = sen (0.5 x )/x en x = 1, h = 0.2 23.14 Los datos siguientes se generaron a partir de la distribucin
e) y = ex + x en x = 2, h = 0.2 normal:

x 2 1.5 1 0.5 0 0.5 1 1.5 2


f (x) 0.05399 0.12952 0.24197 0.35207 0.39894 0.35207 0.24197 0.12952 0.5399

Compare sus resultados con las soluciones analticas. a) Utilice MATLAB para integrar estos datos de x = 1 a 1 y
23.9 Para un cohete, se recabaron los datos siguientes de la 2 a 2, con la funcin trap.
distancia recorrida versus el tiempo: b) Emplee MATLAB para estimar los puntos de inflexin de
estos datos.
t, s 0 25 50 75 100 125
23.15 Emplee IMSL para integrar la distribucin normal (vase
y, km 0 32 58 78 92 100 el problema 23.13) de x = 1 a 1, de 2 a 2, y de 3 a 3.
23.16 Escriba un programa en MATLAB para integrar
Use diferenciacin numrica para estimar la velocidad y acele-
/2
racin del cohete en cada momento.
23.10 Desarrolle un programa amigable para el usuario a fin de
0
cos(cos x ) dx

aplicar el algoritmo de Romberg para estimar la derivada de una 23.17 Escriba un programa en MATLAB que integre
funcin dada. 2/ sen t

23.11 Desarrolle un programa amigable para el usuario, que 0 t dt


obtenga estimaciones de la primera derivada para datos irregu- con el uso de las funciones quad y quadL. Para aprender ms
larmente espaciados. Prubelo con los datos siguientes: acerca de quadL, escriba
x 1 1.5 1.6 2.5 3.5
help quadL
f (x) 0.6767 0.3734 0.3261 0.08422 0.01596
en la barra de MATLAB.
donde f(x) = 5e2xx. Compare sus resultados con las derivadas 23.18 Use el comando diff(y) en MATLAB y calcule la aproxi-
verdaderas. macin por diferencia finita de la primera y segunda derivadas
23.12 Recuerde que para el problema del paracaidista que des- en cada valor de x de los que se muestran en la siguiente tabla,
ciende, la velocidad est dada por excepto los dos puntos extremos. Use aproximaciones por dife-
rencias finitas que sean correctas en el segundo orden, O(x2).
gm
v(t ) =
c
(1 e (c / m )t ) (P23.12a)
x 0 1 2 3 4 5 6 7 8 9 10
y la distancia recorrida se obtiene con y 1.4 2.1 3.3 4.5 6.8 6.6 8.6 7.5 8.9 10.9 10
PROBLEMAS 681

     
23.19 El objetivo de este problema es comparar las aproxima- v = re r + r e y a = (r r 2 )e r + (r + 2r ) e
ciones por diferencias finitas de segundo orden exactas hacia
delante, atrs y centradas, de la primera derivada de una funcin 23.23 Desarrolle un programa de macros en Excel VBA para
con el valor real de la derivada. Esto se har para leer en columnas adyacentes de una hoja de clculo los valores
de x y y. Evale las derivadas en cada punto con el uso de la
f(x) = e2x x ecuacin 23.9, y muestre los resultados en una tercera columna
que se construya en la hoja, adyacente a las de los valores x y y.
a) Use el clculo para determinar el valor correcto de la deri-
Pruebe su programa aplicndolo para evaluar las velocidades
vada en x = 2.
para los valores tiempo-posicin del problema 23.21.
b) Para evaluar las aproximaciones por diferencias finitas cen-
23.24 Use regresin para estimar la aceleracin en cada momen-
tradas, comience con x = 0.5. As, para la primera evaluacin,
to para los datos siguientes con polinomios de segundo, tercero
los valores de x para la aproximacin por diferencias cen-
y cuarto orden. Grafique los resultados.
tradas ser x = 2 0.5 o x = 1.5 y 2.5. Entonces, disminuya
en pasos de 0.01 hacia abajo hasta un valor mnimo de x t 1 2 3.25 4.5 6 7 8 8.5 9.3 10
= 0.01. v 10 12 11 14 17 16 12 14 14 10
c) Repita el inciso b) para las diferencias de segundo orden
hacia delante y hacia atrs. (Observe que esto se puede hacer 23.25 Usted tiene que medir la tasa de flujo de agua a travs de
al mismo tiempo que la diferencia centrada se calcula en el un tubo pequeo. Para ello, coloque una boquilla en la salida del
lazo.) tubo y mida el volumen a travs de ella como funcin del tiempo,
d) Grafique los resultados de b) y c) versus x. Para efectos de segn se ha tabulado a continuacin. Estime la tasa de flujo en
comparacin, incluya el resultado exacto en la grfica. t = 7 s.
23.20 Use una expansin en series de Taylor para obtener una
Tiempo, s 0 1 5 8
aproximacin a la tercera derivada que tenga una exactitud de
segundo orden, por diferencias finitas centradas. Para hacer esto, Volumen, cm3 0 1 8 16.4
tendr que usar cuatro expansiones diferentes para los puntos
xi-2, xi-1, xi+1 y xi+2. En cada caso, la expansin ser alrededor del 23.26 Se mide la velocidad v (m/s) del aire que fluye por una
superficie plana a distintas distancias, y (m) de la superficie. De-
punto xi. El intervalo x se usar en cada caso de i 1 e i + 1, y
termine el esfuerzo cortante t (N/m2) en la superficie (y = 0).
2x se emplear en cada caso de i 2 e i + 2. Las cuatro ecua-
ciones deben combinarse en forma que se elimine las derivadas dv
=
primera y segunda. Utilice suficientes trminos en cada expansin dy
para evaluar el primer trmino que se truncar a fin de determi- Suponga un valor de viscosidad dinmica = 1.8 105 N s/m2.
nar el orden de la aproximacin.
23.21 Use los datos siguientes para encontrar la velocidad y y, m 0 0.002 0.006 0.0012 0.018 0.024
aceleracin en t = 10 segundos: v, m/s 0 0.287 0.899 1.915 3.048 4.299

Tiempo, t, s 0 2 4 6 8 10 12 14 16 23.27 Es frecuente que las reacciones qumicas sigan este modelo:
Posicin, x, m 0 0.7 1.8 3.4 5.1 6.3 7.3 8.0 8.4 dc
= kc n
dt
Emplee los mtodos de diferencias finitas correctas de segundo
orden a) centradas, b) hacia delante, c) hacia atrs. donde c = concentracin, t = tiempo, k = tasa de reaccin, y
23.22 Un avin es seguido por radar, y se toman datos cada n = orden de reaccin. Es posible evaluar valores dados de c
segundo en coordenadas polares q y r. y dc/dt, k y n, por medio de regresin lineal del logaritmo de
esta ecuacin:
t, s 200 202 204 206 208 210
log = log k + n log c
dc
q, (rad) 0.75 0.72 0.70 0.68 0.67 0.66 dt
r, m 5 120 5 370 5 560 5 800 6 030 6 240 Use este enfoque y los datos que siguen para estimar los valores
de k y n:
A los 206 segundos, utilice diferencias finitas centradas (correc-
tas de segundo orden) para encontrar las expresiones vectoriales t 10 20 30 40 50 60

para la velocidad u , y aceleracin a . La velocidad y aceleracin c 3.52 2.48 1.75 1.23 0.87 0.61
en coordenadas polares son:

You might also like