灵敏度分析时使用快速重启模式
本主题展示如何使用Simulink加速灵敏度分析®快速重启。您可以使用快速重新启动特性来加速的灵敏度分析可调参数模型的。
快速重新启动使您能够执行迭代模拟,而无需每次编译模型或终止模拟。使用快速重启,您只需编译一次模型。然后,您可以调优参数并再次模拟模型,而无需在编译上花费时间。快速重启将多个模拟阶段与单个编译阶段相关联,从而使迭代模拟更加有效。在编译阶段较长的模型中,使用快速重启可以加速设计优化任务。看到快速重启如何改进迭代模拟.
当您启用快速重启时,您只能在模拟期间更改模型的可调属性。有关限制的详细信息,请参见限制.
灵敏度分析仪快速重启工作流程
评估使用快速重启的模型灵敏度分析仪:
打开Simulink模型。
在模型中启用快速重启。
点击快速启动在模型窗口。
打开灵敏度分析仪对于模型。
指定参数集,生成参数样本,并指定灵敏度分析的要求。可选地,指定评估设置。例如,请参见使用参数采样进行设计探索(GUI)而且确定评估的关键参数(代码).
点击评估在快速重启模式下评估模型。为参数集中的每个参数值组合评估设计需求。
禁用快速重启。
在模型窗口中,单击快速启动.
中不支持此功能仿真软件在线™.
命令行快速重启工作流
您可以使用敏感性分析来评估哪些模型参数对成本函数影响最大。您可以在参数估计或响应优化期间使用这些参数。假设您希望使用灵敏度分析来减少为拟合模型而需要估计的参数数量。
使用一个用于参数估计的代价函数对快速重启模式下的模型进行评估:
打开Simulink模型。
指定模型参数值,
参数个数
,估计并生成参数样本,params_samples
.有关示例,请参见确定评估的关键参数(代码).创建实验对象,
经验值
.Exp = sdo。经验值eriment(“模型”);
将测量的输入输出数据存储在
经验值
.有关示例,请参见确定评估的关键参数(代码).根据实验创建一个模型模拟器。
模拟器= createSimulator(Exp);
模拟器
是一个sdo。模拟
对象。请注意
在配置模型以快速重新启动之前,必须创建带有日志信息的模拟场景。一旦编译模型以快速重新启动,您就不能修改日志信息。
配置模型和模拟器以快速重新启动。
模拟器= fastRestart(模拟器,“上”);
创建一个成本函数,
myCostfcn
,并通过模拟器
成本函数作为输入。有关更多信息,请参见写一个成本函数.在cost函数中,配置为快速重启的模拟器用于更新模型参数、模拟模型和记录信号。使用带有一个参数的匿名函数调用
myCostfcn
.evalfcn = @(参数)myCostfcn(参数,模拟器,Exp);
评估模型。
[param_opt,opt_info] = sdo.evaluate(evalfcn,param,param_samples);
恢复模拟器快速重启设置。
模拟器= fastRestart(模拟器,“关闭”);
快速重启工作流类似于灵敏度分析,它使用旨在响应优化的成本函数识别设计变量。看到在响应优化期间使用快速重启模式.
故障排除
为什么我没有看到我期望使用快速重启的评估加速?
在编译阶段较长的模型中,使用快速重启可以加速设计优化任务。如果模型的编译阶段不长,估计速度就不会有显著的变化。
另请参阅
sdo。模拟
|sdo.evaluate
|fastRestart