Upload
karlo-david-quiroz-gordillo
View
215
Download
0
Embed Size (px)
Citation preview
8/18/2019 81620574006
1/8
Industrial Data
ISSN: 1560-9146
Universidad Nacional Mayor de San
Marcos
Perú
Raffo Lecca, Eduardo; Huatuco, Rosmeri Mayta; Perez Quispe, Victor
Algoritmos de integración numérica
Industrial Data, vol. 10, núm. 2, julio-diciembre, 2007, pp. 47-53
Universidad Nacional Mayor de San Marcos
Lima, Perú
Disponible en: http://www.redalyc.org/articulo.oa?id=81620574006
Cómo citar el artículo
Número completo
Más información del artículo
Página de la revista en redalyc.org
Sistema de Información Científica
Red de Revistas Científicas de América Latina, el Caribe, España y Portugal
Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
http://www.redalyc.org/revista.oa?id=816http://www.redalyc.org/articulo.oa?id=81620574006http://www.redalyc.org/comocitar.oa?id=81620574006http://www.redalyc.org/fasciculo.oa?id=816&numero=20574http://www.redalyc.org/articulo.oa?id=81620574006http://www.redalyc.org/revista.oa?id=816http://www.redalyc.org/http://www.redalyc.org/revista.oa?id=816http://www.redalyc.org/articulo.oa?id=81620574006http://www.redalyc.org/fasciculo.oa?id=816&numero=20574http://www.redalyc.org/comocitar.oa?id=81620574006http://www.redalyc.org/articulo.oa?id=81620574006http://www.redalyc.org/revista.oa?id=816http://www.redalyc.org/revista.oa?id=816
8/18/2019 81620574006
2/8
RESUMEN
Palabras clave: Integración numérica,Integración automática, Integraciónadaptativa, recursividad divide y vencerás.
Key words: Numerical Integration, AutomaticIntegration, Adaptive Integration, Divide-and-Conquer Recurrence.
En este artículo se desarrollan eimplementan, los algoritmos de integraciónnumérica, que permiten solucionarproblemas de ciencias e ingeniería; talescomo el cálculo de áreas, volúmenes,mecánica ap l i cada, y ecuac ionesdiferenciales (sistemas dinámicos).
Dada la necesidad de contar conresultados de gran precisión, se analiza lasdiferentes reglas de integración numérica;basadas en los errores que ocurren cuando elintegrando es reemplazado por un polinomiode interpolación P(x), conocida como lasfórmulas de integración de Newton-Cotes. Laregla de la extrapolación de Richardson,puede ser aplicada a cualquier fórmula decuadratura de Newton-Cotes; o cualquiercomputación que se encuentra basada enuna rejilla de ancho h y un error descrito comouna potencia de h.
In this article are developed and implemented,the integration of numerical algorithms, whichallow solve problems in science andengineering, such as the calculation of areas,volumes, applied mechanics, differentialequations (dynamic systems).
Given the need for a high-precision, heexamines the different rules of numericalintegration; based on the errors that occurwhen the integrand is replaced by apolynomial interpolation P (x), known as theformulas of integration Newton - Cotes. Therule of Richardson extrapolation can beapplied to any formula squaring Newton-Cotes, or any computer which is based on agrid of wide h and error described as a powerh.
NUMERIC INTEGRATION, ALGORITHMS
ABSTRACT
INTRODUCCIÓN
La integración numérica o cuadratura numérica, consiste en evaluar laintegral definida
o el equivalente, a resolver I = y(b) en la ecuación diferencial.
con la condición de valor inicial .
Este problema tuvo su origen, antes de la invención del cálculo y hoy,gracias a la computadora, es utilizado para evaluar las integrales queno pueden ser computadas analíticamente; o cuando f(x) es conocidapara un conjunto de puntos ( cuadro 1).
La evaluación de las integrales se denomina cuadratura; desde un viejoproblema en geometría conocido como la cuadratura griega del círculo,por medio de polígonos regulares inscritos y circunscritos; proceso que
le valió a Arquímedes para acotar el valor de [1]. Cuadratura essinónimo de encontrar áreas y volúmenes.
Suponga que f(x) es una función que se encuentra acotada en [a, b]. Aldividir en n subintervalos, se tienen los puntos siguientes:
Sea , un punto cualquiera en y el ancho ; sedefine la suma de Riemann como:
Para el caso de , se obtiene la integral de Riemann sobre elintervalo [a, b]; esto es
La regla generalizada de la cuadratura, corresponde al método deaproximación a la integral, como una combinación lineal de los valoresdel integrando; y viene dada por
Algoritmos de integración numérica
Ingeniero Industrial. Profesor del Departamento de Ingeniería de Sistemas e Informática. UNMSM.(1)E-mail: era [email protected] Industrial. Profesora del Departamento de Sistemas e Informática. UNMSM.(2)
E-mail: [email protected] Industrial. Profesor del Departamento de Ingeniería de Sistemas e Informática. UNMSM.(3)E-mail: [email protected]
Recepción: Agosto de 2007 / Aceptación: Octubre de 2007
(1)
(2)
(3)
Eduardo Raffo LeccaRosmeri Mayta Huatuco
Victor Perez Quispe
i i-l x i i x i= i x - i-l x
n
S ISTEMAS É I NFORM ÁTICA
47Ind. data 10(2), 2007
8/18/2019 81620574006
3/8
Se han generado muchas reglas de cuadraturadestacándose: Punto medio, rectángulo, trapezoidey Simpson.
MÉTODOS DE INTEGRACIÓN
Cuando el integrando es reemplazado por unpolinomio de interpolación P(x), y se cumple
entonces se dice que las fórmulas de integración sonde Newton-Cotes.
De la teoría de interpolación por polinomios, se tieneque un polinomio de grado n o menos, es;
Por interpolación de Lagrange:
y haciendo x = a + t h
Se tiene la integración
con:
Si ó = sâ donde s es común denominador, tal quei i
En el cuadro 1 se consideran los resultados de losvalores de Newton-Cotes. Extendiendo el cuadro, aotros valores corresponden a n puntos. Así Boole estambién denominado como de 5 puntos (por existiruna interpolación con un polinomio de 4 grados).
Cuando el intervalo [a,b] es razonablemente grande,
se acostumbra a dividirlo en n segmentos, y aplicarlos esquemas de cuadraturas de Newton-Cotes :
b
a
b
a
dx x P dx x f )()(
ni x f f x P iiin ...,,2,1,0,)()(
ik k i
k i
n
i
iin
x x
x x x L
x L f x P
)(
)()(0
n
ik
ii
k i
k t x Lt )()(
n
i
ii
n
i
b
a
ii
b
a
f h
dt hdxdx x L f dx x P
0
0
â
,)()(
n
n
i
i
0
ii
n
i
ii
b
a
n f ns
ab f hdx x P
)(â)(
0
N 1 2 3 4 5 6 ns Nombre
1 2
3 4 5
1 1
1 7
19
1 4
3 32 75
1
1 32 50
775
19
2 6
8 90
288
TrapezoideSimpson
Regla 3/8Boole Regla 6 puntos
Cuadro 1. Valores de Newton Cotes
Fuente [2]
Cuando el intervalo [a,b] es razonablemente grande,se acostumbra a dividirlo en n segmentos, y aplicarlos esquemas de cuadraturas de Newton-Cotes
La regla del trapezoide extendida, se desarrolla comouna suma de áreas:
Para aplicar la regla de Simpson a 1/3 en formacompuesta, se requiere que n sea un número par:
ERRORES
El error en la aproximación según Steffenson esexpresado como sigue:
Los valores de P y K dependen solamente de n y nodel integrando f(x).
El supuesto de f(x), es ser continua y poseerderivadas de alto orden. El término error paraNewton-Cotes, tiene la formaen [a,b]; donde K es una constante.
Cuando no existe información acerca de lasderivadas de alto orden; es posible estimar el error, si
la integral es computada, usando dos diferentesvalores[3].
b x x x xa n ...210
h
i
x
x
b
a
i
i
dx x P dx x f 1
1
)()(
)2...22(
2)( 1210 nn
b
a
y y y y yh
dx x f
n
n
y y y yh
y y y y y y y yh
paresimpares0
6425310
243
...)(2...)(43
n
i
i
b
a
Adx x f
2/
1
)(
],[,)()()( )(1 ba f K hdx x f dx x P p p
b
a
b
a
n
î conî f Kh p p ),()1(
S ISTEMAS É I NFORM ÁTICA
48 Ind. data 10(2), 2007
>>> Algoritmos de Integración Numérica
8/18/2019 81620574006
4/8
Se puede generalizar estas fórmulas, al plantearsecomo:
La filosofía de la extrapolación de Richardson, comoasí es llamada, puede ser aplicada a cualquierfórmula de cuadratura de Newton-Cotes; o cualquiercomputación que se encuentra basada en una rejillade ancho h y un error descrito como una potencia deh[4].
Aplicaciones de los métodos de integraciónHaciendo uso de los valores del cuadro 1, en la figura1, se presenta el script del M-file Quadratura.m, que
evalúa estas reglas.
La regla de Simpson a 1/3, es probablemente la másutilizada, de todas las fórmulas de integración.
Los script para las fórmulas del Trapecio y Simpson a1/3, son presentadas en las figuras 2 y 3.
La evaluación analítica de la funciónen el intervalo corresponde al valor de 2/3. En lafigura Nº 4, se presenta los cálculos para las reglasdel Trapecio y Simpson, usando 10 intervalos. Laregla de Simpson es la que más se aproxima.
*I = I + E = I + E1 1 2 2
Sea I y E , las estimaciones de la integral y su errorn nasociado para una fórmula compuesta con nintervalos de un trapezoide; se tiene:
*I = = I + E = I + En1 n1 n2 n2
Donde n y n son valores diferentes de n1 2
*El valor de la integral viene dado por: I = I + E , yn1 n1desde la igualdad
E - E = I - In1 n2 n2 n1
y
*Si n = 2n , la integral I se convierte en:2 1
Conocida como la aproximación de Richardson parael Trapezoide.
Para la regla de Simpson a 1/3 para datoscompuestos, el error viene dado por:
dx x f ba )(
ba y
f n
ab
f n
ab
E
E
n
n ,,
)(''12
)(
)(''12
)(
21
12
1
3
22
2
3
1
2
Asumiendo f’’( 1) y f
’’( 2) iguales:
2
2
1
1
2
n
n
E
E
n
n
121
2
2
11 nnnn I I E
n
n E
,
1
2
2
1
12
1
nn
I I E
nn
n
2
2
1
12
1
1
n
n
I I I nnn
I*
4
312
1nn
n
I I I
I*
123
1
3
4nn
I I
)4(
4
5
2880 f
n
ab E
Se cumple que: I*
4
2
1
121
1
n
n
I I I nnn
Y con n2 = 2n1, se tiene que: I* 12
15
1
15
16nn I I
144 ,,1
1,
j
jn jn
j
jnT T T
function Quadratura(f,a,b)% Cuadraturas básicas% % Datos% f = el nombre de la función como string% a = límite inferior % b = límite superior % h = longitud del segmento% n = numero de segmentos% Resultados% p=integración n=1; h = (b-a)/n;
p1=h*(feval(f,a)+feval(f,b))/2; n=2; h = (b-a)/n; p2=h*(feval(f,a)+4*feval(f,(a+b)/2)+feval(f,b))/3; n=3; h=(b-a)/n; p3=3*h*(feval(f,a)+3*feval(f,a+h)+3*feval(f,a+2*h)+feval(f,b))/8; n=4; h=(b-a)/n; p4=4*h*(7*feval(f,a)+32*feval(f,a+h)+ … 12*feval(f,a+2*h)+32*feval(f,a+3*h)+7*feval(f,b))/90;
fprintf('Area para Trapezoide : %10.5f\n',p1); fprintf('Area para Simpson 1/3: %10.5f\n',p2); fprintf('Area para Simpson 3/8: %10.5f\n',p3);
fprintf('Area para Boole : %10.5f\n',p4);
Figura 1. M-file Quadratura.m
Fuente: Elaboración propia
22)( 2 x x x f
S ISTEMAS É I NFORM ÁTICA
49Ind. data 10(2), 2007
*La evaluación de la integral es: I = ypuede ser calculada como:
dx x f ba )(
Eduardo Raffo L., Rosmeri Mayta H. y Victor Pérez Q. >>>
8/18/2019 81620574006
5/8
Siendo suma , el acumulado de los nuevos puntosi + 1interiores.
De la expresión:
Un esquema de integración no adaptativa del tipoiterativo, se presenta a continuación. Este hace uso
de la regla del trapecio en forma refinada, con sucorrespondiente aproximación de Richardson. Laaproximación para el Trapecio corresponde a:
Fuente: Elaboración propia
Figura 2. M-file Trapezoide.m
Fuente: Elaboración propia
Figura 3. M-file Simpson3.m
Un esquema de integración automática, ayuda alusuario a calcular cualquier integral.
En [5], se detallan los requisitos, para un integradorautomático:
Los límites de integración.
Rutina para evaluar f(x).
La tolerancia.
Cota superior del número de evaluaciones.
Los esquemas de integración automática, pueden serclasificados en: adaptativa o no adaptativa; eiterativos o no iterativos.
Los esquemas de cuadratura no adaptativa paracomputadoras, usan generalmente una secuencia depuntos, de acuerdo a un esquema fijo; independientedel integrando.
Cuando se evalúa por la regla del Trapezoide seutiliza la fórmula:
Cuando n = 1, el área es igual a
Si en la iteración i+1, el número de segmentos seduplica con respecto a i, se encuentra que el número
i 2de puntos interiores nuevos es 2 (ver figura 5)
T (h) = 0.5
1
1
)()(2)(n
i
i b f x f a f n
ab
T (h) = 0.5 )()( b f a f ab
Figura 4. Comparación entre Trapezoide y Simpson a 1/3
f=inline('x.^2+2*x-2');
>> Trapezoide(f,0,1,10)
ans = -0.66500000000000
>> Simpson3(f,0,1,10)
ans = -0.66666666666667 Fuente: Elaboración propia
Figura 5. Proceso del trapecio refinado
i = 1 n = 1
a
b
i = 2 n = 2
i = 3 n = 4
i = 4 n = 8
Sean:
)()(2)(5.0 b f Interiores Puntosa f n
ab Area
i
i
1
1
1 25.0
ii
i
i suma suman
ab Area
)()interioresPuntos(2)( b f a f sumai
11 5.0 i
i
ii Suman
ab Area Area
)(5.0 1 iii Sumah Area
1
3
1
3
4*
iii I I I
function p=Trapezoide(f,a,b,n)% Datos% f =el nombre de la funcion como string% a =limite inferior % b =limite superior % h =longitud del segmento% x =es el vector x% y =es el vector f(x), f en forma vectorial% n =numero de segmentos, o n+1 puntos% Resultados% p =integracion h=(b-a)/n; x=a+h*(0:n); y=feval(f,x); p=0.5*h*(2*sum(y)-y(1)-y(n+1));
function p=Simpson3(f,a,b,n)% Simpson a 1/3% % Datos% f = el nombre de la función(vectorial) como string% a = limite inferior % b = limite superior % h = longitud del segmento% x = es el vector x% y = es el vector f(x)% n = numero de segmentos% Resultados% p = integracion h=(b-a)/n; x=a+h*(0:n); y=feval(f,x); p=h*(2*sum(y)+2*sum(y(2:2:n))-y(1)-y(n+1))/3;
S ISTEMAS É I NFORM ÁTICA
50 Ind. data 10(2), 2007
>>> Algoritmos de Integración Numérica
8/18/2019 81620574006
6/8
el algoritmo encuentra aproximaciones de , yfinaliza con el siguiente criterio:
Las figuras 6 y 7, corresponden a los script Trapecio.m y TrapecioRichardson.m. Este últimoscript (que invoca Trapecio.m), implementa unalgoritmo muy simple y robusto para la integración noadaptativa[1].
La función humps, es un buen benchmark paraefectuar métricas de pruebas, en muchos procesosde computación.
Declarando la función humps.m para MATLAB:function y = humps(x)
*i I
å I I ii **1
Fuente: Elaboración propia
Figura 7. M-file de TrapecioRichardson.m
Fuente: Elaboración propia
Figura 6. M-file de Trapecio.m
Figura 8. Función humps
Fuente: Elaboración propia
y = 1,0/((x - 0,3).^2 + 0,01) + 1,0/((x- 0,9).^2 +0,04) -6;
La función Humps, tiene como forma, la gráfica de lafigura Nº 8.
>> X= 0:0.01: 1; y=humps(x);plot(x,y),gris on
Aplicando Trapecio refinado, con la extrapolación deRichardson, se consigue el resultado que aparece enl a f i g u ra 9 . E n d o n d e l a i n t e g ra l e s29,85832730748868 con 65 invocaciones a lafunción.
El proceso simple de evaluar numéricamente unaintegral, es usando puntos equidistantes, de un anchoh. Una cuadratura es adaptativa, cuando involucra laselección de los puntos que van a ser evaluados; de
tal manera que se consiga una determinadaprecisión.
Los esquemas de cuadratura adaptativa paracomputadoras, usan generalmente la regla deltrapezoide o Simpson, dividiendo cualquier región delestado anterior. La critica a las fórmulas compuestasque utilizan nodos equidistantes, es que al integraruna función en un intervalo que contiene regiones,
>>[Q,n]=TrapecioRichardson@humps,0,1)Q= 29,85832730748868
n= 65
Figura 9. Ejecución de TrapecioRichardson.m
Fuente: Elaboración propia
function Trapecio(fdex,a,b,j)% Trapecio Refinado% Datos% fdex =es la funcion que ingresa como un string
% a,b =los valores extremos del intervalo% j =el valor de la iteración% Resultados% N =el valor de n% Area =valor del area
global Area N;
if j==1 Area=0.5*(b-a)*(feval(fdex,a)+feval(fdex,b)); N=1; else H=(b-a)/N; x=a+H/2; Suma=0;
for i=1:N Suma=Suma+feval(fdex,x); x=x+H; end Area=0.5*(Area+H*Suma); N=2*N; End
function [I n]=TrapecioRichardson(fdex,a,b,ERROR)% Trapezoide con Richardson% Datos% a =limite inferior de la integral
% b =limite superior de la integral% Resultados% A =área por Trapecio refinado% I =área por extrapolación de Richardson global Area N;
if nargin < 4, ERROR = 0.0005; end j=1; Trapecio(fdex,a,b,j);n=2; A=Area;I=A; while 1 A0=A;I0=I; j=j+1;n=n+N; Trapecio(fdex,a,b,j); A=Area;
I=(4*A-A0)/(4-1); if abs(I-I0)>>
8/18/2019 81620574006
7/8
donde la función varía en gran medida, y en otras endonde la variación es pequeña, tal como ocurre con lafunción humps, no es factible su aplicación.
El término de cuadratura adaptativa, viene porqueestos métodos son capaces de predecir el grado de lavariación funcional, y se adaptan a un tamaño del
paso de las necesidades.
Tomando a la regla de Simpson a 1/3, con un paso de, se consigue la integral:
Una importante técnica de solución de problema, quehace uso de la recursividad es Divide y Vencerás[6].Divide y Vencerás, consiste de dos partes:
1. Divide, pequeños problemas, son resueltos
recursivamente, excepto el caso base.
2. Vencerás, la solución al problema original estáformado desde la solución a los subproblemas.
La regla de Simpson por recursividad, es mostradacomo sigue:
Cuando la estimación del error no es válida, se aplica
la regla de Simpson a los nuevos subintervalos[a,(a+b)/2] y [ (a+b)/2, b], teniendo en consideración
),( ),(90
),()( )4(5
ba f h
baS dx x f
b
a
b
a
bba
S ba
aS dex x f ),2
()2
,()(
Fuente: Elaboración propia
Figura 11. SimpRecur.m
Fuente: Elaboración propia
Figura 10. SimpGold.m
function [Q nc]=SimpGold(f,a,b,TOL)% Simpson a 1/3 con integración adaptativa% Datos% f =el nombre de la función(vectorial) como string% a =limite inferior % b =limite superior % h =longitud del segmento% x =es el vector x% y =es el vector f(x)% Resultados% Q =integración% nc =numero de invocaciones a f if nargin 20 nc=0; Q=Q0; return end h=(c-a)/2; c1=a+h;c2=c+h; fc1=feval(f,c1);fc2=feval(f,c2); Q1=h/3*(fa+4*fc1+fc);Q2=h/3*(fc+4*fc2+fb); nc=2; Q=Q1+Q2; if abs(Q-Q0) > TOL nivel=nivel+1; [Q1 n1]=SimpRecur(f,a,c1,c,fa,fc1,fc,nivel,TOL/2,Q1); [Q2 n2]=SimpRecur(f,c,c2,b,fc,fc2,fb,nivel,TOL/2,Q2); nc=nc+n1+n2;
Q=Q1+Q2; End
que los errores parciales de cada intervalo,corresponden al valor .
En las figuras 10 y 11, se presentan los script , quehacen uso del Divide y Vencerás para Simpson 1/3.Este es un algoritmo de integración adaptativa.
En la figura 12, se ejecuta SimpGold.m,encontrándose la precisión arriba del decimaldoceavo.
CONCLUSIONES
La crítica a las fórmulas compuestas que utilizannodos equidistantes, es que al integrar una función enun intervalo que contiene regiones, donde la funciónvaría en gran medida, y en otras en donde la variaciónes pequeña, tal como ocurre con la función humps, noes factible su aplicación. Cuando la estimación del
error no es válida, se aplica la regla de Simpson a losnuevos subintervalos (Figura 11), teniendo enconsideración que los errores parciales de cadaintervalo, corresponden a la mitad del error anterior.Los algoritmos que se realiza se basa en elesquema del trapecio refinado, hace uso de lafilosofía de Richardson, y ha demostrado en lapráctica producir resultados precisos en las
Figura 12.: Ejecución de SimpGold.m
>>[Q,n]=SimpGold(@humps,0,1)Q= 29,85832539558330n= 2124
S ISTEMAS É I NFORM ÁTICA
52 Ind. data 10(2), 2007
>>> Algoritmos de Integración Numérica
8/18/2019 81620574006
8/8
evaluaciones de integrales, utilizando pocasiteraciones y con errores pequeños.
La producción de resultados precisos en integraciónnumérica, con errores muy pequeños, trae consigo el
aumento de evaluaciones.
La utilización de la recursividad hace posible construirbuenos algoritmos en integración adaptativa. Con latécnica del Divide y Vencerás, se ha obtenido unalgoritmo que da resultados precisos, en el menortiempo.
REFERENCIAS BIBLIOGRÁFÍCAS
1. David, Philip J. y Rabinowitz, Philip, (1975)“Methods of Numerical Integration”, Academic
Press.
2. Raffo Lecca, Eduardo, (2005) “MétodosNuméricos Para Ciencia e Ingeniería conMATLAB”, Raffo Lecca editores.
3. Carnahan, Brice, Luther, H. A., (1969) “AppliedNumerical Methods”, John Wiley & Sons, Inc.
4. Acton, Forman S., (1970) “Numerical MethodsThat Work” , Harper & Rows, Publishers, NewYork.
5. Forsythe, George Elmer, (1977) “ComputerMethods for Mathematical Computations” ,Prentice-Hall series in automatic computation.
6. Weiss, Mark Allen C., (1996) “Algorithms, DataStructures, and Problem Solving with C++”, Addison-Wesley.
S ISTEMAS É I NFORM ÁTICA
53Ind. data 10(2), 2007
Eduardo Raffo L., Rosmeri Mayta H. y Victor Pérez Q. >>>