Inicio › Temas › Métodos numéricos
🔢 Métodos numéricos nivel básico
Integración numérica: trapecio y Simpson
Aproximar ∫f con trapecios o parábolas y ver cómo el error cae con h² o con h⁴.
🕹️ Ábrelo en el curso interactivo (simulador y código ejecutable)
La idea
Cuando una integral ∫ₐᵇ f(x) dx no tiene primitiva elemental o solo se conoce f en una tabla de valores, se aproxima numéricamente. La regla del trapecio divide [a, b] en n subintervalos de anchura h = (b − a)/n y sustituye la curva en cada uno por el segmento que une sus extremos: el área bajo ese segmento es un trapecio, h(fᵢ + fᵢ₊₁)/2, y la suma de todos ellos da la fórmula compuesta, con pesos 1-2-2-…-2-1 multiplicados por h/2.
La regla de Simpson es más fina: agrupa los subintervalos de dos en dos (por eso n debe ser par) y sustituye la curva por la parábola que pasa por los tres puntos. El resultado, h/3 · [f₀ + 4f₁ + 2f₂ + 4f₃ + … + 4fₙ₋₁ + fₙ], con pesos 1-4-2-4-…-4-1, integra de forma exacta cualquier polinomio de grado ≤ 3, no solo de grado 2, gracias a una cancelación por simetría del término cúbico.
La diferencia está en el orden del error. El trapecio comete un error −(b − a)h²/12 · f''(ξ): al duplicar n el error se divide por 4. Simpson comete −(b − a)h⁴/180 · f⁽⁴⁾(ξ): al duplicar n el error se divide por 16. Esa diferencia de orden es la que se ve en una tabla de errores frente a n y explica por qué Simpson alcanza la precisión de la máquina con unas decenas de evaluaciones. Hay sorpresas: para integrandos periódicos el trapecio converge de forma exponencial, y para funciones con derivada singular (como √x en 0) ambos métodos pierden orden y conviene cambiar de variable o usar cuadratura adaptativa.
Fórmulas clave
- Trapecio compuestoT(h) = h/2 · [f₀ + 2f₁ + 2f₂ + … + 2fₙ₋₁ + fₙ], h = (b − a)/n
- Simpson compuesto (n par)S(h) = h/3 · [f₀ + 4f₁ + 2f₂ + 4f₃ + … + 4fₙ₋₁ + fₙ]
- Error del trapecioE_T = −(b − a) h² f''(ξ) / 12 ∝ h²
- Error de SimpsonE_S = −(b − a) h⁴ f⁽⁴⁾(ξ) / 180 ∝ h⁴
- Orden observadop ≈ log₂[ E(h) / E(h/2) ]
Dónde se aplica
Los GPS y los relojes deportivos calculan la distancia recorrida integrando la velocidad muestreada cada segundo, esencialmente con la regla del trapecio. En farmacología, el área bajo la curva de concentración de un fármaco en sangre (AUC), que mide la exposición total del paciente, se obtiene con trapecios a partir de unas pocas extracciones. En ingeniería, el trabajo de un gas en un ciclo de motor es la integral de p dV sobre datos medidos, y en finanzas el precio de una opción bajo distribuciones sin fórmula cerrada se calcula integrando numéricamente la ganancia esperada con Simpson o con cuadratura gaussiana.
Con programación (Python)
import math
def trapecio(f, a, b, n):
h = (b - a) / n
s = (f(a) + f(b)) / 2 + sum(f(a + i * h) for i in range(1, n))
return s * h
def simpson(f, a, b, n):
if n % 2:
n += 1
h = (b - a) / n
s = f(a) + f(b) + sum((4 if i % 2 else 2) * f(a + i * h) for i in range(1, n))
return s * h / 3
exacta = 2.0 # integral de sen x entre 0 y pi
print("∫ sen x dx en [0, π] = 2")
e_ant = s_ant = None
for n in (2, 4, 8, 16, 32):
eT = abs(trapecio(math.sin, 0, math.pi, n) - exacta)
eS = abs(simpson(math.sin, 0, math.pi, n) - exacta)
rT = f" (÷{e_ant / eT:.1f})" if e_ant else ""
rS = f" (÷{s_ant / eS:.1f})" if s_ant else ""
print(f"n={n:2d} trapecio {eT:.3e}{rT} Simpson {eS:.3e}{rS}")
e_ant, s_ant = eT, eS
print("Simpson con x^3 en [0,1], n=2:", simpson(lambda x: x**3, 0, 1, 2), "(exacto 0.25)")La versión en JavaScript, editable y ejecutable en el navegador, está en la página interactiva del tema.
Temas relacionados
Sumas de Riemann y la integral definida · Teorema fundamental del cálculo · Métodos de Euler y Runge-Kutta