scipy.optimize — Juurten etsintä ja minimointi

scipy.optimize -alimoduuli tarjoaa yksinkertaisia rutiineja käyttäjän määrittelemien skalaarifunktioiden juurten ja minimien etsimiseen. Koska jokaisen iteraation on kutsuttava takaisin käyttäjän tarjoamaan Python-kutsuttavaan, nopeushyöty puhtaaseen Python-toteutukseen verrattuna on vaatimaton (tyypillisesti noin 2-kertainen).

Funktiot

scipy.optimize.bisect(f: Callable[[float], float], a: float, b: float, *, xtol: float = xtolerance, maxiter: int = 100) float

Etsi f:n juuri sulkuvälillä [a, b] puolitusmenetelmällä. f:n on vaihdettava etumerkkiä välillä.

Parametrit:
  • f – kutsuttava, joka ottaa yhden float -arvon ja palauttaa float -arvon.

  • a – sulkuvälin vasen päätepiste.

  • b – sulkuvälin oikea päätepiste.

  • xtol – absoluuttinen toleranssi juuren sijainnille (oletus xtolerance).

  • maxiter – puolitusten enimmäismäärä (oletus 100).

Palauttaa:

juuren sijainti float -muodossa.

Nostaa:

ValueError – jos 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

Tynkä epälineaariselle pienimmän neliösumman käyrän sovitukselle (Levenberg-Marquardt). Sisältyy moduulitauluun API-yhteensopivuuden vuoksi, mutta on tällä hetkellä paikkamerkki: se hyväksyy ja validoi argumenttinsa mutta palauttaa aina None. Suosi fmin() -funktiota tai ulkoisia kirjastoja, kunnes tämä rutiini on toteutettu.

Parametrit:
  • f – malli, kutsuttava f(x, *params) -> float.

  • xdata – yksiulotteinen taulukkomainen riippumattomien arvojen joukko.

  • ydata – yksiulotteinen taulukkomainen riippuvien arvojen joukko, samanpituinen kuin xdata.

  • p0 – yksiulotteinen taulukkomainen alkuparametriarvioiden joukko.

scipy.optimize.fmin(f: Callable[[float], float], x0: float, *, xatol: float = xtolerance, fatol: float = xtolerance, maxiter: int = 200) float

Etsi skalaarifunktion f paikallisen minimin sijainti alamäkisimpleksimenetelmällä (Nelder-Mead).

Parametrit:
  • f – kutsuttava, joka ottaa yhden float -arvon ja palauttaa float -arvon.

  • x0 – alkuarvaus.

  • xatol – absoluuttinen toleranssi sijainnille (oletus xtolerance).

  • fatol – absoluuttinen toleranssi funktion arvolle (oletus xtolerance).

  • maxiter – iteraatioiden enimmäismäärä (oletus 200).

Palauttaa:

minimin sijainti float -muodossa.

scipy.optimize.newton(f: Callable[[float], float], x0: float, *, tol: float = xtolerance, rtol: float = rtolerance, maxiter: int = 50) float

Etsi reaaliarvoisen, skalaarifunktion f nollakohta Newton-Raphson-menetelmällä (sekanttimenetelmä).

Parametrit:
  • f – kutsuttava, joka ottaa yhden float -arvon ja palauttaa float -arvon.

  • x0 – alkuarvaus.

  • tol – absoluuttinen toleranssi juurelle (oletus xtolerance).

  • rtol – suhteellinen toleranssi juurelle (oletus rtolerance).

  • maxiter – iteraatioiden enimmäismäärä (oletus 50).

Palauttaa:

juuren sijainti float -muodossa.