Documentaciónintegral_simpson(expr, a, b, n)

integral_simpson(expr,a,b,n)\texttt{integral\_simpson}(expr, a, b, n)

Nombre

integral_simpson - Aproxima una integral definida con la regla de Simpson 1/3 compuesta.

Sinopsis

area = numericos.integral_simpson(expr, a, b, n)

Descripcion

Aproxima la integral definida de una expresion entre a y b usando parabolas sobre subintervalos consecutivos.

Requiere que n sea par.

Formula compuesta:

Ih3[f(a)+4f(ximpares)+2f(xpares)+f(b)]I \approx \frac{h}{3}[f(a) + 4\sum f(x_{impares}) + 2\sum f(x_{pares}) + f(b)]

Validaciones y casos borde

  • Valida que n sea entero, mayor que cero y par; si no, emite ERROR().
  • Si a == b, retorna 0, que es el valor matematico de la integral sobre un intervalo nulo.
  • Admite a > b y retorna la integral con signo negativo.

Comportamiento

  • Calcula el paso h = (b-a)/n.
  • Evalua f(x) con RESOLVER() en extremos y nodos interiores.
  • Suma los puntos impares con peso 4 y los pares con peso 2.
  • Requiere que n sea par; si no lo es, emite ERROR().

Funciones API relacionadas

  • numericos.integral_trapecio()

Parámetros

ParámetroTipoDescripción
exprSTRINGExpresion matematica en texto evaluada por RESOLVER().
aNUMERICOExtremo inferior del intervalo.
bNUMERICOExtremo superior del intervalo.
nNUMERICOCantidad de subintervalos.

Valor de retorno

NUMERICO - Valor aproximado de la integral definida.

Ejemplo

ejemplo.blox
Solo lectura
INCLUIR "numericos.api"

FUNCION PRINCIPAL
INICIO "Demo INTEGRACION - numericos.api"

    STRING f1, f2
    NUMERICO a, b
    NUMERICO n
    NUMERICO I_trap, I_simp

    // ----------------------------------------------------------------
    // CASO 1: f(x) = x^2   en [0, 1]
    // Integral exacta = 1/3 ≈ 0.33333333
    // ----------------------------------------------------------------
    f1 = "x^2"
    a = 0
    b = 1
    n = 10      // probá también n = 100 para ver mejora

    IMPRIMIR("Demo integracion para f(x) = x^2 en [0, 1]")
    IMPRIMIR("\nIntegral exacta ≈ 0.33333333\n")

    I_trap = numericos.integral_trapecio(f1, a, b, n)
    I_simp = numericos.integral_simpson(f1, a, b, n)

    IMPRIMIR("Trapecio  (n = ", n, "): ", I_trap)
    IMPRIMIR("\nSimpson   (n = ", n, "): ", I_simp, "\n")

    // ----------------------------------------------------------------
    // CASO 2: f(x) = sin(x) en [0, pi]
    // Integral exacta = 2
    // ----------------------------------------------------------------
    f2 = "sin(x)"
    a  = 0
    b  = pi
    n  = 10      // debe ser par para Simpson

    IMPRIMIR("\nDemo integracion para f(x) = sin(x) en [0, pi]")
    IMPRIMIR("\nIntegral exacta = 2\n")

    I_trap = numericos.integral_trapecio(f2, a, b, n)
    I_simp = numericos.integral_simpson(f2, a, b, n)

    IMPRIMIR("Trapecio  (n = ", n, "): ", I_trap)
    IMPRIMIR("\nSimpson   (n = ", n, "): ", I_simp)

    IMPRIMIR("\n\nFin demo integracion.\n")

FINAL



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