我想知道如何在Simulink模型中查找所有MATLAB function
块。
在我知道有很多MATLAB function
块的模型中,我尝试了以下命令:
find_system(myModel,'LookUnderMasks','on','FollowLinks','on','BlockType','MATLAB Function')
但是,此命令返回一个空单元格数组。如果我尝试这样的事情:
find_system(myModel,'LookUnderMasks','on','FollowLinks','on','BlockType','Gain')
,我收到了很多结果。 “MATLAB函数”是一个实际的BlockType还是还有另一个术语?
答案 0 :(得分:1)
您需要使用以下内容定义搜索深度:
h=find_system(myModel,'SearchDepth',N, 'regexp', 'on', 'FollowLinks','on','Findall','on','LookUnderMasks','all', 'BlockType','Gain');
指定N,搜索到的块越深,N就越高。
如果这不起作用,请告诉我。
答案 1 :(得分:1)
您可以使用以下代码查找所有MATLAB功能块。
S = sfroot();
% Get block handles
B = find(sfroot, '-isa','Stateflow.EMChart');
这将搜索所有打开的模型并返回Stateflow.EMChart类型的对象列表。您可以查看这些对象的Path属性,以将列表缩减为所需的模型。