このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
オプションの設定
patternsearch
オプションは、options
をpatternsearch
の入力引数として渡すことで指定できます。構文は次のとおりです。
[x,fval] = patternsearch(@fitnessfun,nvars, ... A,b,Aeq,beq,lb,ub,nonlcon,options)
問題に現れない制約については、空の括弧 []
を渡します。
関数 optimoptions
を使用して options
を作成します。
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.MeshExpansionFactor
などの options
のフィールドに格納されます。options
に続けてフィールド名を入力すると、これらの値を表示できます。たとえば、パターン検索のメッシュ拡張係数を表示するには、次のように入力します。
options.MeshExpansionFactor
ans = 2
デフォルトとは異なるフィールド値を持つ options
を作成するには、 optimoptions
を使用します。たとえば、メッシュ拡張係数をデフォルト値2
ではなく3
に変更するには、次のように入力します。
options = optimoptions('patternsearch','MeshExpansionFactor',3);
これにより、MeshExpansionFactor
を除くすべての値がデフォルトに設定された options
が作成され、MeshExpansionFactor
は 3
に設定されます。
ここで、引数 options
を指定して patternsearch
を呼び出すと、パターン検索ではメッシュ拡張係数 3
が使用されます。
その後、options
の別のフィールドを変更する場合、例えばPlotFcn
を@psplotmeshsize
に設定して各反復でメッシュサイズをプロットする場合は、次の構文でoptimoptions
を呼び出します。
options = optimoptions(options,'PlotFcn',@psplotmeshsize)
これにより、PlotFcn
を除く options
のすべてのフィールドの現在の値が保持され、PlotFcn
は @plotmeshsize
に変更されます。options
入力引数を省略すると、 optimoptions
は MeshExpansionFactor
をデフォルト値の 2
にリセットすることに注意してください。
MeshExpansionFactor
とPlotFcn
の両方を1つのコマンドで設定することもできます。
options = optimoptions('patternsearch','MeshExpansionFactor',3,'PlotFcn',@psplotmeshsize)