Método de bisección con Python: convergencia y condiciones que no debes omitir
Un método numérico no es únicamente una fórmula. También necesita una condición de entrada, un criterio de parada y una forma de avisar cuando no puede ofrecer una solución fiable.
El problema y el alcance del ejemplo
La ficha de Numerical Methods: Cálculo resume su función así: «Resuelve raíces, interpolación y mínimos cuadrados con iteraciones paso a paso» Numerical Methods incluye búsqueda de raíces y visualización de iteraciones según su descripción pública. Vamos a reproducir bisección para una ecuación continua, con validación del intervalo y tolerancia explícita. Este ejemplo no es código de la app.
Cómo reproducir la idea
Necesitas Python 3. Guarda biseccion.py y ejecútalo sin dependencias externas.
def biseccion(f, a, b, tolerancia=1e-8, max_iter=100):
fa, fb = f(a), f(b)
if fa == 0:
return a
if fb == 0:
return b
if fa * fb > 0:
raise ValueError('El intervalo no tiene cambio de signo')
for paso in range(1, max_iter + 1):
m = (a + b) / 2
fm = f(m)
print(f'{paso:02d}: x={m:.10f}, f(x)={fm:.3e}')
if abs(fm) < tolerancia or (b - a) / 2 < tolerancia:
return m
if fa * fm < 0:
b, fb = m, fm
else:
a, fa = m, fm
raise RuntimeError('No convergió dentro del límite')
raiz = biseccion(lambda x: x**3 - x - 2, 1, 2)
print('Raíz aproximada:', raiz)
Qué demuestra el código
Cada paso conserva un intervalo con cambio de signo. La implementación muestra los valores de la función y permite ver cómo el ancho del intervalo disminuye. Bisección es robusta bajo sus hipótesis, aunque puede converger más despacio que otros métodos.
Pruebas recomendadas
El resultado debe aproximarse a 1.52138. Cambia el intervalo por [3, 4] para observar el error de validación. Reduce max_iter a 2 y verifica que el algoritmo no finge haber encontrado una respuesta exacta.
Límites que conviene reconocer
El método exige continuidad en el intervalo y un cambio de signo apropiado; existen raíces sin cambio de signo que esta verificación no detecta. No incorpora análisis de error de redondeo ni métodos para funciones discontinuas.
Qué aprendemos
Un programa educativo debe hacer visibles las hipótesis y los criterios de parada. Una tabla de iteraciones puede enseñar más que un número final.
Contexto y enlaces del autor
El tema se relaciona con las funciones declaradas públicamente de Numerical Methods: Cálculo, una aplicación Android de AppInitDev. El código anterior es un ejemplo independiente: no se ha inspeccionado el repositorio privado ni se afirma que sea la implementación interna de la app. La referencia aparece al final para ofrecer contexto, no como requisito para completar el tutorial.
- Google Play: Numerical Methods: Cálculo
- Página de la aplicación: https://methods-premium.appinitdev.com/
- Sitio del desarrollador: AppInitDev

Top comments (0)