scipy.integrate — Numeerinen integrointi¶
scipy.integrate -alimoduuli tarjoaa numeerisia integrointirutiineja reaaliarvoisille, yksimuuttujaisille funktioille. Algoritmeja ei ole siirretty CPythonin scipy.integrate -paketista, vaan ne on johdettu osoitteessa https://www.genivia.com/qthsh.html olevasta viitetoteutuksesta.
Numeerinen integrointi toimii parhaiten float64-laskenta käytössä. float32-laskennalla rutiinit toimivat edelleen, mutta heikommalla tarkkuudella. Vaadittu virhetoleranssi voidaan määrittää eps -avainsana-argumentilla; oletuksena on käännösaikainen etolerance -arvo (1e-14 fp64:lle, 1e-8 fp32:lle). Kompleksilukuja ei tueta.
Funktiot¶
- scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]¶
Integroi f välillä a - b käyttäen adaptiivista Gauss-Kronrod-kvadratuuria (G10, K21). Tämä on suositeltu yleiskäyttöinen integrointimenetelmä.
- Parametrit:
f – kutsuttava, joka ottaa yhden
float-arvon ja palauttaafloat-arvon.a – integroinnin alaraja.
b – integroinnin yläraja.
order – integroinnin kertaluku (oletus
5).eps – virhetoleranssi (oletus
etolerance).
- Palauttaa:
kahden liukuluvun monikko
(result, error), joka antaa integraalin arvon ja virhearvion.
- scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integroi f välillä a - b käyttäen Rombergin menetelmää, Newton-Cotes-kaavaa, joka laskee integrandin tasaisin välein sijoitetuissa pisteissä. Sopii parhaiten integrandeille, joilla on jatkuvat derivaatat. Huomaa, että
scipy.integrate.rombergon vanhentunut CPythonissa SciPy-versiosta 1.12.0 alkaen; suosi uudessa koodissaquad().- Parametrit:
f – kutsuttava, joka ottaa yhden
float-arvon ja palauttaafloat-arvon.a – integroinnin alaraja.
b – integroinnin yläraja.
steps – askelten määrä (oletus
100).eps – virhetoleranssi (oletus
etolerance).
- Palauttaa:
integraalin arvo
float-muodossa.
- scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integroi f välillä a - b käyttäen adaptiivista Simpsonin sääntöä. Toisin kuin CPythonin
scipy.integrate.simpson, tämä funktio ottaa kutsuttavan ja valitsee näytteenottovälin sisäisesti sen sijaan, että ottaisi taulukon valmiiksi laskettuja funktion arvoja.- Parametrit:
f – kutsuttava, joka ottaa yhden
float-arvon ja palauttaafloat-arvon.a – integroinnin alaraja.
b – integroinnin yläraja.
steps – askelten määrä (oletus
100).eps – virhetoleranssi (oletus
etolerance).
- Palauttaa:
integraalin arvo
float-muodossa.
- scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]¶
Integroi f välillä a - b käyttäen Tanh-Sinh-, Sinh-Sinh- ja Exp-Sinh-kvadratuuriperhettä (kaksoiseksponentiaalinen). Tätä rutiinia kannattaa käyttää, kun integrandilla on singulariteetteja tai äärettömiä derivaattoja päätepisteissä, ja se on tämän alimoduulin ainoa rutiini, joka hyväksyy äärettömät integrointirajat (esim.
-np.inf,np.inf).- Parametrit:
f – kutsuttava, joka ottaa yhden
float-arvon ja palauttaafloat-arvon.a – integroinnin alaraja; voi olla
-np.inf.b – integroinnin yläraja; voi olla
np.inf.levels – tarkennustasojen määrä (oletus
6).eps – virhetoleranssi (oletus
etolerance).
- Palauttaa:
kahden liukuluvun monikko
(result, error), joka antaa integraalin arvon ja virhearvion.