Simulink模型开发中的一些自动化方法

随着Simulink模型的产品化开发进程,许多模型开发人员会关心模型的建模自动化问题。比如如何对模型中的元素进行批量查找和修改;如何构建自己的建模规则对模型进行检查;如何实现测试自动化等。在这些使用场景中我们都需要了解一些Simulink函数,或者称之为Simulink API。以下我们通过两个小例子来演示Simulink常见函数的功能吧。

案例一:自动创建并保存Simulink模型

% 新建一个名为'mymodel'的模型,并返回句柄值h

h = new_system('mymodel');

% 打开刚才新创建的模型

open_system(h);

% 保存模型并重命名为'newsysname'

save_system('mymodel', 'newsysname.slx');

% 或者做一些防错处理,如在MATLAB路径中发现已有待保存的同名模型时给出命令行提示

save_system('mymodel','newsysname.slx','ErrorIfShadowed',true);

接下来可以创建MATLAB快捷方式,取名为'createModel',将上述代码作为快捷方式的回调函数,这样在需要快速新建一个模型,直接点击该快捷方式即可。

案例二:批量查找并修改Simulink模块

创建一个名为setBlocks的函数,用于批量修改模型中的所有输入模块的数据类型

function setBlocks(sys)

%查找模型中所有模块类型为Inport的模块,并将结果保存到blk中

blk =find_system(sys,'BlockType','Inport');

%blk其实返回了查找到的所有符合条件的模块对象

%在for循环中依次修改所得模块的属性

for n=1:length(blk)

set_param(blk{n},'OutDataTypeStr','int16');

end

最后在命令行中调用上述函数,输入参数为模型名。

>>setBlocks('test')

调用setBlocks前的test模型如下:

调用setBlocks后的test模型

总结

在上述案例中我们用到了Simulink的new_system , open_system , save_system , find_system , set_param 等API,此外更多的API可以在MATLAB的帮助文档中找到,灵活运用这些API可以帮助提高建模效率,实现许多很酷又实用的功能。

小贴士

在需要察看模块具备哪些属性时,可将鼠标单击该模块并在命令行输入

>>inspect (gcbh) 即可打开如下属性观测器

相关推荐
霍格沃兹软件测试开发16 分钟前
Browser Use:打造你的浏览器自动化助手
运维·自动化
wei_shuo5 小时前
使用 Auto-Keras 进行自动化机器学习
机器学习·自动化·keras
--运维实习生--9 小时前
自动化运维之ansible
运维·自动化·ansible
软件算法开发11 小时前
基于LSTM深度学习的网络流量测量算法matlab仿真
深度学习·matlab·lstm·网络流量测量
Source.Liu14 小时前
【Python自动化】 21.2 Pandas 读取 Excel 时的 dtype 参数完全指南
python·自动化·pandas
Source.Liu18 小时前
【Python自动化】 21.1 Pandas 读取 Excel 文件的完整指南
python·自动化·pandas
幂简集成18 小时前
基于 Gemini 的 CI/CD 自动化测评 API 集成实战教程
运维·ci/cd·自动化
W-GEO19 小时前
Spring Boot 源码深度解析:揭秘自动化配置的魔法
spring boot·后端·自动化
wheeldown1 天前
【数学建模】数据预处理入门:从理论到动手操作
python·数学建模·matlab·python3.11
维尔切1 天前
自动化运维-ansible中对于大项目的管理
运维·自动化·ansible