You are on page 1of 27

Integracin Numrica

Clculo Numrico
Prctica 2
Integracin Numrica

Integral simple
Mtodo de Simpson adaptativo
Cuadratura de Gauss

Integral doble
Recinto rectangular
Recinto limitado por funciones
Regla de Simpson
Simple
ba
IS f (a ) 4f ( a 2b ) f (b)
6

Compuesta
h
IS [h ] ( y 0 4 y1 2 y 2 4 y 2 n 1 y 2 n )
3
Error
h4
ES ( b a ) f IV (), [a , b]
180
Mtodo de Simpson adaptativo
ba
Simpson [a, b] I0 f (a ) 4f ( a 2b ) f (b)
6
c=(a+b)/2 a c b

ca
Simpson [a, c] I1 f (a ) 4f ( a 2 c ) f (c)
6

bc
Simpson [c, b] I2 f (c) 4f ( c2b ) f (b)
6
I=I1+I2
Simpson simple

Funcin

Parbola

a c b
Simpson compuesta (2 int.)

Funcin

Parbola
Parbola

a d c e b
Algoritmo de Simpson adaptativo
Entrada: f,a, b, tol, nivel
Proceso:
Calcular la estimacin inicial de I0 por Simpson
simple en [a,b]
Multiplicar tol por 10 (suficiente para la
precisin deseada)
Refinar recursivamente la integral

Salida: I: Estimacin de la integral


Refinamiento recursivo: (RR)
Entrada: f,a, b,tol, nivel, I0
Proceso
Si nivel = 0, devuelve I0 (nivel excedido)
Si no
Evala I1 en [a,c] e I2 en [c,b]
Si abs(I0 I1 I2) > tol
I = RR(f, a, c, tol/2, nivel-1, I1) +
RR(f, c, b, tol/2, nivel-1, I2)
I= I1 + I2
Cuadratura adaptativa con
MATLAB
f.m
y = 100*sin(10 ./ x) ./ x .^2
quad(' f ', 1, 3, 1e3 , 1)
80
Simpson
60

adaptativo 40

20

quad8 0

Newton-Cotes -20

-40

con 8 paneles -60


1 1.5 2 2.5 3
Cuadratura de Gauss
b
Integral I(f ) w(x)f (x) dx
a

Frmula
In (f) c1f (x1 ) cn f (x n )
aproximada
Nodos:x1, x2, ..., xn, ceros del n-simo
polinomio ortogonal pn(t)
Coeficientes 1 b pn (x)
ci
pn ' (x )
i
a
w (x)
x xi
dx
Cuadratura de Gauss-Legendre
Integral 1
I(f ) f (x) dx
1

Polinomios de Legendre
p0(x) =1
p1(x) = x
p2(x) = (3x2 1) / 2
...
pk+1(x) = [(2k+1) x pk(x) k pk1(x)] / (k+1)
Algoritmo iterativo de los
Polinomios de Legendre
Entrada: n: grado del polinomio
Proceso
r = 1; % Grado 0 (p0=1)
q = [1 0]; % Grado 1 (p1=x)
para k=1,2, , n1 % Grado k+1
p = ((2*k+1)*[q 0] k*[0 0 r])/(k+1)
r = q;
q = p;
fin
Salida: p: vector de coeficientes de pn
Cuadratura de Gauss-Legendre
2
Coeficientes ci
1 x p (x )
2
i
'
n i
2

n nodos coeficientes
2 0.5773502692
n nodos coeficientes
1.0000000000
2 0.5773502692 1.0000000000
3 0.7745966692 0.5555555556
3 0.7745966692 0.5555555556
0.0000000000 0.8888888889
0.0000000000 0.8888888889
4 0.8611361159 0.3478548451
4 0.8611361159 0.3478548451
0.3399810436 0.6521451549
0.3399810436 0.6521451549
Clculo de los nodos y
coeficientes de Gauss-Legendre
Entrada: p: n-simo polinomio de Legendre
Proceso
Clculo de los nodos
nodos = roots(p)
Clculo de los coeficientes
dp = polyder(p, 1);
y = polyval(dp, nodos);
coeficientes = 2./(1 nodos.^2) ./ y.^2;
Salida: nodos, coeficientes
Gauss-Legendre en [a, b]
Cambio de variable
ba ba ba
t x , dt dx
2 2 2

b ba 1 ba ba

a
f ( t )dt
2 1
f(
2
x
2
)dt

Frmula de Gauss en [a,b]


ba n ba ba
I n (f ) ci f
2 i 1 2
xi
2
Algoritmo de Gauss-Legendre
Entrada: f, a, b, n
Proceso:
Obtener los nodos y coeficientes de la frmula
de Gauss-Legendre de orden n.
Escalar los nodos en el intervalo [a, b]

Salida:
I = (ba) / 2 * sum(coeficientes .* f(nodos))
Ejemplo: Gauss-Legendre
1.5
I(f ) e x 2
dx
1

Resultados
n = 2 0.10940026119755
n = 3 0.10936419603200
n = 4 0.10936426052150
n = 5 0.10936426081461
n = 6 0.10936426081247
Integral doble en un rectngulo
I f ( x, y) dA
b
d f ( x, y) dydx
R a c

Aproximacin de la integral exterior



I pi f (x i , y) dy pi I( x i ); x i [a, b], pi 0
d

i c i
Aproximacin de las integrales interiores
I( x i ) q jf ( x i , y j ); y j [c, d], q j 0
j

Aproximacin de la integral doble


I pi q jf ( x i , y j ) p * Z * q '
i, j
Simpson doble en un rectngulo
Entradas: f, a, b, c, d, m, n
Proceso
h = (ba) / (2*m), k = (dc) / (2*n)
x = a : h : b, y = c : k : d % Nodos ejes
p = h/3*[1 4 2 4 2 4 1]2m+1 % Pesos eje X
q = k/3*[1 4 2 4 2 4 1]2n+1 % Pesos eje Y
[X,Y] = meshgrid(x, y) % Matrices de
coordenadas de los nodos (2n+1)(2m+1)
Z = feval(f, X, Y) % f en los nodos
Salida: I = q*Z*p'
Ejemplo: Simpson doble en un
rectngulo
2 1.5
I(f ) log( x 2y) dx
1.4 1

Resultados
m=1 n=2 0.42955412031017
m=2 n=4 0.42955450187611
m=3 n=6 0.42955452246900
m=4 n=8 0.42955452594025
Valor exacto: 0.42955452688945
Simpson doble en recintos
limitados por funciones
Integrales iteradas
b d(x)

a c( x )
f ( x, y) dy dx

Aproximar la integral exterior por Simpson


en el intervalo [a, b]
Para cada xi, aproximar la integral interior
por Simpson en el intervalo [c(xi), d(xi)]
Simpson doble en un recinto
limitado por funciones
I
b
d ( x ) f ( x, y) dydx
a c ( x )

Aproximacin de la integral exterior


h
I pi d(xi )
f ( x i , y) dy
3 i c( x i )
h (b a ) /( 2m)
x i a i h, i 0, 1, ..., 2m
p [1 4 2 4 ... 2 4 1]2 m 1
Simpson doble en un recinto
limitado por funciones
Aproximacin de las integrales interiores
ki
f ( x i , y) dy q jf ( x i , yij )
d(x i )
c( x i ) 3 j
k i (d( x i ) c( x i )) /( 2n )
yij c( x i ) j k i , j 0, 1, ..., 2n
q [1 4 2 4 ... 2 4 1]2 n 1

h 2m ki 2n
Integral doble I pi qijf ( x i , yij )
3 i 0 3 j 0
Simpson doble en un recinto
limitado por funciones
Entradas: f, a, b, c, d, m, n

Funciones.m

Proceso (nodos integral exterior)


h = (ba) / (2*m)
x = a : h : b % Nodos eje X
p = [1 4 2 4 2 4 1]2m+1 % Pesos eje X
uno = ones(2*n+1, 1)
X = uno*x % Matriz de abscisas de los nodos
Simpson doble en un recinto
limitado por funciones
Proceso (nodos integrales interiores)
cx = feval(c, x); % Vector extremos infs..
dx = feval(d, x); % Vector extremos sups.
kx=(dxcx) ./ (2*n) % Vector de pasos
Y=uno*cx+(0 : 2*n)'*kx % Matriz de
ordenadas de los nodos
q = [1 4 2 4 2 4 1]2n+1 % Pesos eje Y
Z = feval(f, X, Y) % f en los nodos
Salida: I = q*Z*(p .*kx) *h / 9
0.25

Ejemplo 0.2

0.15
Nodos
2
0.5 x

0.1 x3
e y x dy dx 0.1

0.05

0
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Resultados
m=n=1 0.03324545898347
m=n=2 0.03330154956288
m=n=4 0.03330531070717
m = n = 16 0.03330555008348
m = n = 32 0.03330546128190
Exacto 0.03330556611623
FIN

You might also like