コマンド・ラインで design optimization を使う際に、高速リスタートを有効にしたいときがあります。
この場合、高速リスタートをスイッチするコマンドの位置が大事です。
基本的にsdo.SimulationTestオブジェクトを生成してから高速リスタートをonします。
具体的には次のような感じです:
Simulator = sdo.SimulationTest('model'); Simulator = fastRestart(Simulator,'on'); % ロギングするモデル信号を指定するコード 開始 : % ロギングするモデル信号を指定するコード おわり % 最適化オプションを指定するコード開始% : % 最適化オプションを指定するコードおわり% optimfcn = @(param) myCostfcn(param,Simulator,Requirements); [param_opt,opt_info] = sdo.optimize(optimfcn,param); Simulator = fastRestart(Simulator,'off');
モデル上で高速リスタートをオンしてから、上記のようなスクリプトを実行すると次のようなエラーが出たります:
エラー: sdo.optimize (line XXX) 最適化コマンドに渡された関数ハンドルは、パラメーター ベクトルを使用して評価した際にエラーを引き起こしました。 : 原因: エラー: sdo.SimulationTest/setLogging (line XXX) 'ReturnWorkspaceOutputsName' プロパティの変更は許可されません