Можно задать параметры оптимизации с помощью 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
.