Simulink仿真命令的应用

来源:互联网 发布:全景航拍软件 编辑:程序博客网 时间:2024/06/08 07:56

    在毕设的过程中,要用脚本动态的控制mdl模型的运行。在编写脚本的过程中,有几个命令特别常用(open_system,find_system,set_param,get_param和close_system),这里总结一下它们的用法。

  • open_system

该函数的形式很多,常用的有:

 

open_system('sys')open_system('blk')open_system('blk', 'force')open_system('blk', 'parameter')open_system('blk', 'mask')open_system('blk', 'OpenFcn')open_system('sys', 'destsys', 'replace')open_system('sys', 'destsys', reuse')

 

打开由sys指定的系统模型或子系统窗口。例子:

 

  • find_system

该函数的使用形式:

 

 

find_system(sys, 'c1', cv1, 'c2', cv2,...'p1', v1, 'p2', v2,...),用来查找具有某种特性的模块、系统、线、端口或注释的路径或句柄。

 

 

 

 

 

如果sys是路径名或者路径名cell array,那么find_system返回它查找到的对象的路径名的cell array;

如果sys是句柄或句柄向量(vector),那么find_system返回它查找到的对象的句柄向量。

另外,在find_system中可以设置查找的方式,例如“SearchDepth”等,利用这些设置选项,可以灵活地查找对象。例如:

 

这句话就是允许深入封装模块、允许使用正则表达式来查找所有含有变量“C”的模块的路径名,Qam_blocks是个cell array。

  • set_param

该函数的使用形式:set_param(object, paramName1, Value1,..., paramNameN, ValueN),用来设置系统或模块参数的值。

一般而言,对于大规模的对很多模块的同一参数设置相同的值(如很多模块都有参数C,整个模型系统中C的值是一致的),

一般而言是先用find_system找到这些模块的位置,再有set_param将这些模块的参数设置成相应的值。例如:

 

对于set_param函数,有一点需要注意,参数的值ValueN一般要转换为string类型。

  • get_system

该函数的典型用法:

paramValue = get_param(object, paramName)
paramValues = get_param(objectCellArray, paramName)
paramValue = get_param(objectHandle, paramName)
paramValue = get_param(0, paramName)
paramStruct = get_param(object, 'ObjectParameters')

paramCellArray = get_param(object, 'DialogParameters')

与set_param相对应,用来获取参数的值。

  • close_system

该函数的用法:

 

close_systemclose_system('sys')close_system('sys', saveflag)close_system('sys', 'newname')close_system('sys', 'newname','ErrorIfShadowed', true)
与open_system函数相对应,用来关闭Simulink系统的窗口或对话框。
这个函数在对多个模型做仿真时很有用。
当然,Simulink的仿真命令还有很多:add_block,delete_block等等,本文只是介绍在脚本的编写中比较常用的。
最后附上一篇毕设中用到的典型脚本:
 

 

 

 

原创粉丝点击