Documentaciónbiseccion(expr, a, b, tol, max_iter)
Nombre
biseccion - Busca una raiz de f(x)=0 en un intervalo con cambio de signo.
Sinopsis
x = numericos.biseccion(expr, a, b, tol, max_iter)
Descripcion
Aplica el metodo de biseccion sobre el intervalo [a,b] y conserva en cada paso el subintervalo donde sigue habiendo cambio de signo.
Requiere que f(a) * f(b) < 0.
Punto medio usado en cada iteracion:
Validaciones y casos borde
- Valida que
tolsea mayor que cero. - Valida que
max_itersea entero y mayor que cero. - Si
aobya es raiz dentro de la tolerancia, retorna ese extremo. - En otro caso exige cambio de signo entre
f(a)yf(b); si no existe, emiteERROR(). - Si no converge dentro de
max_iter, retorna el ultimo punto medio calculado.
Comportamiento
- Calcula repetidamente el punto medio
m = (a+b)/2. - Evalua la expresion en
a,bymconRESOLVER(). - Conserva el subintervalo que mantiene el cambio de signo.
- Retorna una raiz aproximada cuando la tolerancia se cumple o se agotan las iteraciones.
Funciones API relacionadas
numericos.newton_raphson()numericos.falsa_posicion()numericos.secante()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| expr | STRING | Expresion matematica en texto evaluada por RESOLVER(). |
| a | NUMERICO | Extremo inferior del intervalo. |
| b | NUMERICO | Extremo superior del intervalo. |
| tol | NUMERICO | Tolerancia numerica usada como criterio de parada. |
| max_iter | NUMERICO | Cantidad maxima de iteraciones permitidas. |
Valor de retorno
NUMERICO - Raíz aproximada de la ecuación.
Ejemplo
ejemplo.blox
INCLUIR "numericos.api"
FUNCION PRINCIPAL
INICIO
STRING f
NUMERICO r
f = "x^2 - 2"
r = numericos.biseccion(f, 0, 2, 0.000001, 100)
IMPRIMIR("\nRaiz por biseccion ≈ ", r)
FINAL
Restringido: este ejemplo no puede ejecutarse en el Playground web porque la API requerida no está disponible en el sandbox.