主要内容

加速模型简介

金宝appSimulink®Accelerator™通过创建和编译C代码来加快模型的执行。该C代码代替了Simulink在正常模式下使用的解释代码(即Simulink®不在加速器模式时)。金宝app金宝appSimulink Accelerator从Simulink模型生成C代码,并调用MATLAB®MEX函数以编译并动态地将生成的代码链接到Simulink。该代码生成和编译过程首次加速模型时发生,并且任何模型更改都足够重大以需要重新介绍(例如,添加块)。

此示例使用SlaccelDemof14模型来说明Simulink加速器的使用。金宝app

测量非加速时间

打开slacceldemof14型号,并将停止时间设置为3000秒。模拟模型和时间使用TIC/TOC需要多长时间。

modelName ='Slacceldemof14';Open_System(modelName)set_param(modelName,“停止时间”,,,,'3000')TIC SIM(modelName);TOC
经过的时间为12.145881秒。

打开加速器

要激活simulink®加速器,金宝app在simulink编辑器中,模拟标签,下模拟, 选择加速器。您也可以发布set_param命令在MATLAB®命令提示符中。

set_param(modelname,'simulationmode',,,,'加速器'

构建加速模型

构建加速模型并模拟它。在加速器模式下运行时,您可以通过选择模拟选项卡或运行命令:

SIM(模型名称)

在MATLAB提示下。无论哪种情况,代码生成过程的进度都将显示在MATLAB命令窗口中。为了抑制此显示,将SIM命令包裹在evalc中。

evalc('SIM(modelName);');

模拟加速模型

再次模拟模型。请注意,模型模拟在后续运行中运行得更快。

TIC SIM(modelName);TOC
经过的时间为3.039049秒。

更改可调参数并模拟加速模型

更改模型中可调参数之一的值,然后再次模拟模型。请注意,该模型的加速版本不必重新生成,因此模拟在加速模式下仍然比正常模式更快地运行。

modelworkspace = get_param(modelName,“模型工程空间”);评估(ModelWorkspace,'MW = MW*2;')TIC SIM(modelName);TOC
经过的时间为3.089631秒。

相关话题