analisis numerico
Integración Numérica
Integral simple
Método
de Simpson adaptativo
Cuadratura
de Gauss
Integral doble
Recinto
rectangular
Recinto
limitado por funciones
Regla de Simpson
Simple
b a
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
E S
( b a ) f IV ( ), [a , b]
180
Método de Simpson adaptativo
Simpson [a, b]
c=(a+b)/2
Simpson [a, c]
Simpson [c, b]
I=I1+I2
b a
f (a ) 4f ( a 2b ) f (b)
I0
6
a
c
b
c a
f (a ) 4f ( a 2 c ) f (c)
I1
6
b c
f (c) 4f ( c2b ) f (b)
I2
6
Simpson simple
Función
Parábola
a
c
b
Simpson compuesta (2 int.)Función
Parábola
a
Parábola
d
c
e
b
Algoritmo de Simpson adaptativo
Entrada:
Proceso:
f,a, b, tol, nivel
Calcular
la estimación inicial de I0 por Simpson
simple en [a,b]
Multiplicar tol por 10 (suficiente para la
precisión deseada)
Refinar recursivamente la integral
Salida: I: Estimación de la integral
Refinamiento recursivo: (RR)
Entrada:
f,a, b,tol, nivel, I0
Proceso
Si nivel = 0, devuelve I0 (nivel excedido)
Si no
Evalúa 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)
Simpson
adaptativo
quad8 Newton-Cotes
con 8 paneles
80
60
40
20
0
20
40
60
1
1.5
2
2.5
3
Cuadratura de Gauss
Integral
b
I(f ) w ( x )f ( x ) dx
a
Fórmula
I n (f) c1f ( x1 ) c n f ( x n )
aproximada
Nodos:x1, x2, ..., xn, ceros del n-ésimo
polinomio ortogonal pn(t)
Coeficientes c
i
b
1
pn (x)
w (x)
dx
pn ' (x i ) a
x xiCuadratura 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
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
2
1 x p
2
i
'
n(x i )
2
coeficientes
coeficientes
1.0000000000
1.0000000000
0.5555555556
0.5555555556
0.8888888889
0.8888888889
0.3478548451
0.3478548451
0.6521451549
0.6521451549
Cálculo de los nodos y
coeficientes de Gauss-Legendre
Entrada: p: n-ésimo polinomio de Legendre
Proceso
Cálculo
de los nodos
nodos = roots(p)
Cálculo 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
b a
ba
t
x
,
2
2
b a
dt
dx
2
b a 1 b a
ba
a f (t )dt 2 1 f ( 2 x 2 )dt
b
Fórmula de Gauss en [a,b]
b a n
ba
b a
I n (f )
ci f
xi
2 i 1 2
2
Algoritmo deGauss-Legendre
Entrada:
Proceso:
f, a, b, n
Obtener
los nodos y coeficientes de la fórmula
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
1
x2
dx
Resultados
n = 2 0.10940026119755
n = 3 0.10936419603200
n = 4...
Regístrate para leer el documento completo.