使用Matlab中的find_system()指令在Simulink模型中查找子系统

时间:2015-11-13 10:21:30

标签: matlab simulink

我试图找到特定级别的Simulink模型中存在的所有子系统,包括来自第三方库的子系统。但是在结果中我获得了一些值而不是来自Libraries的SubSystems的名称。请有人帮忙吗??

使用说明:

find_system( '级别1 /级别2', 'SearchDepth',1 '上' 'LookUnderMasks', 'BlockType', '子系统')

结果:

'Level1/Subsystem1'
'Level1/SubSystem2'
[1x11 char]
[1x90 char]
[1x34 char]

感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:2)

find_system方法返回simulink块的句柄。要获取子系统的名称,必须使用getfullname函数来获取句柄的名称。

答案 1 :(得分:1)

这是因为find_system返回一个单元格数组或句柄向量,请参阅documentation

  

如果sys是路径名的路径名或单元格数组,find_system会返回一个   它找到的对象的路径名的单元格数组。如果sys是句柄或   一个句柄向量,find_system返回一个句柄向量   它找到的对象。如果省略sysfind_system将全部搜索   加载系统并返回路径名的单元格数组。

在调用函数时使用输出参数,您将能够探索返回变量的内容,例如:

my_sys = find_system('Level1/Level2','SearchDepth',1,'LookUnderMasks','on','BlockType','SubSystem');

然后你应该能够看到my_sys中的内容并访问其内容。