如何在 Simulink 模型中查找所有 MATLAB 功能块
How to find all MATLAB function blocks in a Simulink model
我想知道如何在 Simulink 模型中找到所有 MATLAB function
模块。
在我知道有很多 MATLAB function
块的模型中,我尝试了以下命令:
find_system(myModel,'LookUnderMasks','on','FollowLinks','on','BlockType','MATLAB Function')
但是,此命令 returns 一个空元胞数组。如果我尝试这样的事情:
find_system(myModel,'LookUnderMasks','on','FollowLinks','on','BlockType','Gain')
,我得到了很多结果。 "MATLAB Function" 是实际的 BlockType 还是有其他术语可以使用?
您需要使用以下定义搜索深度:
h=find_system(myModel,'SearchDepth',N, 'regexp', 'on', 'FollowLinks','on','Findall','on','LookUnderMasks','all', 'BlockType','Gain');
指定N,N越高,搜索的块越深。
如果这不起作用,请告诉我。
您可以使用以下代码查找所有 MATLAB 功能块。
S = sfroot();
% Get block handles
B = find(sfroot, '-isa','Stateflow.EMChart');
这将搜索所有打开的模型和returns Stateflow.EMChart 类型的对象列表。您可以查看这些对象的路径 属性 以将列表缩减为您想要的模型。
我想知道如何在 Simulink 模型中找到所有 MATLAB function
模块。
在我知道有很多 MATLAB function
块的模型中,我尝试了以下命令:
find_system(myModel,'LookUnderMasks','on','FollowLinks','on','BlockType','MATLAB Function')
但是,此命令 returns 一个空元胞数组。如果我尝试这样的事情:
find_system(myModel,'LookUnderMasks','on','FollowLinks','on','BlockType','Gain')
,我得到了很多结果。 "MATLAB Function" 是实际的 BlockType 还是有其他术语可以使用?
您需要使用以下定义搜索深度:
h=find_system(myModel,'SearchDepth',N, 'regexp', 'on', 'FollowLinks','on','Findall','on','LookUnderMasks','all', 'BlockType','Gain');
指定N,N越高,搜索的块越深。
如果这不起作用,请告诉我。
您可以使用以下代码查找所有 MATLAB 功能块。
S = sfroot();
% Get block handles
B = find(sfroot, '-isa','Stateflow.EMChart');
这将搜索所有打开的模型和returns Stateflow.EMChart 类型的对象列表。您可以查看这些对象的路径 属性 以将列表缩减为您想要的模型。