scipy.optimize — Traženje korijena i minimizacija¶
Podmodul scipy.optimize pruža jednostavne rutine za pronalaženje korijena i minimuma korisnički definiranih skalarnih funkcija. Budući da svaka iteracija mora pozvati natrag korisnički dostavljeni Python pozivni objekt, dobitak u brzini u odnosu na čistu Python implementaciju je skroman (obično oko 2x).
Funkcije¶
- scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float¶
Pronalazi korijen f u zagradi
[a, b]pomoću metode bisekcije. f mora promijeniti predznak na intervalu.- Parametri:
f – pozivni objekt koji prima jedan
floati vraćafloat.a – lijevi kraj zagrade.
b – desni kraj zagrade.
xtol – apsolutna tolerancija na lokaciju korijena (zadano
xtolerance).maxiter – najveći broj bisekcija (zadano
100).
- Vraća:
lokacija korijena kao
float.- Podiže:
ValueError – ako je
f(a) * f(b) > 0.
- scipy.optimize.curve_fit(f: Callable[..., float], xdata: ndarray | list | tuple, ydata: ndarray | list | tuple, p0: ndarray | list | tuple, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int | None = None) None¶
Zaglavlje za nelinearno prilagođavanje krivulje metodom najmanjih kvadrata (Levenberg-Marquardt). Prisutno u tablici modula radi kompatibilnosti API-ja, ali trenutno je rezervirano mjesto: prihvaća i provjerava svoje argumente, ali uvijek vraća
None. Dok ova rutina ne bude implementirana, radije koristitefmin()ili vanjske biblioteke.- Parametri:
f – model pozivni objekt
f(x, *params) -> float.xdata – 1-D polju slično neovisnih vrijednosti.
ydata – 1-D polju slično zavisnih vrijednosti, iste duljine kao xdata.
p0 – 1-D polju slično početnih procjena parametara.
- scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float¶
Pronalazi položaj lokalnog minimuma skalarne funkcije f pomoću metode silaznog simpleksa (Nelder-Mead).
- Parametri:
f – pozivni objekt koji prima jedan
floati vraćafloat.x0 – početna pretpostavka.
xatol – apsolutna tolerancija na položaj (zadano
xtolerance).fatol – apsolutna tolerancija na vrijednost funkcije (zadano
xtolerance).maxiter – najveći broj iteracija (zadano
200).
- Vraća:
lokacija minimuma kao
float.
- scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float¶
Pronalazi nulu realno vrijedne, skalarne funkcije f pomoću Newton-Raphsonove (sekantne) metode.
- Parametri:
f – pozivni objekt koji prima jedan
floati vraćafloat.x0 – početna pretpostavka.
tol – apsolutna tolerancija na korijen (zadano
xtolerance).rtol – relativna tolerancija na korijen (zadano
rtolerance).maxiter – najveći broj iteracija (zadano
50).
- Vraća:
lokacija korijena kao
float.