scipy.integrate — Numerička integracija¶
Podmodul scipy.integrate pruža rutine za numeričku integraciju realno vrijednih funkcija jedne varijable. Algoritmi nisu preneseni iz CPythonove scipy.integrate već su izvedeni iz referentne implementacije na https://www.genivia.com/qthsh.html .
Numerička integracija radi najbolje s omogućenom float64 aritmetikom. S float32 aritmetikom rutine još uvijek rade, ali s manjom preciznošću. Potrebna tolerancija pogreške može se navesti putem ključnog argumenta eps; zadana vrijednost je vrijednost etolerance u trenutku prevođenja (1e-14 za fp64, 1e-8 za fp32).
Funkcije¶
- scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]¶
Integrira f od a do b pomoću adaptivne Gauss-Kronrod (G10, K21) kvadrature. Ovo je preporučeni integrator opće namjene.
- Parametri:
f – pozivni objekt koji prima jedan
floati vraćafloat.a – donja granica integracije.
b – gornja granica integracije.
order – red integracije (zadano
5).eps – tolerancija pogreške (zadano
etolerance).
- Vraća:
2-torka
(result, error)floatova koja daje vrijednost integrala i procjenu pogreške.
- scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integrira f od a do b pomoću Rombergove metode, Newton-Cotesove formule koja vrednuje integrand u jednako razmaknutim točkama. Najprikladnija za integrande s neprekinutim derivacijama. Imajte na umu da je
scipy.integrate.rombergzastario u CPythonu od SciPy 1.12.0; za novi kod radije koristitequad().- Parametri:
f – pozivni objekt koji prima jedan
floati vraćafloat.a – donja granica integracije.
b – gornja granica integracije.
steps – broj koraka (zadano
100).eps – tolerancija pogreške (zadano
etolerance).
- Vraća:
vrijednost integrala kao
float.
- scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integrira f od a do b pomoću adaptivnog Simpsonovog pravila. Za razliku od CPythonove
scipy.integrate.simpson, ova funkcija prima pozivni objekt i interno bira razmak uzorkovanja umjesto da prima polje unaprijed izračunatih vrijednosti funkcije.- Parametri:
f – pozivni objekt koji prima jedan
floati vraćafloat.a – donja granica integracije.
b – gornja granica integracije.
steps – broj koraka (zadano
100).eps – tolerancija pogreške (zadano
etolerance).
- Vraća:
vrijednost integrala kao
float.
- scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]¶
Integrira f od a do b pomoću obitelji Tanh-Sinh, Sinh-Sinh i Exp-Sinh (dvostruko eksponencijalnih) kvadratura. Ovo je rutina koju treba koristiti kada integrand ima singularitete ili beskonačne derivacije u krajnjim točkama, i jedina je rutina u ovom podmodulu koja prihvaća beskonačne granice integracije (npr.
-np.inf,np.inf).- Parametri:
f – pozivni objekt koji prima jedan
floati vraćafloat.a – donja granica integracije; može biti
-np.inf.b – gornja granica integracije; može biti
np.inf.levels – broj razina profinjenja (zadano
6).eps – tolerancija pogreške (zadano
etolerance).
- Vraća:
2-torka
(result, error)floatova koja daje vrijednost integrala i procjenu pogreške.