Simulin万博1manbetxk上的家伙

万博1manbetx基于Simulink和模型的设计

充分利用快速加速器模式

使用Simulink时,将模型和工作万博1manbetx流配置为您正在进行的任务,将模型和工作流配置为高效。

今天,我将展示如何设置模型以在需要运行许多模拟和不同参数时获得最大性能。如果您进行Monte-Carlo仿真或系统优化,则通常是这种情况。

快速加速器

作为解释这里,快速加速器模式可以通过为模型生成可执行来加速仿真。出于各种原因,加速可以在模型之间变化。就个人而言,我已经看到一些型号在快速加速器模式下运行超过10倍。

快速加速器

RapidAcceleratorUpToDateCheck掉

当您单击模型中的播放按钮或使用sim卡命令,Simuli万博1manbetxnk会验证您的模型是否已经更改。如果模型在结构上没有更改,则不会重新生成快速加速可执行文件。

使用快速加速器的一个好处是,一旦生成了可执行文件,就可以跳过Simulink验证模型是否更改的这一部分。万博1manbetx对于大型模型,这可以节省大量时间,使初始化时间为零。

让我们看看如何使用简单的演示完成sldemo_bounce我想改变恢复系数,我指定为k在块对话框中。

sldemo_bounce

如果我想要调优k,我需要把它定义为a万博1manbetx仿真软件。参数目的:

k =仿万博1manbetx真软件。参数k。CoderInfo.StorageClass ='万博1manbetxsimulinkglobal';k.Value = -0.9;

我启用了模型配置中的Inline Parameters选项。

内联参数

一旦这完成了,我显式构建快速加速器可执行文件:

mdl =“sldemo_bounce”;rtp = 万博1manbetxSimulink.BlockDiagram.buildRapidAcceleratorTarget (mdl);

如您所见,这将返回一个包含与模型中可调参数相关的所有信息的结构。使用这个结构,我们可以为所有要运行的值创建一个运行时参数结构数组:

k_values = [-0.9:0.1:-0.1];对于i = 1:长度(k_values)paramset(i)= simulink万博1manbetx.blockdiagram.modifytunableParameters(RTP,'k',k_values(i));结束

我们准备好模拟了,通过传递sim卡命令,我们通过参数RapidAcceleratorUpToDateCheckRapidAcceleratorParameterSets

simout(I) = sim(mdl, mdl)“SimulationMode”“快速”...“RapidAcceleratorUpToDateCheck”'离开'...'RapidacceleratorParametersets',参数(i));结束

更新:在MATLAB中的R2017a函数PARSIM介绍了。为了更好地模拟循环中模拟模型(串联或并行),我们建议使用Parsim而不是SIM在INSION中/律源。查看最近的博客文章使用parsim可以很容易地并行模拟模型为更多的细节。

现在轮到你了

你可以试一试,留下一个这里的评论

|

注释

请点击留下评论这里登录到你的MathWorks帐户或创建一个新的。