Рекомендуемый способ установить опции состоит в том, чтобы использовать функцию optimoptions
. Например, чтобы установить алгоритм fmincon
на sqp
, установите итеративное отображение и установите маленькое значение допуска ConstraintTolerance
:
options = optimoptions('fmincon',... 'Algorithm','sqp','Display','iter','ConstraintTolerance',1e-12);
Используйте optimset
вместо optimoptions
для fminbnd
, fminsearch
, fzero
и решателей lsqnonneg
. Это решатели, которые не требуют лицензии Optimization Toolbox™.
Измените опции можно следующим образом:
Запись через точку. Например,
options.StepTolerance = 1e-10;
optimoptions
. Например,
options = optimoptions(options,'StepTolerance',1e-10);
Сбросьте опцию к значению по умолчанию с помощью resetoptions
. Например,
options = resetoptions(options,'StepTolerance');
Сбросьте больше чем одну опцию за один раз путем передачи массива ячеек имен опции, таких как {'Algorithm','StepTolerance'}
.
Гарантируйте, что вы передаете options
в своем вызове решателя. Например,
[x,fval] = fmincon(@objfun,x0,[],[],[],[],lb,ub,@nonlcon,options);
Можно также установить и изменить опции с помощью Приложения Оптимизации.