scipy.optimize — Hledání kořenů a minimalizace¶
Podmodul scipy.optimize poskytuje jednoduché rutiny pro hledání kořenů a minim uživatelsky definovaných skalárních funkcí. Protože každá iterace musí volat zpět do uživatelem dodaného Python volatelného objektu, je nárůst rychlosti oproti čistě Python implementaci skromný (typicky asi 2x).
Funkce¶
- scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float¶
Najde kořen f v intervalu
[a, b]pomocí metody půlení. f musí na intervalu měnit znaménko.- Parametry:
f – volatelný objekt přijímající jediný
floata vracejícífloat.a – levý koncový bod intervalu.
b – pravý koncový bod intervalu.
xtol – absolutní tolerance umístění kořene (výchozí
xtolerance).maxiter – maximální počet půlení (výchozí
100).
- Vrací:
umístění kořene jako
float.- Vyvolá:
ValueError – pokud
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¶
Zástupný kód pro nelineární proložení křivky metodou nejmenších čtverců (Levenberg-Marquardt). Přítomen v tabulce modulu kvůli kompatibilitě API, ale momentálně jde o zástupný symbol: přijímá a validuje své argumenty, ale vždy vrací
None. Dokud nebude tato rutina implementována, preferujtefmin()nebo externí knihovny.- Parametry:
f – modelový volatelný objekt
f(x, *params) -> float.xdata – 1-D pole-like nezávislých hodnot.
ydata – 1-D pole-like závislých hodnot, stejné délky jako xdata.
p0 – 1-D pole-like počátečních odhadů parametrů.
- scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float¶
Najde polohu lokálního minima skalární funkce f pomocí metody simplexu (Nelder-Mead).
- Parametry:
f – volatelný objekt přijímající jediný
floata vracejícífloat.x0 – počáteční odhad.
xatol – absolutní tolerance polohy (výchozí
xtolerance).fatol – absolutní tolerance hodnoty funkce (výchozí
xtolerance).maxiter – maximální počet iterací (výchozí
200).
- Vrací:
umístění minima jako
float.
- scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float¶
Najde nulu reálné skalární funkce f metodou Newton-Raphson (sečen).
- Parametry:
f – volatelný objekt přijímající jediný
floata vracejícífloat.x0 – počáteční odhad.
tol – absolutní tolerance kořene (výchozí
xtolerance).rtol – relativní tolerance kořene (výchozí
rtolerance).maxiter – maximální počet iterací (výchozí
50).
- Vrací:
umístění kořene jako
float.