在响应优化期间使用快速重启模式
本主题展示如何使用Simulink加速响应优化®快速重启。您可以使用快速重新启动特性来加快响应优化可调参数模型的。
快速重新启动使您能够执行迭代模拟,而无需每次编译模型或终止模拟。使用快速重启,您只需编译一次模型。然后,您可以调优参数并再次模拟模型,而无需在编译上花费时间。快速重启将多个模拟阶段与单个编译阶段相关联,从而使迭代模拟更加有效。在编译阶段较长的模型中,使用快速重启可以加速设计优化任务。看到快速重启如何改进迭代模拟.
当您启用快速重启时,您只能在模拟期间更改模型的可调属性。有关限制的详细信息,请参见限制.
中的快速重启可以进行优化响应优化器(不支持仿真软件在线™)或浏览命令行.
响应优化应用程序的工作流程快速重启
中使用快速重启优化模型响应响应优化器:
打开Simulink模型。
在模型中启用快速重启。
点击快速启动在模型窗口。
打开响应优化器对于模型。
配置设计变量、设计需求以及(可选的)优化设置。
有关更多信息,请参见指定设计变量,在App中指定时域设计要求,在App中指定频域设计要求,指定优化选项.
点击优化优化快速重启模式下的模型响应。
禁用快速重启。
在模型窗口中,单击快速启动.
命令行快速重启工作流
在命令行使用快速重启优化模型响应:
打开Simulink模型。
创建一个模型模拟场景。在配置模型以快速重新启动之前,必须创建带有日志信息的模拟场景。一旦编译模型以快速重新启动,您就不能修改日志信息。
模拟器= sdo。模拟(“模型”);
在模型模拟期间指定要记录的模型信号。
对于包含频域要求的响应优化问题,使用线性化模型Simulink控制设计™.使用
SystemLoggingInfo
的属性sdo。模拟
对象,模拟器
,在模拟模型时指定要记录的线性系统。有关示例,请参见满足频域要求的设计优化(规范).明确设计要求,
需求
,设计变量,参数
.有关示例,请参见优化设计以满足阶跃响应要求(规范).配置快速重启的模型和仿真场景。
模拟器= fastRestart(模拟器,“上”);
创建一个优化成本函数,
myCostfcn
,并通过模拟器
成本函数作为输入。有关更多信息,请参见写一个成本函数.在cost函数中,配置为快速重启的模拟器用于更新模型参数、模拟模型和记录信号。使用带有一个参数的匿名函数调用
myCostfcn
.optimfcn = @(参数)myCostfcn(参数,模拟器,需求);
在这里,
myCostfcn
是一个成本函数,取设计变量,参数
,模拟场景,模拟器
,以及设计要求,需求
,作为输入。运行优化。
[param_opt,opt_info] = sdo.optimize(optimfcn,param);
恢复模拟器快速重启设置。
模拟器= fastRestart(模拟器,“关闭”);
故障排除
为什么我没有看到我期望使用快速重启的优化加速?
在编译阶段较长的模型中,使用快速重启可以加速设计优化任务。如果模型的编译阶段不长,则优化速度不会有显著变化。
另请参阅
sdo。模拟
|sdo.optimize
|fastRestart