从MATLAB 2022b开始,Simulink更新了一个被很多人忽视的新功能,那就是——显示对话框参数的计算值 如果你还对这个功能没有概念,看看下面这个例子就会明白了 在以往的版本中,当我们在simulink模块的参数框中引用工作区的变量时,无法直接查看该变量的数值,而现在变量的数值会直接在对应参数框中显示。 在属性检查器(Property Inspector)同样会显示 在参数框中输入表达式,其计算结果也会同步显示出来 应用案例显然,对于简单模型来说,找出参数值相对容易,可以在基础工作区中键入它或查看数据字典。而对一些复杂模型进行建模或修改时,该功能的价值就会体现出来。 为了说明这个特性在复杂项目中的价值,这里使用Simulink附带的Four Hydraulic Cylinder Simulation示例。 可以在MATLAB命令行输入以下命令打开该模型
可以看到在液压缸2模型中,Ac^2/K的值为5e-12 而在液压缸3模型中,Ac^2/K的值为8e-11 我们查看工作区发现Ac = 0.001 K = 50000,那么Ac^2/K = 2e-10,为什么会出现这种情况呢? 造成该问题的原因是对子模型进行封装时,将工作区中的变量Ac、K经过运算后重新命名为Ac、K,因此在不同的子模型中变量Ac、K并不相等: 查看Mask Editor以查看哪个对话框参数对应于Ac和K,可以看到在液压缸2子模型将工作区中的变量K和Ac均除以4后重新命名为了K、Ac。 在封装子系统的对话框中查看传递给每个块的封装对话框的参数 可以看到液压缸2子模型内的变量K实际为工作区中的变量K/4 = 12500 ,Ac为Ac/4 = 0.00025 因此Ac^2/K的值为5e-12 可以想象如果有多层嵌套的封装子系统,按照上述操作检查参数值的复杂性会成倍提升。 自定义MATLAB对象如果使用 MATLAB 类来定义模型参数,那么评估后的值将显示为一个超链接,该超链接会打开自动生成的类文档,其中包括打开源代码的超链接。 如何关闭该功能在MATLAB 2022b及以上版本,该功能默认开启,如果需要关闭,可以在simulink preference中取消勾选对应选项。 总结个人感觉该功能可以有效减少我们在建模过程中查看MATLAB工作区的次数,特别是需要展开才能检查参数的结构数组。 在MATLAB 2023a中该功能进一步支持了simscape物理建模,让simulink和simscape建模的体验更加统一。 |
|