Установка опций

Как установить опции

Можно задать параметры оптимизации с помощью options структура, что вы создаете использование optimset функция. Вы затем передаете options как вход к функции оптимизации, например, путем вызова fminbnd с синтаксисом

x = fminbnd(fun,x1,x2,options)

или fminsearch с синтаксисом

x = fminsearch(fun,x0,options)

Например, чтобы отобразить вывод из алгоритма в каждой итерации, установите Display опция к 'iter':

options = optimset('Display','iter');

Таблица опций

ОпцияОписаниеРешатели

Display

Флаг, указывающий, появляются ли промежуточные шаги на экране.

  • 'notify' (значение по умолчанию) отображает вывод, только если функция не сходится.

  • 'iter' промежуточные шаги отображений (не доступный с lsqnonneg). Смотрите итеративное отображение.

  • 'off' или 'none' отображения никакие промежуточные шаги.

  • 'final' отображения только окончательный результат.

fminbndfminsearchfzerolsqnonneg

FunValCheck

Проверяйте, допустимы ли значения целевой функции.

  • 'on' отображает ошибку, когда целевая функция или ограничения возвращают значение, которое является комплексным или NaN.

  • 'off' (значение по умолчанию) не отображает ошибки.

fminbndfminsearchfzero

MaxFunEvals

Максимальное количество функциональных оценок позволено. Значением по умолчанию является 500 для fminbnd и 200*length(x0) для fminsearch.

fminbndfminsearch

MaxIter

Максимальное количество итераций позволено. Значением по умолчанию является 500 для fminbnd и 200*length(x0) для fminsearch.

fminbndfminsearch

OutputFcn

Отобразите информацию об итерациях решателя. Значением по умолчанию является [] 'none'. Смотрите выходные функции.

fminbndfminsearchfzero

PlotFcns

Постройте информацию об итерациях решателя. Значением по умолчанию является [] 'none'. Для доступных предопределенных функций смотрите Функции построения графика.

fminbndfminsearchfzero

TolFun

Допуск завершения к значению функции. Значением по умолчанию является 1.e-4. Смотрите допуски и критерий остановки.

fminsearch

TolX

Допуск завершения к x. Значением по умолчанию является 1.e-4, за исключением fzero, который имеет значение по умолчанию eps (= 2.2204e-16), и lsqnonneg, который имеет значение по умолчанию 10*eps*norm(c,1)*length(c). Смотрите допуски и критерий остановки.

fminbndfminsearchfzerolsqnonneg

Погрешности и критерий остановки

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

[x,fval,exitflag,output] = fminbnd(@humps,0.3,1);

Детали output структура для каждого решателя находится на страницах ссылки на функцию.

output структура не является опцией, которую вы выбираете с optimset. Это - дополнительный выход для fminbndfminsearch, и fzero.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте