matlab性能特性模型,比较性能 - MATLAB & Simulink - MathWorks 中国

仿真模式的性能

当仿真执行时间超过代码生成需要的时间时,Accelerator 和 Rapid Accelerator 模式对速度的提升要超过 Normal 模式。因此,当仿真执行时间为几分钟或更长时,Accelerator 和 Rapid Accelerator 模式的执行性能一般要高于 Normal 模式。但是,包含大量 Stateflow® 或 MATLAB Function 模块的模型在速度提升方面可能只是略高于 Normal 模式,因为这些模块在 Normal 模式下也通过代码生成进行仿真。

在模型中包含可调参数也会增加仿真时间。

下图显示了一个假设模型一般情况下在 Normal、Accelerator 和 Rapid Accelerator 模式下的仿真性能。

ba584b76973be15630b18010e1ede9f2.png必须重新生成目标时的性能

图中的实线表示必须重新生成目标代码时(“all targets out of date”)的性能。对于这个假设的模型,时间大约为几分钟,但对于复杂的模型可能会更长。

如图中所示,在 Normal 模式下编译模型需要的时间少于生成 Accelerator 目标或 Rapid Accelerator 可执行文件所需要的时间。从图中可以明显看出,对于较小的仿真停止时间,Normal 模式下的整体仿真时间比 Accelerator 模式或 Rapid Accelerator 模式都要快。

Accelerator 模式或 Rapid Accelerator 模式出现更快执行时间的交叉点取决于模型的复杂度和内容。例如,如果模型中包含大量使用解释代码的模块(请参阅为 Accelerator 模式选择模块),则在 Accelerator 模式下运行未必比在 Normal 模式下快很多,除非仿真停止时间非常大。同样,如果模型中包含大量 Stateflow Chart 模块或 MATLAB Function 模块,速度提升也未必比在 Normal 模式下高很多,除非仿真停止时间很长。您可以通过代码生成加快包含 Stateflow 图模块或 MATLAB Function 模块的模型的运行速度。

为了说明这一点,上图所示的模型包含大量 Stateflow Chart 模块或 MATLAB Function 模块。如果模型中不包含这些模块,标记为“Normal”的曲线的初始已用时间应该比图中显示的更小。目标为最新版本时的性能

如图中的虚线(“all targets up to date”)所示,Simulink® 软件确定 Accelerator 目标或 Rapid Accelerator 可执行文件是否最新所需的时间远远少于生成代码(“all targets out of date”)所需的时间。当您要对各种设计的优缺点进行测试时,您可以充分利用这一特点。

例如,您可以为 Accelerator 模式生成一次目标代码,然后基于这些代码,使用一系列增益设置对您的模型进行仿真。这是使用 Accelerator 或 Rapid Accelerator 模式的特别有效的方式,因为这种更改不会导致重新生成目标代码。这意味着模型只在第一次运行时生成目标代码,后续运行时,Simulink 代码只需花时间验证目标是否最新。此过程远比生成代码更快,因此后续运行可能比第一次运行快得多。

因为检查目标要比生成代码更快,所以当目标已经是最新版本时,交叉点要比必须生成代码时更小。这意味着对于模型后续运行的仿真,Accelerator 或 Rapid Accelerator 模式要比 Normal 模式更快,即使停止时间较短也是如此。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值