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