Conectar vía MCP →

Ingresar cálculo

Usa x como variable. Funciones: sin, cos, tan, asin, acos, atan, exp, ln, log, sqrt, abs. Constantes: pi, e. Operadores: + - * / ^.
Choose a, b so that f(a)·f(b) ≤ 0 (the root must be bracketed).

Fórmula

Publicidad

Resultados

x (root) where f(x) ≈ 0
0,7390851332151449
solución aproximada de f(x) = 0
f(x) en la raíz -0,0000000000000263
Iteraciones empleadas 50
Método Bisección (división del intervalo a la mitad)

¿Qué es el método de bisección?

El método de bisección es una de las técnicas más antiguas y fiables para encontrar una raíz de una función continua \(f(x)\): un valor de \(x\) en el que \(f(x) = 0\). Parte de un intervalo \([a, b]\) en el que la función cambia de signo y, a continuación, lo divide repetidamente por la mitad conservando la mitad que sigue conteniendo la raíz. Como el cambio de signo se mantiene en cada paso, el método tiene la convergencia garantizada siempre que \(f\) sea continua y \(f(a)\) y \(f(b)\) tengan signos opuestos. Esta calculadora funciona con cualquier función real adimensional y emplea radianes en las funciones trigonométricas.

Curva continua que cruza el eje x entre los puntos a y b, con el punto medio mostrado
El método de bisección acota una raíz donde \(f(a)\) y \(f(b)\) tienen signos opuestos.

Cómo usar esta calculadora

Escribe tu función en el campo f(x) usando \(x\) como variable (por ejemplo x-cos(x), x^2-2 o exp(x)-3). Define el extremo inferior a y el extremo superior b de modo que la raíz quede entre ambos: el producto \(f(a)\cdot f(b)\) debe ser menor o igual que cero. Elige un número máximo de iteraciones n y cuántos dígitos quieres mostrar. La herramienta devuelve la raíz aproximada, el valor de la función en ese punto (que debería estar cerca de cero) y cuántas iteraciones se necesitaron realmente.

La fórmula

En cada paso la estimación es el punto medio \(x_n = (a_n + b_n) / 2\). $$c = \frac{\text{a} + \text{b}}{2} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} &\text{if } f(a)\cdot f(c) < 0 \Rightarrow b \leftarrow c \\ &\text{else} \Rightarrow a \leftarrow c \\ &\text{repeat up to } n \text{ times} \end{aligned} \right.$$ Si \(|f(x_n)|\) está por debajo de la tolerancia, se acepta \(x_n\). En caso contrario, el algoritmo conserva la mitad que aún presenta cambio de signo: si \(f(a_n)\cdot f(x_n) > 0\), la raíz está a la derecha (se hace \(a = x_n\)); de lo contrario está a la izquierda (se hace \(b = x_n\)). El ancho del intervalo se reduce según \((b-a)/2^n\), por lo que la convergencia es lineal: aproximadamente un dígito binario correcto más por cada paso.

Reducción sucesiva a la mitad de un intervalo que converge hacia una raíz
Cada iteración reduce a la mitad el intervalo, conservando la mitad que aún contiene la raíz.

Ejemplo resuelto

Para \(f(x) = x - \cos(x)\) en \([-10, 10]\): \(f(-10) \approx -10{,}84\) (negativo) y \(f(10) \approx 10{,}84\) (positivo), de modo que la raíz queda acotada. Dividiendo repetidamente por la mitad se converge a \(x \approx 0{,}7390851332151607\), el célebre número de Dottie, donde \(x = \cos x\), con \(f(x)\) prácticamente igual a cero.

Cómo hacer el método de bisección a mano

El método de bisección encuentra una raíz de \(f(x)=0\) dividiendo repetidamente un intervalo que se sabe contiene una raíz. Se basa en el Teorema del Valor Intermedio: si \(f\) es continua en \([a,b]\) y \(f(a)\) y \(f(b)\) tienen signos opuestos, una raíz debe estar entre ellos.

  1. Verificar el intervalo. Confirmar que \(f(a)\cdot f(b)<0\). Si el producto es positivo, el intervalo no tiene garantía de contener una raíz — elegir un \([a,b]\) diferente.
  2. Calcular el punto medio. \(m=\dfrac{a+b}{2}\).
  3. Evaluar la función. Encontrar \(f(m)\). Si \(f(m)=0\) (o está dentro de la tolerancia), \(m\) es la raíz y se detiene.
  4. Reemplazar un extremo por el signo. Si \(f(a)\cdot f(m)<0\), la raíz está en \([a,m]\), así que establezca \(b\leftarrow m\). De lo contrario la raíz está en \([m,b]\), así que establezca \(a\leftarrow m\).
  5. Repetir pasos 2–4 hasta que \(|b-a|<\text{tol}\) o \(|f(m)|<\text{tol}\), o hasta alcanzar el contador máximo de iteraciones.

Ejemplo: \(f(x)=x^{3}-x-2\) en \([1,2]\). Verificar: \(f(1)=-2\), \(f(2)=4\), producto \(<0\) — el intervalo es válido.

Iter a b m=(a+b)/2 f(m) Nuevo intervalo
1 1.0000 2.0000 1.5000 −0.125 [1.5, 2]
2 1.5000 2.0000 1.7500 1.6094 [1.5, 1.75]
3 1.5000 1.7500 1.6250 0.6660 [1.5, 1.625]
4 1.5000 1.6250 1.5625 0.2522 [1.5, 1.5625]
5 1.5000 1.5625 1.5313 0.0591 [1.5, 1.5313]
6 1.5000 1.5313 1.5156 −0.0340 [1.5156, 1.5313]

Después de más iteraciones el intervalo se cierra en la raíz verdadera 1.521380, que también es la única raíz real de la cúbica \(x^{3}-x-2=0\) encontrada por un solucionador directo 1.521380.

Iteraciones frente a tolerancia y ancho del intervalo

Cada paso de bisección divide el intervalo por la mitad, así que después de \(n\) iteraciones el ancho del intervalo es \((b-a)/2^{\,n}\). Para alcanzar una tolerancia \(\text{tol}\) en la ubicación de la raíz necesita aproximadamente

$$n \approx \log_2\!\left(\frac{b-a}{\text{tol}}\right).$$

El conteo crece solo con el logaritmo de la precisión, así que incluso tolerancias muy estrictas requieren relativamente pocos pasos. La tabla muestra el contador de iteraciones redondeado hacia arriba para varias combinaciones.

Ancho inicial \(b-a\) Tolerancia objetivo \(\log_2((b-a)/\text{tol})\) Iteraciones necesarias
1 \(10^{-3}\) 9.97 10
1 \(10^{-6}\) 19.93 20
1 \(10^{-10}\) 33.22 34
10 \(10^{-6}\) 23.25 24
20 \(10^{-6}\) 24.25 25
100 \(10^{-8}\) 33.22 34
0.5 \(10^{-12}\) 38.86 39

Por ejemplo, un intervalo de ancho 20 refinado a \(10^{-6}\) necesita \(\lceil\log_2(20/10^{-6})\rceil=\lceil 24.25\rceil=\) 25 iteraciones, y un intervalo de ancho 1 a \(10^{-10}\) necesita \(\lceil 33.22\rceil=\) 34. Dividir por la mitad el ancho inicial ahorra exactamente una iteración; elevar al cuadrado la precisión (un decimal adicional) cuesta aproximadamente 3.3 iteraciones.

Términos clave

  • Raíz. Un valor \(x^{*}\) donde la función es cero, \(f(x^{*})=0\); también llamada cero o solución de la ecuación.
  • Intervalo / intervalo \([a,b]\). Un par de extremos que se cree encierran una raíz. Para bisección debe satisfacer la condición de cambio de signo.
  • Cambio de signo. La condición \(f(a)\cdot f(b)<0\), lo que significa que \(f\) toma signos opuestos en los extremos. Para una \(f\) continua esto garantiza al menos una raíz entre ellos (Teorema del Valor Intermedio).
  • Punto medio. El centro del intervalo actual, \(m=(a+b)/2\); cada paso prueba este punto y descarta la mitad que no puede contener la raíz.
  • Tolerancia. El objetivo de precisión que detiene la iteración, aplicado ya sea al ancho del intervalo \(|b-a|\) o al residuo \(|f(m)|\).
  • Convergencia (lineal). La bisección converge linealmente: el error se reduce aproximadamente a la mitad en cada paso (error \(\le (b-a)/2^{n}\)), dando progreso constante pero no acelerado — aproximadamente un dígito binario correcto adicional por iteración.
  • Iteración. Un ciclo completo de calcular el punto medio, evaluar la función y actualizar un extremo. El contador de iteraciones está limitado por la configuración de iteraciones máximas.

Preguntas frecuentes

¿Por qué me aparece el error «sin cambio de signo»? La bisección necesita que \(f(a)\) y \(f(b)\) tengan signos opuestos. Ajusta \(a\) y \(b\) hasta que encierren la raíz.

¿Puede encontrar más de una raíz? No: devuelve una única raíz dentro del intervalo y no puede detectar raíces en las que la curva solo toca el eje sin cruzarlo.

¿Por qué es más lento que el método de Newton? La bisección converge linealmente, ganando alrededor de un dígito binario por paso, mientras que el método de Newton converge de forma cuadrática. La bisección se usa a menudo para obtener un punto de partida seguro que luego refinan métodos más rápidos.

Última actualización: