在 Matlab 中使用 find_system() 指令在 Simulink 模型中查找子系统
Finding SubSystems in a Simulink model using find_system() instruction in Matlab
我正在尝试查找特定级别的 Simulink 模型中存在的所有子系统,包括来自第三方库的子系统。但是结果我得到了一些值而不是库中子系统的名称。请问有人可以帮忙吗??
使用的指令:
find_system('Level1/Level2','SearchDepth',1,'LookUnderMasks','on','BlockType','SubSystem')
结果:
'Level1/Subsystem1'
'Level1/SubSystem2'
[1x11 char]
[1x90 char]
[1x34 char]
感谢任何帮助。
谢谢。
find_system
方法 returns 处理 simulink 块。要获取子系统的名称,您必须使用 getfullname
函数来获取句柄的名称。
这是因为 find_system
returns 元胞数组或句柄向量,请参阅 documentation:
If sys
is a pathname or cell array of pathnames, find_system
returns a
cell array of pathnames of the objects it finds. If sys
is a handle or
a vector of handles, find_system
returns a vector of handles to the
objects that it finds. If sys
is omitted, find_system
searches all
loaded systems and returns a cell array of pathnames.
调用函数时使用输出参数,您将能够探索返回变量的内容,例如:
my_sys = find_system('Level1/Level2','SearchDepth',1,'LookUnderMasks','on','BlockType','SubSystem');
然后您应该能够看到 my_sys
中的内容并访问其内容。
我正在尝试查找特定级别的 Simulink 模型中存在的所有子系统,包括来自第三方库的子系统。但是结果我得到了一些值而不是库中子系统的名称。请问有人可以帮忙吗??
使用的指令:
find_system('Level1/Level2','SearchDepth',1,'LookUnderMasks','on','BlockType','SubSystem')
结果:
'Level1/Subsystem1'
'Level1/SubSystem2'
[1x11 char]
[1x90 char]
[1x34 char]
感谢任何帮助。
谢谢。
find_system
方法 returns 处理 simulink 块。要获取子系统的名称,您必须使用 getfullname
函数来获取句柄的名称。
这是因为 find_system
returns 元胞数组或句柄向量,请参阅 documentation:
If
sys
is a pathname or cell array of pathnames,find_system
returns a cell array of pathnames of the objects it finds. Ifsys
is a handle or a vector of handles,find_system
returns a vector of handles to the objects that it finds. Ifsys
is omitted,find_system
searches all loaded systems and returns a cell array of pathnames.
调用函数时使用输出参数,您将能够探索返回变量的内容,例如:
my_sys = find_system('Level1/Level2','SearchDepth',1,'LookUnderMasks','on','BlockType','SubSystem');
然后您应该能够看到 my_sys
中的内容并访问其内容。