主要内容

加速模型简介

通过创建和编译C代码,Simulink®Accelerator™加速了模型的执行。这个C代码取代了Simulink在普通模式(即,当Simulink®不在加速模式下)下使用的解释性代码。Simulink Accelerator从Simulink模型生成C代码,调用MATLAB®mex函数编译并动态链接生成的代码到Simulink。这个代码生成和编译过程发生在您第一次加速模型时,以及任何时候模型的更改非常重要,以至于需要重新生成(例如,添加一个块)。

本示例使用slaccelerdemof14模型来演示如何使用Simulink Accelerator。

测量非加速时间

打开slaccelerdemof14模型并将停止时间设置为3000秒。使用TIC/TOC模拟模型并计算所需时间。

modelName =“slAccelDemoF14”;open_system modelName set_param (modelName,“stoptime”“3000”) tic sim(modelName);toc
运行时间为10.952254秒。

打开加速器

要激活Simulink®加速器,请在Simulink编辑器中模拟选项卡,在模拟中,选择加速器.您也可以发出set_param在MATLAB®命令提示符。

set_param (modelName“SimulationMode”“加速器”

建立加速模型

建立加速模型并进行仿真。在加速器模式下运行时,您可以通过选择启动模型运行模拟TAB或运行命令:

sim (modelName)

在MATLAB提示符。在这两种情况下,代码生成过程的进度将显示在MATLAB命令窗口中。要抑制此显示,将sim命令包装在evalc中。

evalc (“sim (modelName);”);

模拟加速模型

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

抽搐sim (modelName);toc
运行时间为2.271198秒。

改变可调参数,模拟加速模型

更改模型中一个可调参数的值,并再次模拟模型。注意,模型的加速版本不需要重新生成,因此模拟在加速模式下比在正常模式下运行得更快。

modelWorkspace = get_param(modelName,“ModelWorkspace”);evalin (modelWorkspace的Mw = Mw * 2;) tic sim(modelName);toc
运行时间为2.595786秒。

相关的话题

Baidu
map