scipy.integrate — Numerieke integratie¶
De submodule scipy.integrate biedt numerieke integratieroutines voor reëelwaardige functies van één variabele. De algoritmen zijn niet overgenomen uit CPython’s scipy.integrate, maar afgeleid van de referentie-implementatie op https://www.genivia.com/qthsh.html.
Numerieke integratie werkt het best met float64-rekenkunde ingeschakeld. Met float32-rekenkunde werken de routines nog steeds, met verminderde precisie. De vereiste fouttolerantie kan worden opgegeven via het sleutelwoordargument eps; de standaard is de tijdens het compileren bepaalde waarde etolerance (1e-14 voor fp64, 1e-8 voor fp32). Complexe getallen worden niet ondersteund.
Functies¶
- scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]¶
Integreer f van a tot b met een Adaptive Gauss-Kronrod (G10, K21) kwadratuur. Dit is de aanbevolen integrator voor algemeen gebruik.
- Parameters:
f – aanroepbaar object dat een enkele
floataanneemt en eenfloatteruggeeft.a – ondergrens van de integratie.
b – bovengrens van de integratie.
order – orde van de integratie (standaard
5).eps – fouttolerantie (standaard
etolerance).
- Geeft terug:
een 2-tuple
(result, error)van floats dat de waarde van de integraal en een foutschatting geeft.
- scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integreer f van a tot b met Rombergs methode, een Newton-Cotes-formule die de integrand op gelijk verdeelde punten evalueert. Het meest geschikt voor integranden met continue afgeleiden. Merk op dat
scipy.integrate.rombergin CPython is verouderd sinds SciPy 1.12.0; gebruik bij voorkeurquad()voor nieuwe code.- Parameters:
f – aanroepbaar object dat een enkele
floataanneemt en eenfloatteruggeeft.a – ondergrens van de integratie.
b – bovengrens van de integratie.
steps – aantal stappen (standaard
100).eps – fouttolerantie (standaard
etolerance).
- Geeft terug:
de waarde van de integraal als een
float.
- scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integreer f van a tot b met de adaptieve regel van Simpson. In tegenstelling tot CPython’s
scipy.integrate.simpsonneemt deze functie een aanroepbaar object aan en kiest ze de monsterafstand intern, in plaats van een array van vooraf berekende functiewaarden aan te nemen.- Parameters:
f – aanroepbaar object dat een enkele
floataanneemt en eenfloatteruggeeft.a – ondergrens van de integratie.
b – bovengrens van de integratie.
steps – aantal stappen (standaard
100).eps – fouttolerantie (standaard
etolerance).
- Geeft terug:
de waarde van de integraal als een
float.
- scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]¶
Integreer f van a tot b met de Tanh-Sinh-, Sinh-Sinh- en Exp-Sinh-kwadratuurfamilie (dubbel-exponentieel). Dit is de routine die u moet gebruiken wanneer de integrand singulariteiten of oneindige afgeleiden bij de eindpunten heeft, en het is de enige routine in deze submodule die oneindige integratiegrenzen accepteert (bijv.
-np.inf,np.inf).- Parameters:
f – aanroepbaar object dat een enkele
floataanneemt en eenfloatteruggeeft.a – ondergrens van de integratie; mag
-np.infzijn.b – bovengrens van de integratie; mag
np.infzijn.levels – aantal verfijningsniveaus (standaard
6).eps – fouttolerantie (standaard
etolerance).
- Geeft terug:
een 2-tuple
(result, error)van floats dat de waarde van de integraal en een foutschatting geeft.