ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

optimset

最適化 options 構造体の作成および編集

構文

options = optimset('param1',value1,'param2',value2,...)
optimset
options = optimset
options = optimset(optimfun)
options = optimset(oldopts,'param1',value1,...)
options = optimset(oldopts,newopts)

説明

options = optimset('param1',value1,'param2',value2,...) は、options という名前の最適化 options 構造体を作成します。この構造体の指定したオプション (param) は指定した値をもちます。指定しないオプションは [] に設定します (値 [] のオプションは options を最適化関数に渡すときに、このオプションに既定値を使用することを示します)。固有なオプション名を設定する場合は、識別するのに十分な数の頭文字のみ入力しても構いません。オプション名に関しては大文字小文字の区別がありません。

optimset は、入力引数や出力引数がない場合、オプションと各オプションの有効な値のリストを表示します。

options = optimset (入力引数なし) は、すべてのフィールドが [] に設定された options 構造体 options を作成します。

options = optimset(optimfun) は、最適化関数 optimfun に関連するすべてのオプション名と既定値をもつ、options 構造体 options を作成します。

options = optimset(oldopts,'param1',value1,...) は、oldopts の内容をコピーし、その中で指定したオプションを指定した値に変更します。

options = optimset(oldopts,newopts) は、既存の options 構造体 oldopts と新しい options 構造体 newopts を組み合わせます。空でない値をもつ newopts の任意のオプションが oldopts の対応する古いオプションを上書きします。

オプション

既定値を含め、個々のオプションの詳細は、最適化関数のリファレンス ページを参照してください。「最適化オプション リファレンス」では、最適化オプションとそれを使用する関数について説明します。

コマンド optimset(@solver) または同等の optimset solver を使用して、ソルバーに適切な最適化オプションの既定値を調べます。既定値はアルゴリズムにより異なるため、ソルバーによっては既定値をもたないものもあります。たとえば、fmincon ソルバーの maxIter オプションの既定値は、信頼領域 Reflective 法アルゴリズムに対しては 400 ですが、内点法アルゴリズムに対しては 1000 です。

また、最適化アプリケーションですべての関連オプションの既定値を調べることもできます。オプションを見るには以下を行います。

  1. optimtool コマンドなどで、最適化アプリケーションを起動します。

  2. [ソルバー] メニューからソルバーを選択します。

  3. 可能な場合は、[アルゴリズム] メニューからアルゴリズムを選択します。

  4. [オプション] ペイン内で、既定値を調べます。

次のステートメントにより Display オプションを 'iter' に、TolFun オプションに 1e-8 を設定した options 構造体を作成します。

options = optimset('Display','iter','TolFun',1e-8)

次のステートメントは options 構造体 options をコピーして、その中の TolX オプション値を変更し、その結果を optnew に保存します。

optnew = optimset(options,'TolX',1e-4);

次のステートメントは、関数 fminbnd 関連の全オプション名および既定値を含む最適化 options 構造体 options を返します。

options = optimset('fminbnd')

fminbnd の既定値のみを確認したい場は、次のようにして簡単に得られます。

optimset fminbnd

これは、次の関数と等価です。

optimset('fminbnd')

参考

| |

この情報は役に立ちましたか?