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