∫Atlas Matemáticas Aplicadas

Inicio › Temas › Métodos numéricos

🔢 Métodos numéricos nivel básico

Método de bisección

Encerrar la raíz en un intervalo y partirlo por la mitad hasta atraparla: lento pero infalible.

🕹️ Ábrelo en el curso interactivo (simulador y código ejecutable)

La idea

El método de bisección es la forma más sencilla y robusta de localizar una raíz de una ecuación f(x) = 0. Se apoya en el teorema de Bolzano: si f es continua en [a, b] y f(a) y f(b) tienen signos opuestos, entonces existe al menos un punto c del intervalo con f(c) = 0. El método no necesita derivadas ni fórmulas cerradas: solo evaluar la función y comparar signos.

En cada paso se calcula el punto medio c = (a + b)/2 y se decide en cuál de las dos mitades sigue habiendo cambio de signo; esa mitad se convierte en el nuevo intervalo. Tras n pasos la anchura es (b − a)/2ⁿ, así que la cota de error de tomar el punto medio como raíz es |cₙ − r| ≤ (b − a)/2ⁿ⁺¹. Despejando se obtiene cuántas iteraciones hacen falta para una tolerancia ε: n ≥ log₂((b − a)/ε) − 1, un número que se conoce antes de empezar, algo poco habitual en los métodos numéricos.

La convergencia es lineal: el error se reduce aproximadamente a la mitad en cada iteración, lo que equivale a ganar un dígito binario (unos 0,3 dígitos decimales) por paso. Es lento comparado con Newton, pero nunca falla mientras se cumpla la hipótesis de Bolzano; por eso se usa como método de respaldo en algoritmos híbridos como el de Brent y como primera etapa para acotar la raíz antes de refinarla con métodos más rápidos. Su limitación: no detecta raíces de multiplicidad par, donde f toca el eje sin cambiar de signo.

Fórmulas clave

  • Condición de Bolzanof continua en [a, b] y f(a) · f(b) < 0 ⇒ ∃ r ∈ (a, b) con f(r) = 0
  • Punto mediocₙ = (aₙ + bₙ) / 2
  • Cota de error|cₙ − r| ≤ (b − a) / 2ⁿ⁺¹
  • Iteraciones necesariasn ≥ log₂((b − a)/ε) − 1
  • Convergencia linealeₙ₊₁ ≈ ½ · eₙ

Dónde se aplica

En finanzas, la tasa interna de retorno (TIR) de una inversión es la raíz de un polinomio en (1 + r) que no se puede despejar; las hojas de cálculo la acotan por bisección antes de refinarla. En ingeniería mecánica, hallar la temperatura de equilibrio de un sistema con radiación (ecuación de cuarto grado) o el nivel de un depósito con sección variable son problemas f(x) = 0 con una función continua y un intervalo físico conocido, el escenario ideal del método. Y la búsqueda binaria de los algoritmos es exactamente la misma idea aplicada a una lista ordenada.

Con programación (Python)

import math

def biseccion(f, a, b, tol=1e-4, max_iter=60):
    if f(a) * f(b) > 0:
        raise ValueError("f(a) y f(b) deben tener signos opuestos")
    for n in range(max_iter):
        c = (a + b) / 2
        fc = f(c)
        print(f"n={n:2d}  a={a:.6f}  b={b:.6f}  c={c:.6f}  f(c)={fc:+.6f}")
        if fc == 0 or (b - a) / 2 < tol:
            return c
        if f(a) * fc < 0:
            b = c
        else:
            a = c
    return (a + b) / 2

f = lambda x: x**3 - x - 2
r = biseccion(f, 1, 2)
print("Raíz ≈", r, " f(r) =", f(r))
print("Cota teórica: n ≥", math.ceil(math.log2(1 / 1e-4) - 1), "iteraciones")

La versión en JavaScript, editable y ejecutable en el navegador, está en la página interactiva del tema.

Temas relacionados

Método de Newton-Raphson · Iteración de punto fijo · Búsqueda binaria · Límites y continuidad

← Todos los temas