Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1.5 Integración numérica
El cálculo numérico de las integrales es una de más importantes operaciones matemáticas en los algoritmos computacionales
para analizar los modelos matemáticos en casi áreas de Física Computacional. En diferentes aplicaciones de la Mecánica Cuántica,
Física Estadística, Estado Sólido, Física Atómica y Nuclear (método Harreé-Fock; teoría de perturbaciones, método variacional, Monte-
Carlo, etc.) el cálculo de las integrales es una operación que define el gasto de tiempo. Por eso, los algoritmos para calcular las integrales
deben ser universales y máximamente rápidos que garantizan la precisión sugerida. A diferencia de operaciones de la interpolación y
la derivación numérica el problema de integración numérica es bien puesto. Sin embargo, en muchos casos cuando la función
subintegral tiene singularidades el problema de control automático de los errores de cálculo sugiere la elaboración de unos algoritmos
especiales que se llaman autoadaptables. Actualmente, existe una gran cantidad de algoritmos y programas que permiten realizar el
cálculo de las integrales con la precisión sugerida en una forma automática, el usuario solo tiene definir la función subintegral, la región
de la integración y tolerancia. Pero teniendo en diferentes bibliotecas, una variedad de algoritmos y programas siempre surge la pregunta
¿Cuál es la diferencia en los algoritmos y cómo escoger un programa para que éste garantiza la tolerancia sugerida en el tiempo óptimo?
Existen dos maneras para aumentar la precisión de cálculo de las integrales. La primera, aumentando el número de pasos, en
los cuales se calcula la función y de esta manera aumentan sin límites, (especialmente para las integrales multidimensionales), el tiempo
de computación y los errores por redondeo acumulados. Otra posibilidad es aplicar algoritmos autoadaptables. En estos algoritmos, los
tamaños de las subregiones se definen automáticamente: tamaños grandes, donde la función es suave y varia lentamente, y los tamaños
pequeños en las partes donde la función posiblemente cambia su valor bruscamente. De esta manera, se obtiene un resultado con una
precisión sugerida durante un tiempo mínimo posible de computación. El primer programa autoadaptable, para calcular integrales
unidimensionales fue publicado en 1962 y empleó la fórmula de cuadratura de Simpson. Este programa y sus modificaciones tuvieron
éxitos en la práctica y fueron incorporados en diferente software (Matlab, Matemática, etc.). El usuario de estos programas define un
intervalo [a, b], prepara el subprograma para calcular la función ( )f x en cualquier punto de este intervalo y escoge , la precisión
deseada. El programa trata de encontrar el valor aproximado de la integral I, para el cual se cumple la siguiente relación,
( )b
a
I dxg x − usando un tiempo mínimo. El programa puede concluir, que la precisión deseada es imposible y encontrar su mejor
valor posible y comunicar la precisión alcanzada. La precisión alcanzada y el tiempo de computación de un programa autoadaptable
dependen de las fórmulas de cuadraturas que se utilicen en el programa. Hay dos tipos de fórmulas de cuadraturas, para calcular
integrales unidimensionales: Un algoritmo utiliza la red con nodos equidistantes (Newton-Cotes) y otro la red de nodos no equidistantes
(Gauss). Un método alternativo llamado Monte-Carlo se usa para calcular las integrales multidimensionales en espacios con dimensión
mayor o igual a 4, las cuales se calculan como un producto del volumen de un hiperrectángulo y un valor promedio de la función
subintegral calculado sobre un conjunto de puntos, creados a través de un generador de números aleatorios. Este método en el caso de
integrales multidimensionales tiene varias ventajas en comparación con los algoritmos que utilizan las fórmulas de cuadraturas y en
primer lugar debido al hecho de que el error del método y el tiempo de cálculo no crecen cuando la dimensión espacial se aumenta.
La integración numérica se usa en dos casos: cuando la primitiva no puede ser obtenida en la forma analítica, y cuando la
función subintegral ( )g x en la integral ( )b
a
I dg x x= está dada en una forma de una tabla. Las fórmulas para el cálculo numérico de
las integrales se llaman las Cuadraturas. Primero, para deducir las fórmulas independientes de los límites de la integral hacemos el
cambio de variables ( )x a b a t= + − :
1
0( ) ( ) ; ( ) ; ( ) ( ( ) )
b
aI g x dx b a I I f t dt f t g a b a t= = − = = + − (1.5.1)
En acuerdo con esta fórmula cualquier integral dentro un intervalo finito se puede reducir al otra integral dentro del Interval (0,1) tipo
1
0( )I f t dt= (1.5.2)
Para encontrar una fórmula de cuadratura correspondiente a la integral (1.5.2) dentro del intervalo [0,1] se utiliza una malla con N+1
nodos 0 0,1 ,1; ,2,kt k N = . En adelante, denotaremos valores de la función en estos nodos de la malla como
( ), 0,1,2, ,k ky f t k N= = . Para calcular integrales unidimensionales tipo (1.5.2) por los métodos numéricos siempre se utiliza la
siguiente fórmula de cuadraturas:
1
01 1
( ) ( ) ( , ) ( , )N N
k k k k
k k
f x dx W f t f N W y f N = =
= + = + (1.5.3)
Aquí kW son los coeficientes, kt son los nodos ( , )f N es el error de la fórmula de la cuadratura, el cual depende del número de nodos
N y de la función ( )f x . Todos métodos numéricos utilizan fórmula (1.1.3) y solo se difieren por el método de la selección de las
posiciones de nodos kt y de los coeficientes. kW . Una opción más simple es elegir los nodos equidistantes con la separación entre los
nodos adyacentes 1/h N= . Las coordenadas de los nodos en este caso son iguales a / , 0,1,2, ,kt k N k N= = . Dados valores en
estos nodos ( ), 0,1,2, ,k ky f t k N= = uno puede en la formula (1.5.3) reemplazar la función subintegral por el polinomio interpolante
de Lagrange o de Newton y calculando analíticamente la integral encontrar los coeficientes Wk. Las fórmulas obtenidas de esta manera
se llaman las fórmulas de Newton-Cotes. Particularmente, usando los polinomios interpolantes segmentarios de los órdenes más bajos
se obtienen las cuadraturas conocidas como las fórmulas de rectángulos, trapecios, y de Simpson.
Otra posibilidad, consiste en elegir los nodos, kt y coeficientes kW de tal manera, que la fórmula (1.5.3) sea exacta, para todos
polinomios hasta orden 2N-1. Para cumplir esta condición los nodos de la malla deben distribuirse dentro del intervalo [0,1] de una
manera irregular. Como ha demostrado Gauss las posiciones de estos nodos coinciden con los ceros de los polinomios de Legendre.
Seleccionando de esta manera las posiciones de la malla en la relación (1.5.3) se obtienen lasd fórmulas llamas de Gauss-Legendre o
Gauss-Hermite o Gauss Laguerre. Finalmente, si las posiciones de los nodos de la malla kt se escogen al azar a travesde un programa
especial, llamada generador de números aleatorios entonces la fórmula (1.5.5.3) se llama la cuadratura Monte Carlo.
1.5.1 Fórmulas de Newton-Cotes
Para caso cuando la malla es equidistante / , 0,1,2, ,kt k N k N= = las fórmulas (1.5.1) - (1.5.3), usando el cambio de variables
( ) / ) (t x a b a= − − pueden escribirse en una forma independientes del intervalo [a, b]
( )1
00
( ) ( ) ( ) ( ) ( , ); ; ; ( ) ( ( ) )N
b
k k k k kak
kg x dx b a f t dt b a W y f N y f t t f t g a b a t
N
=
= − = − + = = = + − (1.5.4)
Aquí ( ) ( ), 0,1,2, ,k ky f t f k N k N= = = son valores de la función subintegral en los nodos de la malla y N es el número de
subdivisiones en el segmento [0,1]. Suponemos en adelante que ya nosotros conocemos todos los valores de la función subintegral ky
en los nodos de la malla. Entonces, podemos reemplazar la función subintegral en la parte izquierda de (1.5,4) por el polinomio
interpolante dado por la fórmula de Lagrange, calcular entonces la integral en una forma analítica y hallar de esta manera los coeficientes
Wk. Según la fórmula de interpolación de Lagrange para un polinomio de orden N, para una función cuyos valores en los nodos
equidistantes son ( ) ( ), 0,1,2, ,k ky f t f k N k N= = = el polinomio interpolante es
( )( ) ( )( ) ( )
( )( ) ( )( ) ( )0 1 1 1
0 1 1 10
... ...( ) ( ) ( , ); ( )
... ...
Nk k N
k k kk k k k k k k Nk
t t t t t t t t t tf t P t y f N P t
t t t t t t t t t t − +
− +=
− − − − −= + =
− − − − − (1.5.5)
Haciendo en la integral 1
0( )f t dt el cambio de variables /t q N= ,y teniendo en cuenta que kt k N= encontramos la expresión final
para los coeficientes de Newton-Cotes kW :en la fórmula (1.54) son iguales a
01
1 ( 1)( )
!( )!
N k NN
k
ii k
W q i dqN k N k
−
=
−= −
− (1.5.6)
Estos coeficientes satisfacen, dos condiciones:0
1N
k
k
W=
= y k N kW W −= . Además, se puede demostrar que el error ( ),f N en la
fórmula (1.4.5) decrece con el aumento del número N de subdivisiones según la relación siguiente
( ) ; 2, 32p
C Nf pN
N
= = +
(1.5.7)
donde 2
N
es la parte entera de la fracción N/2. Anotemos que aquí y en adelante N es el número de segmentos en que se divide el
intervalo de integración y p es el orden del método. Mayor el 0orden del método p, más rápido se disminuye (exponencialmente según
la fórmula (1.5.7) el error del cálculo de la integral con el incremento del número de subintervalos N). En la Tabla 1.5.1, se presentan
los coeficientes normalizados de Cotes, kW y los órdenes p de los métodos correspondientes para diferentes números de nodos N.
Tabla 1.5.1. Parámetros de las fórmulas de Newton-Cotes
N 0W 1W 2W 3W 4W p
1 1/2 1/2 3
2 1/3 4/3 1/3 5
3 1/8 3/8 3/8 1/8 5
4 7/90 32/90 12/90 32/90 7/90 7
a) Fórmula de Trapecios.
Para N=1, la malla tiene solo 2 nodos y solo un segmento con el ancho h b a= − (ver
Fig.1.5.1), y según la ecuación (1.5.6) dos coeficientes de Newton-Cotes para dos nodos
son iguales 1 1
0 10 0( 1) 1/ 2; 1/ 2W q dq W qdq= − − = = =
De aquí tenemos una fórmula de trapecio, para estimación aproximada de la integral
( ) ( )0 12
b
a
fh
dx y yx +
La interpretación de este resultado se ve claramente en la Fig. 1.5.1. Al reemplazar la
función actual por el interpolador lineal, en esta fórmula en la realidad se encuentra área de un trapecio. Esta claro que en este caso el
error del método corresponde al área sombreada en la Fig. 1.5.1
( ) ( ) ( ) ( ) ( )0 1( , )2 2
a h a h
a a
h hf h dx y y dx a a hf x f x f f
+ +
= − + = − + +
Al derivar esta expresión respecto de h se obtiene
( ) ( ) ( ) ( ) ( ) ( ) ( )1 1
( )2 2 2 2
h hh a h a a h a h af h a af f f hf f f = + − + + − + = + − − +
Al desarrollar la expresión en el paréntesis rectangular en la serie de Taylor y conservando los terminos hasta segunda orden, se
obtiene la formula final para el error del método de trapecios:
( ) ( ) ( )2 3
3( ) ( )4 12
h hh a h a Of f h =
En adelante, utilizaremos la fórmula de trapecios para elaborar los algoritmos de cálculo de las integrales en la siguiente forma:
( ) ( ) ( ) ( )3 3 30 1 ;
2
a h
a
hdx y y O h O hx C hf
+
= + + = (1.5.8)
Utilizaremos la fórmula (1.5.8) pata calcular una integral dentro un intervalo
,a b ancho segmentándolo en N subintervalos estrechos y equidistantes de
ancho ( )h b a N= − cada uno. La integral sobre todo intervalo es suma de
las integrales sobre cada subintervalo (ver Fig.1.5.2)
( ) ( ) ( ) ( )
( ) ( )
1
31
1 1
13
0
1
2
2
i
i
xa h N N
i i
i ia x
N
N i
i
hdx dx y y O h
hy y
f x f
h N O h
x
y
−
+
−
= =
−
=
= = + + =
= + + +
Aquí se tiene en cuenta que en la suma inicial los valores de la función en dos nodos extrémales contribuyen solo una vez, mientras
que los nodos contribuyen dos veces cada uno. Además, teniendo en cuenta que
( ) ( ) ( )3 3 2 2 21
b aN O h C h C b a h C h O h
h
− = = − = =
Se obtiene formula de trapecios para un intervalo dividido en N segmentos:
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )1
2 20
1
; ; ; 12
b N
N i i
ia
hdx y y h y h h b a N y f a i h h O h O Nf x
−
=
= + + + = − = + = = (1.5.9)
Las fórmulas (1.5.8) y (1.5.9) ambas son fórmulas de trapecios, pero la primera es local que calcula la integral solo para un
subintervalo y el error de esta formula es de tercera orden ( )3p = respecto h o respecto 1/N. La formula (1.5.9) es global y calcula la
integral por todo intervalo sumando los resultados de todos subintervalos y acumulando los errores locales. Por, esta razón el orden
del error de la fórmula global es inferior es de segunda orden ( )2p = .
En la base de la fórmula (1.5.9) se puede proponer siguiente algoritmo simple en la fórma de pseudocódigo
( )
( )
, , ,
* se calcula la integral de la función desde a hasta b
dividiendo el inervalo , en segmemtos y usandor método de trapecios
Parametrosdeentrada : ( ) func
(
Function Trap fun a b err N
fun x
a b N
fun x
−
( )
ión subintegral. , extremosdeintervalo,
-número de divisiones
Parametro de salida : valor de la integral, err - error edstimado*)
/ ; ( ( ) ( )) / 2;
1, 1 ; ( ) ;
a b
N
Trap
h b a N S fun a fun b
for i N do x a i h S S fun x
Trap h S
−
−
− +
= − + +
2;err h
Algoritmo Trap es primitivo y para lograr una precisión sugerida el usuario puede usarlo solo en una forma interactiva, es decir el
usuario debe definir el número de divisiones y cada vez aumentando el número de divisiones tomar decisión si el resultado satisface la
tolerancia sugerida. Es evidente que en esta interacción computador-usuario el usuario es la parte mucho mas lenta y el algoritmo de
este tipo no es aceptable. Mas adelante discutiremos la manera como se puede automatizar este proceso.
b) Fórmula de Simpson
Con el objetivo de encontrar un método de cálculo de la integral con una precisión
de orden superior consideremos en el marco del método Newton-Cotes aproximación
de la función subintegral mediante de un polinomio interpolante de segunda orden, es
decir en las fórmulas anteriores ponemos N=3 y consideremos la segmentación del
intervalo [a, b] en 2 subintervalos, así como se muestra en Fig.1.5.3. En este caso como
b=a+2h y la malla tiene 3 nodos, entonces según la fórmula (1.5.4
( ) ( )2
0 0 1 1 0 2( ) 2a h
af x dx h W y W y W y h
+= + + +
Aquí los coeficientes de Newton-Cotes según la fórmula (1.5.6) son iguales a: 2 2 2
0 1 20 0 0
1 1 1 8 1 1 1 1 8 2 1 1 1 8 1( 1)( 2) 6 4 ; q( 2) 4 ; q( 1) 2 ;
2 2 4 3 6 2 2 4 3 3 2 2 4 3 6W q q dq W q dq W q dq
= − − = − + = = − = − − = = − = − =
La fórmula de Newton-Cotes en este caso se transforma en la relación llamada la fórmula de SIMPSON
( ) ( )2
0 1 2( ) 43
a h
a
hf x dx y y y h
+= + + + (1.5.10)
Utilizando el método similar al aplicado para la fórmula de trapecios se puede demostrar que el error del método de Simpson es: ( ) ( )
( )5 5 5
5
1( )
90
IVf a
h h O h C h ON
= = =
(1.5.11)
Las fórmulas /1.5.10) y (1.5.11) presentan la cuadratura de Simpson local y esta
cuadratura es de quinta orden sobre una malla de solo tres nodos, Extenderemos
ahora esta fórmula local para calcular una integral dentro un intervalo ,a b
ancho segmentándolo en 2N subintervalos estrechos y equidistantes de ancho
( ) 2h b a N= − cada uno. La integral sobre todo intervalo es suma de las
integrales sobre cada par de subintervalos (ver Fig.1.5.2)
( ) ( ) ( ) ( ) ( ) ( )2
2 2
15 4
2 2 2 1 2 0 2 2 1
1 1 1 1
4 2 43 3
i
i
xb N N N N
i i i N i i
i i i ia x
h hdx dx y y y O h y y y y Of x f x h
−
−
− − −
= = = =
= = + + + = + + + +
(1.5.12)
Aquí se tiene en cuenta que en la suma inicial los valores de la función en dos nodos extrémales contribuyen solo una vez, mientras
que los nodos internos con números pares contribuyen dos veces cada uno y ( ) ( )5 5 4 41
b aN O h C h C h O h
h
− = = =
La fórmula (1.5.12) es global y calcula la integral por todo intervalo sumando los resultados de todos subintervalos y acumulando los
errores locales. Por, esta razón el orden del error de la fórmula global es inferior y es de cuarta orden ( )4p = .
En la base de la fórmula (1.5.12) se puede proponer siguiente algoritmo simple en la fórma de pseudocódigo
( )
( )
, ,
* se calcula la integral de la función desde a hasta b
dividiendo el inervalo , en 2 segmemtos y usando el método de Simpson
Parámetrosdeentrada : ( ) función
(
Function Si mps fun ab N
fun x
a b N
fun x
−
( )
( )
subintegral. , extremosdeintervalo,
2 -número de divisiones
Parametro de salida : valor de la integral*)
/ (2 ); 0 ( ) ( ); 1 0; 2 0;
1, 1 2 ; 1 1 ( ) ;
1, 2 1
a b
N
Simps
h b a N S fun a fun b S S
for i N do x a i h S S fun x
for i N do x a i
−
−
− +
= − + +
= + −
( )
; 2 2 ( )
0 2 1 4 2 3
h S S fun x
Simps h S S S
+
+ +
En conclusión, anotemos que la fórmula de Trapecio según la fórmula (1.5.9) permite calcular los valores de las integrales exactamente
para las funciones lineales, mientras que la fórmula de Simpson, según la relación (1.5.12) es exacta para todos los polinomios hasta la
tercera orden. Se puede también deducir las fórmulas de Newton-Cotes de los órdenes superiores de manera similar utilizando tabla
(1.5.1).
1.5.2 Control de precisión. Fórmula de Runge. Algoritmos auto-adaptivos
En la práctica para calcular la integral en un intervalo [a, b] se divide, en subintervalos equidistantes 1[ ], i ix x + . En los algoritmos
con el control de la precisión automático el número de subintervalos, sus disposiciones y longitudes, se escogen en acuerdo con la forma
de la función ( )f x y de la precisión ( ),f N sugerida. Denotemos a
( )0 1 ; ; - ,N i ix a x b h x x b a N+= = = = − donde N es el número de intervalos. En los algoritmos con
un control de precisión automática se utiliza el método de Runge con un proceso de bisección recursivo,
en el cual la fórmula de cuadraturas, dos veces, una vez para N y otra vez 2N divisiones, escogiendo
primera vez una malla con el paso h y otra vez 2h . Estos dos resultados se denotan, por ( )ihI y ( )
2
i
hI
, respectivamente. Por ejemplo, el algoritmo autoadaptable, para las cuadraturas de trapecios la primera
vez se utiliza la fórmula principal (un subintervalo):
( ) ( ) ( ) ( ) ( ) ( ) ( )1
1
;2 2
Nbi i
i i i i hh hai
h hI f x f x f x f x h I f x dx I+
=
= = + = = + + (1.5.13)
Y la segunda vez una fórmula combinada (dos subintervalos)
( ) ( ) ( ) ( ) ( )
22 21
;4 2 4 2
Nbi i
i i i i hh hai
h h h hI f x f x f x f x h I f x dx I
=
+ +
= + + + + = =
(1.5.14)
Ambas expresiones (1.5.13) y (1.5.14) dan valores aproximados hI y 2hI de la integral
( )b
a
I dx xf= (1.5.15)
La idea principal del método de Runge de control de la precisión consiste en
comparar dos valores aproximados hI y 2hI de la integral exacta I y utilizar el
resultado de la comparación para estimar sus precisiones. Suponemos quelos
valores aproximados hI y 2hI de la integral exacta I se han calculados por medio
de una cuadratura que tiene la precisión de orden p (recordamos que p=2 para el
método de trapecios y p=4 para el método de Simpson). Entonces entre estos tres
valores existen las siguientes relaciones: ( )2; 2pp
h hI I C h I I C h= + = + .
Restando estas dos igualdades se encuentra la constante
( ) ( )22 2 1pp p
h hC I I h= − − y la formula final que relaciona el valor exacto de
la integral con el valor aproximado;
2
2 ;2 1
h h
h p
I II I
−= + =
− (1.5.16)
La relación (1.5.16) permite elaborar un algoritmo de cálculo de la integral con el
control automático.
En Fig.1.5.6 se presenta el diagrama de flujo parta un algoritmo que
calcula la integral con el control automático de la precisión usando la formula
cuadratura de trapecios. El orden del método de trapecios p=2 y por eso en este
algoritmo la fórmula para estimación de error según (1.5.16) es
( )2 3h hI I = − . Los parámetros de entrada en este algoritmo son los
extremos del intervalo de la integración a,b, la función de integral ( )f x y la tolerancia sugerida tol. El cálculo se inicia con un solo
intervalo (N=1) y el resultado del programa Trap (el pseudocódigo ver en el texto anterior) se guarda en la variable Iprev. Después
dentro un bucle el número de intervalos N cada vez se duplica y el nuevo resultado del programa se guarda en la variable Inext. Se
calcula el valor estimado del error err usando la fórmula de Runge (1.5.16) y si este error es mayor que la tolerancia sugerida tol el
proceso dentro el bucle se repitas. Un pseudocódigo del algoritmo correspondiente al diagrama de flujo de Fig.1.5.6 se presenta a
continuación.
( )
_ , , ,
* se calcula la integral de la función desde hasta con la tolerancia
usandor método de trapecios yduplicandosucesivamenteel númerode divi
(
siones
d
Function Trap Automat fun a b tol
fun x a b tol
( )el inervalo , en segmemtos y estimando el error por método Runge
Parametrosdeentrada : ( ) función subintegral. , extremosdeintervalo,
- tolerancia sugerida
Parametro de salida : _ valor de
a b
fun x a b
tol
Trap Automat
− −
−
( )
( ) ( )
la integral con el error menor que *)
1; 2 ; , , , ;
2 ; , , , ;
3;
_
tol
N err tol Iprev Trap fun a b N
While err tol do N N Inext Trap fun a b N
err Inext Iprev Iprev Inext
Trap Automat Inext err
−
+
Un programa similar se puede confeccionar en la base de fórmula de cuadratura de Simpson va a funcionar mucho mas rápido debido a
la mayor orden de precisión que tiene esta cuadratura. Con este fin en el pseudocódigo anterior hay que hacer los siguientes cambios:
1) Reemplazar _Function Trap Automat por _Function Simps Automat ; 2) Reemplazar Trap por Simps ; 3) Reemplazar
3err Inext Iprev − por 15err Inext Iprev − . Este último cambio se debe al hecho que el orden del método Simpson es p=4, y
en este caso 2p-1=15.
1.5.3 Cuadraturas de Gauss (opcional)
Fig.1.5.6
En este parte necesitaremos una información adicional sobre los polinomios ortogonales y particularmente sobre los polinomios de
Legendre. Estos polinomios aparecen cada vez en diferentes áreas de Física (las Mecánicas Clasica y Cuántica, Teoría
Electromagnética, Óptica, Acústica, etc,) en el estudios de las propiedades de sistemas con una simetría esférica. información
también será de mucha utilidad también en el estudio de varios cursos de Física (teoría electromagnética, óptica, mecánica
cuántica, etc.). Polinomios de Legendre además se utilizan en diferentes áreas de Matemáticas, Funciones Especiales, Física
Matemática, Métodos Numéricos, etc.
Apéndice Matemático. Información breve sobre Polinomios de Legendre
Los polinomios de Legendre son las soluciones a las Ecuaciones Diferenciales de Legendre:
1.5.4 Algoritmos Autoadaptables para Fórmulas de Cuadraturas (opcional)
En los algoritmos autoadaptables, a cada subintervalo se le aplica la fórmula de cuadraturas, dos veces, para n y 2n divisiones.
Estos dos resultados se denotan, por In
i y I n
i
2 . Por ejemplo, el algoritmo autoadaptable, para las fórmulas de cuadraturas de Simpson
(Newton-Cotes de orden 3, programa QNC3), utilizan la fórmula principal (dos subintervalos):
Ih
f x f xh
f x hn
i i
i i
i
i i= + +
+ +
64
2( ) ( ) (2.14)
y la fórmula combinada (cuatro subintervalos
Ih
f x f xh
f xh
f xh
f x hn
i i
i i
i
i
i
i
i
i i212
44
22
43
4= + +
+ +
+ +
+ +
( ) ( ) (2.15)
Las expresiones (2.14) y (2.15) dan valores aproximados de la integral
I f x dxi
x
x
i
i
=+
( )1
(2.16)
La idea principal de los algoritmos autoadaptables, consiste en comparar dos aproximaciones In
i y I n
i
2 y estimar sus precisiones. Si
en esta comparación, se encuentra que la precisión es aceptable, entonces uno de estos valores, se toma como el valor de la integral,
dentro del intervalo [xi, xi+1], en caso contrario, el proceso de bisección continúa.
El número total de accesos a la función, se disminuye debido a que las fórmulas (2.14) y (2.15), utilizan los valores de la función en
algunos puntos comunes. Por ejemplo, en el caso de la fórmula de Simpson, los I n
i
2 , necesitan cinco valores de la función, pero tres de
los cuales, se usan también en In
i. Por eso, el tratamiento del nuevo intervalo, necesita solo, dos cálculos adicionales de valores de la
función.
Denotando el valor exacto de la integral I i para cuadraturas de orden p, tenemos:
I Ich
nn
i i i
p= + I I
ch
nn
i i i
pi2
2= +
( ) (2.17)
Excluyendo de estas dos igualdades la constante c desconocida, se obtiene:
( )I I I In
i i
p n
i
n
i
2 2
1
2 1− =
−− (2.18)
es decir, el error de cálculo, I n
i
2 es 2p-1 veces menor, que la diferencia entre las dos aproximaciones sucesivas, In
i y I n
i
2 .
La operación principal de un programa autoadaptable, consiste en la bisección de cada subintervalo, hasta que cumpla la condición
1
2 12p n
i
n
i iI Ih
b a−−
− (2.19)
donde es la precisión deseada y definida por el usuario. Si todos los subintervalos satisfacen la condición (2.19), el programa da el
resultado
I In n
i
i
n
2 2
1
==
,
el cual se puede tomar como el valor de la integral ya que según, (2.18) y (2.19)
( )I f x dx I I I I I Ib a
hna
b
n
i i
i
n
n
i i
i
n
p n
i
n
i
i
n
p
p
i
i
n
2 2
1
2
1
2
1 1
1
2 1
1
2 1
2 1− = − −
−−
−
−
−=
= = = =
( )
Las fórmulas (2.17) permiten calcular la integral con una precisión mayor. Combinando las fórmulas (2.17) con la integral I n
i
2 , después
de excluir c, se obtiene la fórmula
I II I
i n
i n
i
n
i
p= +
−
−2
2
2 1 (2.20)
la cual es llamada Fórmula de Extrapolación de Richardson.
El algoritmo autoadaptable de cálculo, tiene una estructura recursiva en forma de árbol binario. Cada intervalo, se divide en dos partes
y la integral se calcula dos veces: la primera para todo el intervalo y la segunda como suma de dos integrales, para los subintervalos. Si
estos dos valores satisfacen la condición (2.18), entonces el proceso se detiene. En caso contrario, el procedimiento se repite, primero,
para el subintervalo izquierdo y después para el derecho.
La figura 2.1, presenta el funcionamiento típico de un programa autoadaptable, para la función
f xx x
( )( . ) . ( . ) .
=− +
+− +
−1
0 3 0 01
1
0 9 0 046
2 2
dentro del intervalo [0,1]. Al programa se le adicionaron subprogramas para graficar todos los puntos {xi, f(xi)} y {xi, 0}, i = 1, 2, ...,n
en los cuales se calculan los valores de la función para satisfacer la precisión deseada. La función bajo el signo de la integral, tiene un
máximo absoluto en x = 0.3 y otro máximo relativo en x = 0.9. La figura muestra que el programa hace los subintervalos pequeños cerca
a los máximos y grandes, lejos de éstos. Tal comportamiento es típico de todos los programas autoadaptables, los cuales alcanzan la
misma precisión de los no autoadaptables, pero en menos tiempo de computación.
Al final del capítulo presentamos textos de cuatro programas autoadaptables: QNC3, QNC7 y QNC9 para las fórmulas de cuadraturas
de Newton-Cotes con 3, 7 y 9 nodos y GAUS8 con fórmulas de cuadraturas de Gauss con 8 nodos. Los comentarios de los textos
explican su funcionamiento y significado de los parámetros de entrada y de salida. Nosotros realizamos una serie de simulaciones, que
demostraron las ventajas de los programas QNC7 y QNC9, los cuales alcanzan una precisión deseada con un mínimo de accesos al
subprograma. En el capítulo III usamos estos dos programas como base para calcular integrales múltiples.