主要内容

在响应优化期间使用快速重启模式

本主题展示如何使用Simulink加速响应优化®快速重启。您可以使用快速重新启动特性来加快响应优化可调参数模型的。

快速重新启动使您能够执行迭代模拟,而无需每次编译模型或终止模拟。使用快速重启,您只需编译一次模型。然后,您可以调优参数并再次模拟模型,而无需在编译上花费时间。快速重启将多个模拟阶段与单个编译阶段相关联,从而使迭代模拟更加有效。在编译阶段较长的模型中,使用快速重启可以加速设计优化任务。看到快速重启如何改进迭代模拟

当您启用快速重启时,您只能在模拟期间更改模型的可调属性。有关限制的详细信息,请参见限制

中的快速重启可以进行优化响应优化器(不支持仿真软件在线™)或浏览命令行

响应优化应用程序的工作流程快速重启

中使用快速重启优化模型响应响应优化器

  1. 打开Simulink模型。

  2. 在模型中启用快速重启。

    点击快速启动在模型窗口。

  3. 打开响应优化器对于模型。

  4. 配置设计变量、设计需求以及(可选的)优化设置。

    有关更多信息,请参见指定设计变量在App中指定时域设计要求在App中指定频域设计要求,指定优化选项

  5. 点击优化优化快速重启模式下的模型响应。

  6. 禁用快速重启。

    在模型窗口中,单击快速启动

命令行快速重启工作流

在命令行使用快速重启优化模型响应:

  1. 打开Simulink模型。

  2. 创建一个模型模拟场景。在配置模型以快速重新启动之前,必须创建带有日志信息的模拟场景。一旦编译模型以快速重新启动,您就不能修改日志信息。

    模拟器= sdo。模拟(“模型”);

    在模型模拟期间指定要记录的模型信号。

    对于包含频域要求的响应优化问题,使用线性化模型Simulink控制设计™.使用SystemLoggingInfo的属性sdo。模拟对象,模拟器,在模拟模型时指定要记录的线性系统。有关示例,请参见满足频域要求的设计优化(规范)

    请注意

    快速重启模式下,不能使用线性化(Simulink控制设计)命令从Simulink控制设计指定并计算线性系统使用线性化(Simulink控制设计)生成错误。

  3. 明确设计要求,需求,设计变量,参数.有关示例,请参见优化设计以满足阶跃响应要求(规范)

  4. 配置快速重启的模型和仿真场景。

    模拟器= fastRestart(模拟器,“上”);
  5. 创建一个优化成本函数,myCostfcn,并通过模拟器成本函数作为输入。有关更多信息,请参见写一个成本函数.在cost函数中,配置为快速重启的模拟器用于更新模型参数、模拟模型和记录信号。

    使用带有一个参数的匿名函数调用myCostfcn

    optimfcn = @(参数)myCostfcn(参数,模拟器,需求);

    在这里,myCostfcn是一个成本函数,取设计变量,参数,模拟场景,模拟器,以及设计要求,需求,作为输入。

  6. 运行优化。

    [param_opt,opt_info] = sdo.optimize(optimfcn,param);
  7. 恢复模拟器快速重启设置。

    模拟器= fastRestart(模拟器,“关闭”);

故障排除

为什么我没有看到我期望使用快速重启的优化加速?

在编译阶段较长的模型中,使用快速重启可以加速设计优化任务。如果模型的编译阶段不长,则优化速度不会有显著变化。

另请参阅

||

相关的话题

Baidu
map