Можно задать параметры оптимизации с помощью options структура, что вы создаете использование optimset функция. Вы затем передаете options как вход к оптимизационной функции, например, путем вызова fminbnd с синтаксисом
x = fminbnd(fun,x1,x2,options)
или fminsearch с синтаксисом
x = fminsearch(fun,x0,options)
Например, к отображаемому выводу из алгоритма в каждой итерации, устанавливает Display опция к 'iter':
options = optimset('Display','iter');| Опция | Описание | Решатели |
|---|---|---|
| Флаг, указывающий, появляются ли промежуточные шаги на экране.
| fminbnd, fminsearch, fzero, lsqnonneg |
| Проверяйте, допустимы ли значения целевой функции.
| fminbnd, fminsearch, fzero |
| Максимальное количество вычислений функции позволено. Значением по умолчанию является | fminbnd, fminsearch |
| Максимальное количество итераций позволено. Значением по умолчанию является | fminbnd, fminsearch |
| Отобразите информацию об итерациях решателя. Значением по умолчанию является | fminbnd, fminsearch, fzero |
| Постройте информацию об итерациях решателя. Значением по умолчанию является | fminbnd, fminsearch, fzero |
| Допуск завершения к значению функции. Значением по умолчанию является | fminsearch |
| Допуск завершения к x. Значением по умолчанию является | fminbnd, fminsearch, fzero, lsqnonneg |
Количество итераций в оптимизации зависит от stopping criteria для решателя. Эти критерии включают несколько tolerances, который можно установить. Обычно допуск является порогом, который, если пересечено, останавливает итерации решателя.
Совет
Обычно установите TolFun и TolX допуски к много больше eps, и обычно выше 1e-14. Устанавливание маленьких погрешностей не гарантирует точные результаты. Вместо этого решатель может не распознать, когда он сходился и может продолжить бесполезные итерации. Значение допуска, меньшее, чем eps эффективно отключает то условие остановки. Этот совет не применяется fzero, который использует значение по умолчанию eps для TolX.
TolX нижняя граница на размер шага, означая норму (xi – x i +1). Если решатель пытается получить шаг, который меньше, чем TolX, завершение итераций. Решатели обычно используют TolX как относительная граница, означая завершение итераций, когда | (xi – x i +1) | <TolX* (1 + |xi |), или подобная относительная мера.

TolFun нижняя граница на изменении в значении целевой функции во время шага. Если |f (xi) – f (x i +1) | <TolFun, завершение итераций. Решатели обычно используют TolFun как относительная граница, означая завершение итераций, когда |f (xi) – f (x i +1) | < TolFun(1 + |f (xi) |), или подобная относительная мера.
MaxIter граница на количество итераций решателя. MaxFunEvals граница на количество функциональных оценок.
Примечание
В отличие от других решателей, fminsearch остановки, когда это удовлетворяет обоим TolFun и TolX.
output структура включает количество вычислений функции, количество итераций и алгоритм. Структура появляется, когда вы обеспечиваете fminbnd, fminsearch, или fzero с четвертым выходным аргументом, как в
[x,fval,exitflag,output] = fminbnd(@humps,0.3,1);
Детали output структура для каждого решателя находится на страницах ссылки на функцию.
output структура не является опцией, с которой вы выбираете optimset. Это - дополнительный выход для fminbnd, fminsearch, и fzero.