scipy.optimize — Găsirea rădăcinilor și minimizare¶
Submodulul scipy.optimize oferă rutine simple pentru găsirea rădăcinilor și minimelor funcțiilor scalare definite de utilizator. Deoarece fiecare iterație trebuie să apeleze înapoi apelabilul Python furnizat de utilizator, câștigul de viteză față de o implementare pur Python este modest (de obicei aproximativ 2x).
Funcții¶
- scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float¶
Găsește o rădăcină a lui f în intervalul
[a, b]folosind metoda bisecției. f trebuie să își schimbe semnul pe interval.- Parametrii:
f – apelabil care preia un singur
floatși returnează unfloat.a – capătul stâng al intervalului.
b – capătul drept al intervalului.
xtol – toleranța absolută asupra poziției rădăcinii (implicit
xtolerance).maxiter – numărul maxim de bisecții (implicit
100).
- Întoarce:
poziția rădăcinii ca
float.- Generează:
ValueError – dacă
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¶
Funcție-substitut pentru ajustarea curbelor prin cele mai mici pătrate neliniare (Levenberg-Marquardt). Prezentă în tabelul modulului pentru compatibilitatea API, dar momentan un substituent: acceptă și validează argumentele, dar returnează întotdeauna
None. Preferațifmin()sau biblioteci externe până când această rutină este implementată.- Parametrii:
f – model apelabil
f(x, *params) -> float.xdata – obiect asemănător unui tablou 1-D de valori independente.
ydata – obiect asemănător unui tablou 1-D de valori dependente, de aceeași lungime ca xdata.
p0 – obiect asemănător unui tablou 1-D de estimări inițiale ale parametrilor.
- scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float¶
Găsește poziția unui minim local al funcției scalare f folosind metoda simplexului descendent (Nelder-Mead).
- Parametrii:
f – apelabil care preia un singur
floatși returnează unfloat.x0 – estimare inițială.
xatol – toleranța absolută asupra poziției (implicit
xtolerance).fatol – toleranța absolută asupra valorii funcției (implicit
xtolerance).maxiter – numărul maxim de iterații (implicit
200).
- Întoarce:
poziția minimului ca
float.
- scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float¶
Găsește un zero al funcției scalare cu valori reale f prin metoda Newton-Raphson (secantei).
- Parametrii:
f – apelabil care preia un singur
floatși returnează unfloat.x0 – estimare inițială.
tol – toleranța absolută asupra rădăcinii (implicit
xtolerance).rtol – toleranța relativă asupra rădăcinii (implicit
rtolerance).maxiter – numărul maxim de iterații (implicit
50).
- Întoarce:
poziția rădăcinii ca
float.