Documentos de Académico
Documentos de Profesional
Documentos de Cultura
An 22 - Integracion Numerica PDF
An 22 - Integracion Numerica PDF
7 INTEGRACIÓN NUMÉRICA
Introducimos este capítulo mediante un problema de interés práctico en el que el modelo
matemático resultante es la evaluación de un integral. El objetivo es evaluar numéricamente un
integral y estimar la precisión del resultado.
Problema.
La siguiente función es fundamental en estudios estadísticos y
se denomina función de densidad de la distribución Normal 1
1 − z2
Estándar: Esta función permite calcular la probabilidad, P, que f (z) = e 2
la variable Z pueda tomar algún valor en un intervalo [a, b] 2π
según la siguiente definición:
b
z∈ℜ
P(a ≤ Z ≤ b) = ∫ f ( z )dz
a
Debido a que esta función no es integrable analíticamente, es necesario utilizar métodos
numéricos para estimar el valor de P.
Sea f una función integrable, definida en un intervalo cerrado y acotado [a, b] con a<b∈R. Es
de interés calcular el valor de A:
b
A = ∫ f(x)dx
a
En general hay dos situaciones en las que son útiles los métodos numéricos:
En ambos casos se trata de sustituir f(x) por alguna función más simple, siendo importante
además estimar la precisión del resultado obtenido.
En general, la aproximación mediante una sola recta en el intervalo [a, b] tendría poca
precisión, por lo que conviene dividir el intervalo [a, b] en m sub-intervalos y colocar en cada
uno, una recta cuyos extremos coinciden con f(x).
155
La figura geométrica en cada intervalo es un trapecio. Sea Ai el área del trapecio i y sea Ti el
error de truncamiento respectivo, es decir la diferencia entre el área debajo de f(x) y el área de
cada trapecio i, i=1, 2, 3, …, m. El área se puede aproximar con:
b m
A = ∫ f(x)dx ≈ A1 + A2 + A3 + . . .+ Am = ∑A
i=1
i
a
Mientras que el error de truncamiento total será:
T = T1 + T2 + T3 + . . . + Tm
A ≈ A1 + A2 + . . . + Am
b−a
m: cantidad de franjas espaciadas regularmente en h, siendo h =
m
Para obtener la fórmula es suficiente encontrar el valor del área de un trapecio y luego extender
este resultado a las demás, como se indica a continuación.
h h h
A ≈ A1 + A2 + …. + Am = [f0 + f1] + [f1 + f2] + ….. + [fm-1 + fm]
2 2 2
h
A≈ [f0 + 2f1 + 2f2 + ….. + 2fm-1 + fm]
2
m-1
h h
A≈ [f0 + 2f1 + 2f2 + ….. + 2fm-1 + fm] = [f0 + 2 ∑ fi + fm],
2 2 i =1
m es la cantidad de trapecios.
Sin embargo, es necesario poder contestar una pregunta fundamental: ¿Cuál es la precisión
del resultado calculado?
h3 h3 h3
T=- f’’(z1) - f’’(z2) - …. - f’’(zm)
12 12 12
h3
T=- [ f’’(z1) + f’’(z2) + …. + f’’(zm)]
12
h3
T=- mf’’(z), siendo z algún valor en el intervalo (a, b)
12
b−a
Mediante la sustitución h = , la fórmula se puede expresar de la siguiente forma
m
Definición. Fórmula del error de truncamiento en la fórmula de los trapecios
h2
T=– (b – a) f’’(z), a ≤ z ≤ b
12
Siendo z desconocido, para acotar el error se puede usar un criterio conservador tomando el
mayor valor de |f’’(z)|, a≤z≤b. Este criterio no proporciona una medida muy precisa para el error
y su aplicación puede ser un problema más complicado que la misma integración, por lo cual
se puede intentar usar como criterio para estimar el error, la definición de convergencia
indicada al inicio de esta sección, siempre que f sea una función integrable:
m
m→ ∞ ⇒ ∑A
i=1
i →A
m m'
Sean Am = ∑A
i=1
i , Am' = ∑A
i=1
i
' '
dos aproximaciones sucesivas con m y m trapecios, m >m
T ≈ |Am - Am'|
Mientras que el error de truncamiento relativo se puede estimar con:
| Am − Am' |
t ≈
| Am' |
Hay que tener la precaución de no usar valores muy grandes para m por el efecto del error de
redondeo acumulado en las operaciones aritméticas y que pudiera desmejorar la precisión en
el resultado.
h2
T=- (b – a) f’’(z), a ≤ z ≤ b
12
∆2f
f’’(z) ≈ 2 i
h
(b-a)
T ≤ |- | max(| ∆ 2 fi |)
12
Esta fórmula también pudiera usarse para estimar el error de truncamiento en el caso de que
f(x) se conozca explícitamente y m haya sido especificado. Habría que tabular las diferencias
finitas para los puntos usados en la integración numérica y estimar el error con la fórmula
anterior.
158
Ejemplo. Estime cuantos trapecios deben usarse para integrar f(x) = sen(x) en el intervalo
[0,2] de tal manera que la respuesta tenga el error absoluto menor a 0.0001
Se requiere que error de truncamiento cumpla la condición:
| T | < 0.0001
h2
|– (b – a) f’’(z) | < 0.0001
12
Siendo el valor de z desconocido se debe usar el máximo valor de f’’(z) = -sen(z), 0<z<2
max | f’’(z) | = 1
h2
|– (2 – 0) (1)| < 0.0001
12
2
De donde h < 0.0006
h < 0.0245
b−a
< 0.0245
m
Entonces m > (2 – 0)/0.0245
m > 81.63 ⇒ m = 82 trapecios
Ejemplo. Estime cuantos trapecios deben usarse para integrar f(x) = x sen(x) en el intervalo
[0,2] de tal manera que la respuesta tenga el error absoluto menor a 0.0001
Se requiere que error de truncamiento cumpla la condición:
| T | < 0.0001
h2
|– (b – a) f’’(z) | < 0.0001
12
Siendo el valor de z desconocido se debe usar el máximo valor de
cos(z) sen(z)
f=
''(z) − zsen(z) − , 0<z<2
z 4 z3
Problema demasiado complicado para estimar el mayor valor de la derivada y acotar el error.
En esta situación, se puede estimar el error comparando resultados con valores sucesivos de
m hasta que la diferencia sea suficientemente pequeña. Para los cálculos conviene
instrumentar una función en MATLAB.
En este ejemplo no se pueden tabular las diferencias finitas para estimar f''(x) con ∆ f(x) pues
2
m no está especificado
En este caso, se tabulan los cinco puntos de f(x) para estimar el error, aproximando la derivada
con la diferencia finita respectiva:
∆f ∆f
2
x f
0.0 0.0000 0.3390 0.1635
0.5 0.3390 0.5025 -0.1223
1.0 0.8415 0.3802 -0.3159
1.5 1.2217 0.0643
2.0 1.2859
(b-a) (2-0)
T ≤ |- | max(| ∆ 2 fi |) = (0.3159) = 0.0527
12 12
159
Ejemplo. Dados los puntos de una función f: (0.1, 1.8), (0.2, 2.6), (0.3, 3.0), (0.4, 2.8), (0.5, 1.9)
Calcule el área A debajo de f aproximando mediante cuatro trapecios y estime el error en el
resultado obtenido.
0.1
A= [1.8 + 2(2.6) + 2(3.0) + 2(2.8) + 1.9] = 1.0250
2
Al no disponer de más información, se usarán las diferencias finitas para estimar el error
∆f ∆f
2
x f
0.1 1.8 0.8 -0.4
0.2 2.6 0.4 -0.6
0.3 3.0 -0.2 -0.7
0.4 2.8 -0.9
0.5 1.9
(b-a) (0.5-0.1)
T ≤ |- | max(| ∆ 2 fi |) = (0.7) = 0.0233
12 12
function r = trapecios(f, a, b, m)
h=(b-a)/m;
s=0;
for i=1: m - 1
s=s + f(a + i*h);
end
r = h/2*(f(a) + 2*s + f(b));
>> syms x;
>> f = sin(x);
>> t = trapecios(inline(f), 0, 2, 5)
t=
1.397214
Los resultados tienden hacia el valor exacto a medida que se incrementa el número de
trapecios. Estos resultados pueden usarse como criterio para determinar la precisión de la
aproximación.
2
Ejemplo. La siguiente función no es integrable analíticamente: S = ∫0 x s en(x)dx
Use la fórmula de los trapecios para obtener la respuesta aproximada y estimar el error.
x 1/2 sin(x)
>> syms x 1.4
>> f=sqrt(x)*sin(x);
1.2
>> ezplot(f,[0,2]),grid on
>> r=trapecios(inline(f),0,2,10) 1
r= 0.8
1.5313 0.6
>> r=trapecios(inline(f),0,2,20)
0.4
r=
1.5323 0.2
>> r=trapecios(inline(f),0,2,40) 0
>> r=trapecios(inline(f),0,2,50)
r=
1.5326
El último resultado tiene cuatro decimales que no cambian y se pueden considerar correctos.
A ≅ A1 + A2 + …. + Am/2
h=(b-a)/m
161
Para obtener la fórmula se debe encontrar el valor del área para una parábola:
x2 x2
1
∫ p2 (s)dx = ∫ [f0 + ∆fs s + 2 ∆ f0 s(s − 1)] dx
2
A1 =
x0 x0
Ejemplo
Dados los puntos de una función f: (0.1, 1.8), (0.2, 2.6), (0.3, 3.0), (0.4, 2.8), (0.5, 1.9)
Calcule el área debajo de f mediante una aproximación con parábolas.
La suma del área debajo de las dos parábolas, con la fórmula anterior:
h
A = [f0 + 4f1 + 2f2 + 4f3 + f4]
3
162
0.1
A= (1.8 + 4(2.6) + 2(3.0) + 4(2.8) + 1.9) = 1.0433
3
Este resultado es aproximadamente igual al área debajo de f.
∆f ∆f ∆f ∆f
2 3 4
x f
0.1 1.8 0.8 -0.4 -0.2 0.1
0.2 2.6 0.4 -0.6 -0.1
0.3 3.0 -0.2 -0.7
0.4 2.8 -0.9
0.5 1.9
h4 (4)
T=– (b – a) f (z), a<z<b
180
(b-a) (0.5-0.1)
T ≤ |- | max| ∆ 4 fi | = (0.1) = 0.00022
180 180
Esto indicaría que podemos tener confianza en la respuesta hasta el tercer decimal. Resultado
mejor que el obtenido con la Regla de los Trapecios
Ejemplo. Si f es una función diferenciable en el intervalo [a,b], la longitud del arco de la curva
b
=
f(x) en ese intervalo se puede calcular con el integral S ∫ a
1 + [f '(x)]2 dx
(b-a) (2-0)
T≤|- | max( ∆ 4 fi )= (0.0148) = 0.00016
180 180
function r = simpson(f, a, b, m)
h=(b-a)/m;
s=0;
for i=1:m-1
s=s+2*(mod(i,2)+1)*f(a+i*h); %Sumar los términos con coeficientes 4, 2, 4, 2,...,4
end
r=h/3*(f(a) + s + f(b));
>> syms x
>> f = sqrt(1+(cos(x))^2);
>> r=simpson(inline(f),0,2,4)
r=
2.3504
>> r=simpson(inline(f),0,2,8)
r=
2.3516
>> r=simpson(inline(f),0,2,12)
r=
2.3517
>> r=simpson(inline(f),0,2,16)
r=
2.3517
Está claro que la fórmula de Simpson converge más rápido, supuesto que h<1
Por otra parte, al evaluar cada operación aritmética se puede introducir un error de redondeo Ri
si no se conservan todos los dígitos decimales en los cálculos numéricos. La suma de estos
errores es el error de redondeo acumulado R. Mientras más sumas se realicen, mayor es la
cantidad de términos que acumulan error de redondeo.
R = R1 + R2 + R3 + …. + Rm
Estos errores de redondeo pueden tener signos diferentes y anularse, pero también puede
ocurrir que tengan igual signo, por lo tanto el valor puede crecer
b−a
Siendo m = , cuando h → 0 ⇒ m → ∞ ⇒ R puede crecer
h
164
x
Ejemplo. Encontrar el área entre f(x) = 4 + cos(x+1), y g(x)=e sen(x), que incluya el área
entre las intersecciones de f y g en el primer cuadrante. Use la Regla de Simpson, m=10.
>> syms x
>> f=4+x*cos(x+1);
>> g=exp(x)*sin(x);
>> ezplot(f,[0,3.5]),grid on
>> hold on
>> ezplot(g,[0,3.5])
e p( ) s ( )
8
-2
-4
-6
>> h=f - g;
>> a=biseccion(inline(h),1,1.5,0.0001)
a=
1.2337
>> b=biseccion(inline(h),3,3.2,0.0001)
b=
3.0407
Finalmente se integra:
>> s=simpson(inline(h),a,b,10)
s=
6.5391
>> r=eval(int(h,a,b))
r=
6.5393