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

Можно задать любого доступного patternsearch опции путем передачи options как входной параметр к patternsearch использование синтаксиса

[x,fval] = patternsearch(@fitnessfun,nvars, ... 
            A,b,Aeq,beq,lb,ub,nonlcon,options)

Передайте в пустых скобках [] для любых ограничений, которые не появляются в проблеме.

Создайте options использование optimoptions функция.

options = optimoptions(@patternsearch)
options = 

  patternsearch options:

   Set properties:
     No options set.

   Default properties:
            AccelerateMesh: 0
       ConstraintTolerance: 1.0000e-06
                   Display: 'final'
         FunctionTolerance: 1.0000e-06
           InitialMeshSize: 1
    MaxFunctionEvaluations: '2000*numberOfVariables'
             MaxIterations: '100*numberOfVariables'
                   MaxTime: Inf
     MeshContractionFactor: 0.5000
       MeshExpansionFactor: 2
             MeshTolerance: 1.0000e-06
                 OutputFcn: []
                   PlotFcn: []
                PollMethod: 'GPSPositiveBasis2N'
        PollOrderAlgorithm: 'consecutive'
                 ScaleMesh: 1
                 SearchFcn: []
             StepTolerance: 1.0000e-06
           UseCompletePoll: 0
         UseCompleteSearch: 0
               UseParallel: 0
             UseVectorized: 0

patternsearch функционируйте использует эти значения по умолчанию, если вы не передаете в options как входной параметр.

Значение каждой опции хранится в поле options, такой как options.MeshExpansionFactor. Можно отобразить любое из этих значений путем ввода options сопровождаемый под названием поле. Например, чтобы отобразить фактор расширения mesh для поиска шаблона, войти

options.MeshExpansionFactor
ans =
    2

Создать options со значением поля, которое отличается от значения по умолчанию, использовать optimoptions. Например, чтобы изменить фактор расширения mesh в 3 вместо его значения по умолчанию 2, войти

options = optimoptions('patternsearch','MeshExpansionFactor',3);

Это создает options со всем набором значений к значениям по умолчанию за исключением MeshExpansionFactor, который установлен в 3.

Если вы теперь вызываете patternsearch с аргументом options, поиск шаблона использует фактор расширения mesh 3.

Если вы впоследствии решаете изменить другое поле в options, такой как установка PlotFcn к @psplotmeshsize, который строит размер mesh в каждой итерации, вызвать optimoptions с синтаксисом

options = optimoptions(options,'PlotFcn',@psplotmeshsize)

Это сохраняет текущие значения всех полей options за исключением PlotFcn, который изменяется на @plotmeshsize. Обратите внимание на то, что, если вы не используете options входной параметр, optimoptions сброс MeshExpansionFactor к его значению по умолчанию, которое является 2.

Можно также установить оба MeshExpansionFactor и PlotFcn с одной командой

options = optimoptions('patternsearch','MeshExpansionFactor',3,'PlotFcn',@psplotmeshsize)

Смотрите также

|

Похожие темы