exponenta event banner

Задать параметры

Можно указать любое доступное 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 за которым следует имя поля. Например, чтобы отобразить коэффициент расширения сетки для поиска массива, введите

options.MeshExpansionFactor
ans =
    2

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

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

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

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

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

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

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

Также можно задать оба параметра MeshExpansionFactor и PlotFcn с помощью одной команды

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

См. также

|

Связанные темы