Documentaciónnewton_raphson(expr, x0, tol, max_iter)

newton_raphson(expr,x0,tol,maxiter)\texttt{newton\_raphson}(expr, x_{0}, tol, max_{iter})

Nombre

newton_raphson - Aproxima una raiz de f(x)=0 con el metodo de Newton-Raphson.

Sinopsis

x = numericos.newton_raphson(expr, x0, tol, max_iter)

Descripcion

Aplica iteraciones sucesivas de Newton-Raphson para acercarse a una raiz de la expresion dada.

Formula principal:

xn+1=xnf(xn)f(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}

Es util cuando se dispone de una buena aproximacion inicial y la funcion es suficientemente suave cerca de la raiz.

Validaciones y casos borde

  • Valida que tol sea mayor que cero.
  • Valida que max_iter sea entero y mayor que cero.
  • Si la aproximacion actual ya cumple ABS(f(x)) < tol, la retorna sin calcular una derivada innecesaria.
  • Si la derivada numerica es casi nula, emite ERROR().
  • Si no converge dentro de max_iter, retorna la ultima aproximacion calculada.

Comportamiento

  • Evalua f(x) con RESOLVER().
  • Aproxima la derivada con numericos.derivada_central().
  • Detiene el proceso cuando ABS(f(x)) < tol o se alcanza max_iter.
  • Si la derivada se hace casi nula, emite ERROR() para evitar una division inestable.

Funciones API relacionadas

  • numericos.biseccion()
  • numericos.falsa_posicion()
  • numericos.secante()

Parámetros

ParámetroTipoDescripción
exprSTRINGExpresion matematica en texto evaluada por RESOLVER().
x0NUMERICOPosicion inicial en x; en formulas se representa como x0x_{0}.
tolNUMERICOTolerancia numerica usada como criterio de parada.
max_iterNUMERICOCantidad maxima de iteraciones permitidas.

Valor de retorno

NUMERICO - Raiz aproximada de la ecuacion.

Ejemplo

ejemplo.blox
Solo lectura
INCLUIR "vectores.api"
INCLUIR "graficos.api"
INCLUIR "numericos.api"

FUNCION PRINCIPAL
INICIO "Ejemplo Newton-Raphson con RESOLVER()"

    STRING f
    NUMERICO raiz, x0

    // Queremos resolver f(x) = 0
    f = "x^2 - 2"      // raíz verdadera: sqrt(2) ≈ 1.4142...

    x0 = 1             // aproximación inicial

    raiz = numericos.newton_raphson(f, x0, 0.000001, 50)

    IMPRIMIR("\nRaiz aproximada: ", raiz:8)
    IMPRIMIR("\n")


    // Ver la función y la raíz en un gráfico
    graficos.graficar_funcion(f, 1, 3, 100,
                              f,
                              "PROG900 - API - NUMERICOS - 1.1 Newton-Raphson.png")

FINAL


Restringido: este ejemplo no puede ejecutarse en el Playground web porque la API requerida no está disponible en el sandbox.