2026. június 24., szerda

Simpson-formula

Kedves diákjaim!  A Python programozás a mélyreható elméleti ismereteket (algoritmuselmélet, komplexitás, objektumorientáltság) és a tudományos számítást, adatelemzést ötvözi. A Simpson-formula integrálással való megoldása szép példája

-----------------------------
import numpy as np
from typing import Callable, Union

def simpson_integrals(
    f: Callable[[Union[int, float]], float],
    a: Union[int, float],
    b: Union[int, float],
    n: int
) -> float:
    """
    Kiszámolja az f(x) határozott integrálját az [a, b] intervallumon
    a Simpson-szabály alkalmazásával.
    """
    if n % 2 != 0:
        raise ValueError("Az 'n' értékének páros számnak kell lennie!")

    h = (b - a) / n
    x = np.linspace(a, b, n + 1)
    y = f(x)

    integral_approx = y[0] + y[-1]
    integral_approx += 4 * np.sum(y[1:-1:2])
    integral_approx += 2 * np.sum(y[2:-2:2])

    return (h / 3) * integral_approx

if __name__ == "__main__":
    funkcio = lambda x: x**2
    also_hatar = 1
    felso_hatar = 2
    reszintervallum = 1000

    eredmeny = simpson_integrals(funkcio, also_hatar, felso_hatar, reszintervallum)
    print(f"Az integrál becsült értéke: {eredmeny:.6f}")
-------------------
Eredmény: 2.333333

Nincsenek megjegyzések:

Megjegyzés küldése