大学城网站开发公司,湛江有网站的公司名称,网站搭建的注意事项,wordpress 权限是一个类还是一个函数随着Simulink模型的产品化开发进程#xff0c;许多模型开发人员会关心模型的建模自动化问题。比如如何对模型中的元素进行批量查找和修改#xff1b;如何构建自己的建模规则对模型进行检查#xff1b;如何实现测试自动化等。在这些使用场景中我们都需要了解一些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 n1: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) 即可打开如下属性观测器