fminbound#
- scipy.optimize.fminbound(func, x1, x2, args=(), xtol=1e-05, maxfun=500, full_output=0, disp=1)[Quelle]#
Beschränkte Minimierung für skalare Funktionen.
- Parameter:
- funccallable f(x,*args)
Zu minimierende Zielfunktion (muss Skalare akzeptieren und zurückgeben).
- x1, x2Gleitkommazahl oder Array-Skalar
Endliche Optimierungsgrenzen.
- argstuple, optional
Zusätzliche Argumente, die an die Funktion übergeben werden.
- xtolfloat, optional
Die Konvergenztoleranz.
- maxfunint, optional
Maximale Anzahl zulässiger Funktionsaufrufe.
- full_outputbool, optional
Wenn True, gib optionale Ausgaben zurück.
- disp: int, optional
Wenn ungleich Null, werden Nachrichten ausgegeben.
0: Keine Nachrichten ausgeben.1: Nur Benachrichtigungen bei Nichtkonvergenz.2: Gibt auch eine Nachricht bei Konvergenz aus.3: Iterationsergebnisse ausgeben.
- Rückgabe:
- xoptndarray
Parameter (im gegebenen Intervall), die die Zielfunktion minimieren.
- fvalZahl
(Optionaler Output) Der Funktionswert, der am Minimierer ausgewertet wurde.
- ierrGanzzahl
(Optionaler Output) Ein Fehlermarker (0 bei Konvergenz, 1 bei Erreichen der maximalen Anzahl von Funktionsaufrufen).
- numfuncGanzzahl
(Optionaler Output) Die Anzahl der durchgeführten Funktionsaufrufe.
Siehe auch
minimize_scalarSchnittstelle zu Minimierungsalgorithmen für skalare univariate Funktionen. Siehe insbesondere die Methode 'Bounded' im method.
Hinweise
Findet einen lokalen Minimierer der skalaren Funktion func im Intervall x1 < xopt < x2 mithilfe von Brents Methode. (Siehe
brentfür automatische Bracketing.)Referenzen
[1]Forsythe, G.E., M. A. Malcolm und C. B. Moler. „Computer Methods for Mathematical Computations.“ Prentice-Hall Series in Automatic Computation 259 (1977).
[2]Brent, Richard P. Algorithms for Minimization Without Derivatives. Courier Corporation, 2013.
Beispiele
fminboundfindet den Minimierer der Funktion im gegebenen Bereich. Die folgenden Beispiele veranschaulichen dies.>>> from scipy import optimize >>> def f(x): ... return (x-1)**2 >>> minimizer = optimize.fminbound(f, -4, 4) >>> minimizer 1.0 >>> minimum = f(minimizer) >>> minimum 0.0 >>> res = optimize.fminbound(f, 3, 4, full_output=True) >>> minimizer, fval, ierr, numfunc = res >>> minimizer 3.000005960860986 >>> minimum = f(minimizer) >>> minimum, fval (4.000023843479476, 4.000023843479476)