Найдите минимум функции одной переменной на фиксированном интервале
fminbnd
является одномерным минимизатором, который находит минимум для проблемы заданным
x, x 1, и x 2 является конечными скалярами, и f (x) является функцией, которая возвращает скаляр.
x = fminbnd(fun,x1,x2)
x = fminbnd(fun,x1,x2,options)
x = fminbnd(problem)
[x,fval]
= fminbnd(___)
[x,fval,exitflag]
= fminbnd(___)
[x,fval,exitflag,output]
= fminbnd(___)
Функция, которая будет минимизирована, должна быть непрерывной.
fminbnd
может только дать локальные решения.
fminbnd
может показать медленную сходимость, когда решение находится на контуре интервала.
fminbnd
является файлом функции. Алгоритм основан на золотом разделе поисковая и параболическая интерполяция. Если левая конечная точка, x 1 является очень близко к правильной конечной точке x 2, fminbnd
, никогда не оценивает fun
в конечных точках, таким образом, fun
нужно, только заданы для x в интервале x 1 <x <x 2.
Если минимум на самом деле происходит в x 1 или x 2, fminbnd
возвращает точку x
во внутренней части интервала (x 1, x 2), который является близко к минимизатору. В этом случае расстоянием x
от минимизатора является не больше, чем 2*(TolX + 3*abs(x)*sqrt(eps))
. См. [1] или [2] для получения дополнительной информации об алгоритме.
[1] Форсайт, G. E. М. А. Малкольм и К. Б. Молер. Компьютерные методы для математических вычислений. Englewood Cliffs, NJ: Prentice Hall, 1976.
[2] Брент, Ричард. P. Алгоритмы для минимизации без производных. Englewood Cliffs, NJ: Prentice Hall, 1973.
fminsearch
| fzero
| optimset