fminbound#
- scipy.optimize.fminbound(функция, x1, x2, args=(), xtol=1e-05, maxfun=500, full_output=0, disp=1)[источник]#
Ограниченная минимизация для скалярных функций.
- Параметры:
- функциявызываемая функция f(x,*args)
Целевая функция для минимизации (должна принимать и возвращать скаляры).
- x1, x2float или скаляр массива
Конечные границы оптимизации.
- argsкортеж, необязательный
Дополнительные аргументы, передаваемые функции.
- xtolfloat, опционально
Допуск сходимости.
- maxfunint, необязательный
Максимально допустимое количество оценок функции.
- full_outputbool, необязательно
Если True, возвращает дополнительные выходные данные.
- disp: int, optional
Если не равно нулю, выводить сообщения.
0: без вывода сообщений.1: только уведомления о не сходимости.2: также выводить сообщение о сходимости.3: вывод результатов итерации.
- Возвращает:
- xoptndarray
Параметры (на заданном интервале), которые минимизируют целевую функцию.
- fvalчисло
(Необязательный вывод) Значение функции, вычисленное в точке минимума.
- ierrint
(Необязательный вывод) Флаг ошибки (0, если сошлось, 1, если достигнуто максимальное количество вызовов функции).
- numfuncint
(Необязательный вывод) Количество выполненных вызовов функций.
Смотрите также
minimize_scalarИнтерфейс к алгоритмам минимизации для скалярных функций одной переменной. См. 'Bounded' метод в частности.
Примечания
Находит локальный минимизатор скалярной функции функция в интервале x1 < xopt < x2 с использованием метода Брента. (См.
brentдля автоматического определения скобок.)Ссылки
[1]Forsythe, G.E., M. A. Malcolm, и C. B. Moler. "Компьютерные методы для математических вычислений." Prentice-Hall Series in Automatic Computation 259 (1977).
[2]Brent, Richard P. Algorithms for Minimization Without Derivatives. Courier Corporation, 2013.
Примеры
fminboundнаходит минимизатор функции в заданном диапазоне. Следующие примеры иллюстрируют это.>>> 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)