我试图找到特定级别的 Simulink 模型中存在的所有子系统,包括来自第三方库的子系统。然而,在结果中我从库中得到了一些值而不是子系统的名称。
使用说明:
find_system('Level1/Level2','SearchDepth',1,'LookUnderMasks','on','BlockType','SubSystem')
结果:
'Level1/Subsystem1'
'Level1/SubSystem2'
[1x11 char]
[1x90 char]
[1x34 char]
这是因为
find_system
返回一个元胞数组或句柄向量,请参阅 文档:
如果
是路径名或路径名元胞数组,则sys
返回 它找到的对象的路径名元胞数组。如果find_system
是手柄或 句柄向量,sys
返回句柄向量 它找到的对象。如果省略find_system
,则sys
搜索所有 加载系统并返回路径名元胞数组。find_system
在调用函数时使用输出参数,您将能够探索返回变量的内容,例如:
my_sys = find_system('Level1/Level2','SearchDepth',1,'LookUnderMasks','on','BlockType','SubSystem');
然后您应该能够看到
my_sys
中的内容并访问其内容。
find_system
方法返回 simulink 模块的句柄。要获取子系统的名称,您必须使用 getfullname
函数来获取句柄的名称。