scipy.integrate — Numerikus integrálás¶
A scipy.integrate almodul numerikus integrálási rutinokat biztosít valós értékű, egyváltozós függvényekhez. Az algoritmusok nem a CPython scipy.integrate csomagjából lettek átültetve, hanem a https://www.genivia.com/qthsh.html referencia-implementációból származnak.
A numerikus integrálás akkor működik a legjobban, ha a float64 matematika engedélyezve van. A float32 matematikával a rutinok továbbra is működnek, csökkentett pontossággal. A szükséges hibatűrés az eps kulcsszó-argumentummal adható meg; az alapértelmezett a fordítási idejű etolerance érték (1e-14 fp64 esetén, 1e-8 fp32 esetén). A komplex számok nem támogatottak.
Függvények¶
- scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]¶
Az f integrálása a-tól b-ig adaptív Gauss-Kronrod (G10, K21) kvadratúrával. Ez az ajánlott általános célú integrátor.
- Paraméterek:
f – egyetlen
floatértéket fogadó ésfloatértéket visszaadó hívható objektum.a – alsó integrálási határ.
b – felső integrálási határ.
order – az integrálás rendje (alapértelmezett
5).eps – hibatűrés (alapértelmezett
etolerance).
- Visszatérési érték:
egy
(result, error)2-tuple float értékekkel, amely megadja az integrál értékét és egy hibabecslést.
- scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Az f integrálása a-tól b-ig Romberg módszerével, amely egy Newton-Cotes-képlet, és az integrandust egyenletesen elhelyezkedő pontokban értékeli ki. Legjobban a folytonos deriváltakkal rendelkező integrandusokhoz illik. Vegye figyelembe, hogy a
scipy.integrate.romberga CPythonban a SciPy 1.12.0 óta elavult; új kódhoz inkább aquad()ajánlott.- Paraméterek:
f – egyetlen
floatértéket fogadó ésfloatértéket visszaadó hívható objektum.a – alsó integrálási határ.
b – felső integrálási határ.
steps – lépések száma (alapértelmezett
100).eps – hibatűrés (alapértelmezett
etolerance).
- Visszatérési érték:
az integrál értéke
floattípusként.
- scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Az f integrálása a-tól b-ig adaptív Simpson-szabállyal. A CPython
scipy.integrate.simpsonfüggvényével ellentétben ez a függvény egy hívható objektumot vesz át, és a mintaközöket belsőleg választja meg, ahelyett, hogy előre kiszámított függvényértékek tömbjét venné át.- Paraméterek:
f – egyetlen
floatértéket fogadó ésfloatértéket visszaadó hívható objektum.a – alsó integrálási határ.
b – felső integrálási határ.
steps – lépések száma (alapértelmezett
100).eps – hibatűrés (alapértelmezett
etolerance).
- Visszatérési érték:
az integrál értéke
floattípusként.
- scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]¶
Az f integrálása a-tól b-ig a Tanh-Sinh, Sinh-Sinh és Exp-Sinh (kettősen exponenciális) kvadratúra-családdal. Ezt a rutint akkor érdemes használni, ha az integrandusnak szingularitásai vagy végtelen deriváltjai vannak a végpontokban, és ez az egyetlen rutin ebben az almodulban, amely végtelen integrálási határokat is elfogad (pl.
-np.inf,np.inf).- Paraméterek:
f – egyetlen
floatértéket fogadó ésfloatértéket visszaadó hívható objektum.a – alsó integrálási határ; lehet
-np.infis.b – felső integrálási határ; lehet
np.infis.levels – a finomítási szintek száma (alapértelmezett
6).eps – hibatűrés (alapértelmezett
etolerance).
- Visszatérési érték:
egy
(result, error)2-tuple float értékekkel, amely megadja az integrál értékét és egy hibabecslést.