exponenta event banner

optimset

Создание или изменение структуры опций оптимизации

Описание

Создайте или измените структуру опций для решателей MATLAB ®.

Примечание

optimoptions рекомендуется вместо optimset для всех решателей, кроме fzero, fminbnd, fminsearch, и lsqnonneg.

пример

options = optimset(Name,Value) прибыль options с указанными параметрами, заданными с использованием одного или нескольких аргументов пары имя-значение.

optimset (без входных или выходных аргументов) отображает полный список параметров с их допустимыми значениями.

options = optimset (без входных аргументов) создает структуру опций options где для всех параметров установлено значение [].

пример

options = optimset(optimfun) создает options со всеми именами параметров и значениями по умолчанию, относящимися к функции оптимизации optimfun.

пример

options = optimset(oldopts,Name,Value) создает копию oldopts и изменяет указанные параметры, используя один или несколько аргументов пары имя-значение.

пример

options = optimset(oldopts,newopts) объединяет существующую структуру опций oldopts с новой структурой опций newopts. Любые параметры в newopts с непустыми значениями перезаписать соответствующие параметры в oldopts.

Примеры

свернуть все

Задать параметры для fminsearch для использования функции печати и более строгого условия остановки, чем по умолчанию.

options = optimset('PlotFcns','optimplotfval','TolX',1e-7);

Минимизируйте функцию Розенброка, начиная с точки (-1,2), и контролируйте процесс минимизации с помощью опций. Функция Розенброка имеет минимальное значение 0 в точке (1,1).

fun = @(x)100*((x(2) - x(1)^2)^2) + (1 - x(1))^2; % Rosenbrock's function
x0 = [-1,2];
[x,fval] = fminsearch(fun,x0,options)

Figure Optimization Plot Function contains an axes. The axes with title Current Function Value: 4.73054e-16 contains an object of type line.

x = 1×2

    1.0000    1.0000

fval = 4.7305e-16

Создание структуры, содержащей параметры по умолчанию для fzero решатель.

options = optimset('fzero');

Просмотр значения по умолчанию для TolX опция для fzero.

tol = options.TolX
tol = 2.2204e-16

Настройка параметров для использования допуска функции 1e-6.

oldopts = optimset('TolFun',1e-6);

Изменить параметры в oldopts для использования 'optimplotfval' функция графика и TolX значение 1e-6.

options = optimset(oldopts,'PlotFcns','optimplotfval','TolX',1e-6);

Просмотрите три заданные опции.

disp(options.TolFun);
   1.0000e-06
disp(options.PlotFcns);
optimplotfval
disp(options.TolX);
   1.0000e-06

Перезаписать соответствующие части одной структуры опций другой структурой опций с помощью optimset.

oldopts = optimset('Display','iter','TolX',1e-6);
newopts = optimset('PlotFcns','optimplotfval','Display','off');
options = optimset(oldopts,newopts);

Оба oldopts и newopts установить значение Display вариант. Проверьте, что newopts переписывает oldopts для этого варианта.

options.Display
ans = 
'off'

Проверьте значения двух других опций.

options.TolX
ans = 1.0000e-06
options.PlotFcns
ans = 
'optimplotfval'

Входные аргументы

свернуть все

Решатель оптимизации, указанный как имя или дескриптор функции. Возвращенная структура опций содержит непустые записи только для указанного решателя.

Пример: options = optimset('fzero')

Пример: options = optimset(@fminsearch)

Типы данных: char | string | function_handle

Предыдущие опции оптимизации, заданные как структура. Продукция options является таким же, как oldopts, за исключением указанных параметров.

Пример: options = optimset(oldopts,'TolX',1e-6)

Типы данных: struct

Новые опции оптимизации, заданные как структура. Продукция options является таким же, как newopts, а также включает непустые параметры oldopts пустые в newopts.

Пример: options = optimset(oldopts,newopts)

Типы данных: struct

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: options = optimset('TolX',1e-6,'PlotFcns',@optimplotfval)

Необходимо ввести только достаточное количество первых символов, чтобы однозначно определить имя опции. optimset игнорирует регистр (верхний или нижний регистр) для имен опций.

Уровень отображения, определяемый как разделенная запятыми пара, состоящая из «Display» и одного из следующих значений:

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

  • 'final' - Отображение только окончательного результата.

  • 'off' или 'none' - Вывод отсутствует.

  • 'iter' - Отображение выходных данных на каждой итерации (недоступно для lsqnonneg).

Display доступен для всех решателей оптимизации.

Пример: options = optimset('Display','iter')

Типы данных: char | string

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

FunValCheck доступен для fminbnd, fminsearch, и fzero.

Пример: options = optimset('FunValCheck','on')

Типы данных: char | string

Максимальное количество оценок функций, указанное как пара, разделенная запятыми, состоящая из 'MaxFunEvals' и положительное целое число.

MaxFunEvals доступен для fminbnd и fminsearch.

Пример: options = optimset('MaxFunEvals',2e3)

Типы данных: single | double

Максимальное количество итераций, указанное как пара, разделенная запятыми, состоящая из 'MaxIter' и положительное целое число.

MaxIter доступен для fminbnd и fminsearch.

Пример: options = optimset('MaxIter',2e3)

Типы данных: single | double

Функция вывода, заданная как разделенная запятыми пара, состоящая из 'OutputFcn' и имя функции или дескриптор функции. Укажите несколько выходных функций в качестве массива ячеек дескрипторов функций. После каждой итерации запускается функция вывода, позволяющая отслеживать процесс решения или останавливать итерации. Дополнительные сведения см. в разделе Функции вывода вычислителя оптимизации.

OutputFcn доступен для fminbnd, fminsearch, и fzero.

Пример: options = optimset('OutputFcn',{@outfun1,@outfun2})

Типы данных: char | string | cell | function_handle

Функции графика, указанные как разделенная запятыми пара, состоящая из 'PlotFcns' и имя функции или дескриптор функции. Укажите несколько функций печати как массив ячеек дескрипторов функций. Функция графика выполняется после каждой итерации, позволяя отслеживать процесс решения или останавливать итерации. Дополнительные сведения см. в разделах Функции печати и Функция вывода и Синтаксис функции печати.

Встроенные функции графика:

  • @optimplotx строит график текущей точки.

  • @optimplotfval строит график значения функции.

  • @optimplotfunccount выводит на график количество функций (недоступно для fzero).

PlotFcns доступен для fminbnd, fminsearch, и fzero.

Пример: options = optimset('PlotFcns','optimplotfval')

Типы данных: char | string | cell | function_handle

Допуск окончания для значения функции, указанного как разделенная запятыми пара, состоящая из 'TolFun' и неотрицательный скаляр. Итерации заканчиваются, когда текущее значение функции отличается от предыдущего значения меньше, чем TolFun, относительно начального значения функции. См. раздел Допуски и критерии остановки.

TolFun доступен для fminsearch только.

Пример: options = optimset('TolFun',2e-6)

Типы данных: single | double

Допуск окончания на x, текущая точка, указанная как пара, разделенная запятыми, состоящая из 'TolX' и неотрицательный скаляр. Итерации заканчиваются, когда текущая точка отличается от предыдущей на менее чем TolX, относительно размера x. См. раздел Допуски и критерии остановки.

TolX доступен для всех решателей.

Пример: options = optimset('TolFun',2e-6)

Типы данных: single | double

Выходные аргументы

свернуть все

Параметры оптимизации, возвращаемые в виде структуры. Возвращаемые значения для неустановленных параметров: [], что приводит к использованию решателями значений этих параметров по умолчанию.

Ограничения

  • optimset задает опции для четырех решателей оптимизации MATLAB: fminbnd, fminsearch, fzero, и lsqnonneg. Для задания параметров решателей Optimization Toolbox™ или Global Optimization Toolbox рекомендуется использовать следующую функцию: optimoptions.

  • optimset не удается задать параметры для некоторых решателей панели инструментов оптимизации, таких как intlinprog. Использовать optimoptions вместо этого.

  • optimset не удается задать большинство параметров для решателей панели инструментов глобальной оптимизации. Использовать optimoptions вместо этого.

Расширенные возможности

.
Представлен до R2006a