Найдите минимум неограниченной многомерной функции с помощью метода без производных
Решатель нелинейного программирования. Поиски минимума проблемы, заданной
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