Рекомендуемый способ задать опции - использовать 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);
Можно также задать и изменить опции с помощью Optimize Live Editor Task.
Оптимизировать | optimoptions
| resetoptions