人在仿真软件万博1manbetx

万博1manbetxSimulink &基于模型的设计

Revisited:该模型中有多少块?

很久以前,赛斯写了一篇文章如何计算模型中的块数,包括参考模型。那时,使用函数find_mdlrefs查找所有引用的模型并运行sldiagnostics他们每一个人都是前进的方向。

在R2017b,万博1manbetx仿真软件检查引入了一种新的简单的方法来找出Simulink模型中有多少块,以及许多相关的指标:万博1manbetx指标指示板

块计数

为了理解Dashboard Metrics所包含的数据类型,我认为从一个简单的模型开始是一个好主意。为此,我将使用示例模型sf_car.slx。首先,我从Analysis菜单中启动Dashboard Metrics:

启动指标仪表板

然后点击所有指标按钮开始分析:

启动指标仪表板

几秒钟之内,我收到了如下报告:

启动指标仪表板

让我们点击其中一些指标,看看它们能告诉我们什么。首先,让我们点击区块的数量。这会打开一个表,列出模型中的所有组件,以及它们包含多少块。

块计数

例如,我们可以看到传输子系统包含7个块,25个块包括它的后代:变矩器(10块)传动比(8块)。

传输子系统中的块计数

更多的指标

以一种类似于块计数的方式,Metrics Dashboard可以告诉您模型中MATLAB代码行(在MATLAB函数块中)、状态流图中的代码行和参数的数量和位置。

更多的指标

在上图中,如果我点击System Interface部分中的数字10,我可以看到Engine子系统使用了来自基本工作区的4个参数:

参数计算

经过验证,我确认发动机子系统确实使用了4个参数:3在发动机扭矩查找表中,1在增益块中

参数计算

基于指标改进您的模型

现在让我们切换到一个更大、更复杂的模型。为此,我将使用一个混合动力汽车的例子动力总成Blockset

这个模型的一个有趣的度量是库重用,它显示了模型中许多子系统具有相同的副本。

库重用

如果你点击指标去查看细节,你会注意到一个按钮打开转换工具

转换工具

这将启动一个工具,它可以用一个库块的实例一次替换模型中子系统的所有副本。

克隆

可以想象,进行这种重构应该有助于避免修改子系统的一个副本而忘记修改其他副本的情况。

现在轮到你了

Metrics Dashboard包含了更多的信息,我建议您仔细阅读模型度量文档页才能得到完整的名单。

在您的模型上尝试这个新特性,如果您发现了一些有趣的东西,请在下面的评论中告诉我们。此外,如果您正在使用其他指标,并希望看到包含在仪表板中,请告诉我们。

|

评论

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