La regla de Simpson es un método de integración numérica. En otras palabras, es la aproximación numérica de integrales definidas.

La regla de Simpson es la siguiente:

En ella,

  • f(x) es llamado el integrand
  • a = es el límite inferior de integración
  • b = es el límite superior de integración

La Regla de 1/3 de Simpson

sim01

Como se muestra en el diagrama anterior, el integrando f(x) es aproximado por un polinomio de segundo orden, el interpolante cuadrático es P(x).

Sigue la aproximación,

sim3

Reemplazando (b-a)/2 como h, obtenemos,

sim4

Como puedes ver, hay un factor de 1/3 en la expresión anterior. Por eso, se llama la Regla de 1/3 de Simpson.

Si una función es altamente oscilatorio o carece de derivados en ciertos puntos, entonces la regla anterior puede no producir resultados precisos.

Una forma común de manejar esto es usando el enfoque de la regla compuesta de Simpson. Para ello, dividir [a,b] en pequeños subintervalos, y luego aplicar la regla de Simpson a cada subintervalo. Luego, sumar los resultados de cada cálculo para producir una aproximación sobre la integral completa.

Si el intervalo [a,b] se divide en n subintervalo, y n es un número par, la regla compuesta de Simpson se calcula con la siguiente fórmula:

sim7

donde xj = a+jh para j = 0,1,…,n-1,n con h=(b-a)/n ; en particular, x0 = a y xn = b.

Ejemplo en C++:

Para aproximar el valor de la integral dada abajo donde n = 8:

sim9
#include<iostream>
#include<cmath>
using namespace std;

float f(float x)
{
	return x*sin(x);	//Define la función f(x)
}

float simpson(float a, float b, int n)
{
	float h, x[n+1], sum = 0;
	int j;
	h = (b-a)/n;
	
	x[0] = a;
	
	for(j=1; j<=n; j++)
	{
		x[j] = a + h*j;
	}
	
	for(j=1; j<=n/2; j++)
	{
		sum += f(x[2*j - 2]) + 4*f(x[2*j - 1]) + f(x[2*j]);
	}
	
	return sum*h/3;
}

int main()
{
	float a,b,n;
	a = 1;		//Ingresa el límite inferior a
	b = 4;		//Ingresa el límite superior b
	n = 8;		//Ingresa la longitud del intervalo n
	if (n%2 == 0)
		cout<<simpson(a,b,n)<<endl;
	else
		cout<<"n debería ser un número par";
	return 0;
}

La Regla de 3/8 de Simpson

La regla de 3/8 de Simpson es similar a la regla de 1/3 de Simpson, con la única diferencia de que, para la regla de 3/8, el interpolante es un polinomio cúbico. Aunque la regla de 3/8 utiliza un valor de función más, es aproximadamente dos veces más precisa que la regla de 1/3.

La regla de 3/8 de Simpson establece:

sim6

Reemplazando (b-a)/3 como h, obtenemos,

sim5

La regla de 3/8 de Simpson para n intervalos (n debería ser un múltiplo de 3):

sim8

donde xj = a+jh para j = 0,1,…,n-1,n con h=(b-a)/n; en particular, x0 = a y xn = b.

Traducido del artículo - Simpson's Rule: the Formula and How it Works