Найдите минимум неограниченной многомерной функции с помощью метода без производных
Решатель нелинейного программирования. Поиски минимума проблемы, заданной
f (x) является функцией, которая возвращает скаляр, и x является вектором или матрицей; смотрите Матричные аргументы.
x = fminsearch(fun,x0)
x = fminsearch(fun,x0,options)
x = fminsearch(problem)
[x,fval]
= fminsearch(___)
[x,fval,exitflag]
= fminsearch(___)
[x,fval,exitflag,output]
= fminsearch(___)
находит минимум для x
= fminsearch(problem
)problem
, где problem
является структурой. Создайте problem
путем экспорта проблемы из приложения Оптимизации, как описано в Экспорте работы.
fminsearch
только минимизирует по вещественным числам, то есть, x должен только состоять из вещественных чисел, и f (x) должен только возвратить вещественные числа. Когда x будет иметь комплексные числа, разделите x в действительные и мнимые части.
Используйте fminsearch
, чтобы решить недифференцируемые проблемы или проблемы с разрывами, особенно если никакой разрыв не происходит около решения.
fminsearch
обычно менее эффективен, чем fminunc
, специально для проблем размерности, больше, чем два. Однако, когда проблема прерывиста, fminsearch
может быть более устойчивым, чем fminunc
.
fminsearch
не является предпочтительным решателем для проблем, которые являются суммами квадратов, то есть, формы
Вместо этого используйте функцию lsqnonlin
, которая была оптимизирована для проблем этой формы.
fminsearch
использует симплексный метод поиска Lagarias и др. [1]. Это - прямой метод поиска, который не использует числовые или аналитические градиенты в качестве в fminunc
. Алгоритм описан подробно в fminsearch Алгоритме. Алгоритм, как гарантируют, не будет сходиться к локальному минимуму.
[1] Lagarias, J. C. Дж. А. Ридс, М. Х. Райт и П. Э. Райт. “Свойства сходимости Симплекс-метода Nelder-меда в Низких Размерностях”. SIAM Journal Оптимизации. Издание 9, Номер 1, 1998, стр 112–147.
fminbnd
| fminunc
| optimset
| optimtool