Vamos a implementar varias reglas de integración numérica que los alumnos de esta Escuela vistéis en Cálculo I. Comenzaremos con la "regla simple del punto izquierdo", que aproxima la integral de $f$ en e intervalo $[a,b]$ por el área del rectángulo de base $b-a$ y altura $f(a)$: $$ \int_a^b f(x)\:d x \approx (b-a)f(a) $$
function I=punto_izquierdo_simple(f, a, b)
%Aproxima la integral de f en el intervalo [a,b] por (b-a)*f(a)
%
% El primer argumento es una función de variable real a valores reales
I= (b-a)*f(a);
end
f = @ (x)( 1 + sin(x));
punto_izquierdo_simple(f, 0 ,pi)
Vamos a verlo gráficamente
La función que implementa esta regla es sencilla: aproximamos la integral por el área de un rectángulo.
function I=punto_izquierdo_simple(f, a, b)
%Aproxima la integral de f en el intervalo [a,b] por (b-a)*f(a)
%
% El primer argumento es una función de variable real a valores reales
I= (b-a)*f(a);
end
La regla del punto medio también aproxima la integral por el área de un rectángulo, pero la altura es la función evaluada en el punto medio del intervalo.
function I=punto_medio_simple(f, a, b)
%Aproxima la integral de f en el intervalo [a,b] por (b-a)*f(m)
%donde m = (a+b)/2 es el punto medio del intervalo
%
% El primer argumento es una función de variable real a valores reales
I= (b-a)*f((a+b)/2);
end
Gráficamente
En las reglas compuestas descomponemos el intervalo de integración es $N$ partes iguales, y en cada parte aplicamos la regla de integración correspondiente.
Queremos escribir funciones que devuelvan la aproximación a la integral mediante las reglas compuestas, es decir, un número.
Podemos seguir dos enfoques:
Mostramos los dos enfoques para la regla del punto medio:
function I = punto_medio_compuesto_v1(f, a, b, N)
%Aproxima la integral de f en el intervalo [a,b] usando la regla
% del punto medio compuesta. Evalua la función en el punto medio de
% cada subintervalo
%
% El primer argumento es una función de variable real a valores reales
h = (b-a)/N;
I = 0;
for j = [0:N-1]
xj = a + j*h;
I = I + punto_medio_simple(f, xj, xj+h);
end
end
function I = punto_medio_compuesto_v2(f, a, b, N)
%Aproxima la integral de f en el intervalo [a,b] usando la regla
% del punto medio compuesta. Evalua la función en el punto medio de
% cada subintervalo
%
% El primer argumento es una función de variable real a valores reales
h = (b-a)/N;
puntos_medios = linspace(a + h/2, b-h/2, N);
I = h*sum(f(puntos_medios));
end
Comprobamos que obtenemos el mismo resultado
a = 0;
b = pi;
N = 5;
quad(f, a, b)
punto_medio_compuesto_v1(f, a, b, N)
punto_medio_compuesto_v2(f, a, b, N)
En la regla del trapecio, aproximamos la función por una función lineal que concide con $f$ en los extremos del intervalo (es un polinomio interpolador), e integramos esta función lineal.
El polinomio lineal $P$ que pasa por $(a,f(a))$ y $(b,f(b))$ se puede calcular en forma de Lagrange o en forma de Newton. En forma de Newton $$ P(x) = f(a) + f[a,b](x-a) = f(a) + \frac{f(b)-f(a)}{b-a}(x-a) $$ y su integral en el intervalo $[a,b]$ es: $$ \int_a^b P = f(a)(b-a) + f[a,b]\frac{1}{2}(b-a)^2= f(a)(b-a) + \frac{1}{2}(f(b)-f(a))(b-a) $$ $$ \int_a^b P = \left(\frac{f(b)+f(a)}{2}\right)(b-a) $$
En la regla de Simpson, aproximamos la función $f$ en el intervalo $[a,b]$ por un polinomio cuadrática que concide con $f$ en $a$, $b$ y $(a+b)/2$ (es un polinomio interpolador de grado $2$), e integramos este polinomio.
f
en un intervalo [a
, b
] mediante la regla del trapecio simple
Por supuesto, podemos dividir el intervalo de integración en $N$ partes iguales, y luego aplicar la regla simple en cada subintervalo.
f
en un intervalo [a
,b
], usando la regla del trapecio compuesta con N
subintervalos.f
en un intervalo [a
,b
], usando la regla de Simpson compuesta con N
subintervalos.