Está en la página 1de 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
f (a ) 4f ( a 2b ) f (b)
IS
6

Compuesta

Error

h
IS [h ] ( y 0 4 y1 2 y 2 4 y 2 n 1 y 2 n )
3
h4
ES
( b a ) f IV ( ), [a , b]
180

Mtodo de Simpson adaptativo


ba
f (a ) 4f ( a 2b ) f (b)
I0
6

Simpson [a, b]
c=(a+b)/2

Simpson [a, c]

ca
f (a ) 4f ( a 2 c ) f (c)
I1
6

Simpson [c, b]

bc
f (c) 4f ( c2b ) f (b)
I2
6

I=I1+I2

Simpson simple
Funcin

Parbola

Simpson compuesta (2 int.)


Funcin
Parbola

Parbola

Algoritmo de Simpson adaptativo


Entrada:
Proceso:

f,a, b, tol, nivel

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, I 1) +
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)


Simpson

adaptativo

quad8
Newton-Cotes

con 8 paneles

80
60
40
20
0
-20
-40
-60

1.5

2.5

Cuadratura de Gauss

I(f ) w ( x )f ( x ) dx

Integral

Frmula
I n (f) c1f ( x1 ) c n f ( x n )
aproximada
Nodos:x1, x2, ..., xn, ceros del n-simo
polinomio ortogonal pn(t)
b
Coeficientes
1
pn (x)
c
w (x)
dx

p n ' ( x i ) a

x xi

Cuadratura de Gauss-Legendre

Integral

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, , n 1 % 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

Coeficientes

ci

n
nodos
n
nodos
2 0.5773502692
2 0.5773502692
3 0.7745966692
3 0.7745966692
0.0000000000
0.0000000000
4 0.8611361159
4 0.8611361159
0.3399810436
0.3399810436

1 x p (x )
2
i

'
n

coeficientes
coeficientes
1.0000000000
1.0000000000
0.5555555556
0.5555555556
0.8888888889
0.8888888889
0.3478548451
0.3478548451
0.6521451549
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
t
x
,
2
2

ba
dt
dx
2

Frmula de Gauss en [a,b]

ba 1 ba
ba
f ( t )dt
f(
x
)dt

2 1
2
2

ba n
ba
ba
I n (f )
ci f
xi

2 i 1 2
2

Algoritmo de Gauss-Legendre

Entrada:

Proceso:

f, a, b, n

Obtener los nodos y

coeficientes de la frmula

de Gauss-Legendre de orden n.
Escalar los nodos en el intervalo [a, b]

Salida:
I = (b a) / 2 * sum(coeficientes .* f(nodos))

Ejemplo: Gauss-Legendre
1.5

I(f ) e
1

x2

dx

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
R

f ( x , y) dy dx

Aproximacin de la integral exterior


I
i

p
i

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

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 p i 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
I (f )

1. 5

log(x 2 y) dx

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

1.4 1

Resultados

Simpson doble en recintos


limitados por funciones

Integrales iteradas
b

d(x)

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

d(x)

c( x )

f ( x , y) dy dx

Aproximacin de la integral exterior


d(x i )
h

I pi
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

d(x i )

c( x i )

ki
f ( x i , y) dy q jf ( x i , yij )
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

Integral doble

h 2m k i 2n
I pi
q ijf ( 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.5

x2

0.1

x3

0.2

Nodos

0.15

e y x dy dx

0.1

0.05

Resultados
m=n=1
m=n=2
m=n=4
m = n = 16
m = n = 32
Exacto

0
0.1

0.15

0.2

0.25

0.3

0.35

0.03324545898347
0.03330154956288
0.03330531070717
0.03330555008348
0.03330546128190
0.03330556611623

0.4

0.45

0.5

FIN

También podría gustarte