主要内容

find_mdlrefs

在模型层次结构中查找引用的模型和模型块

描述

例子

模型) = find_mdlrefs (系统查找所有引用的模型和模型块在指定系统之下的模型层次结构中。的find_mdlrefs函数临时加载模型。

例子

模型) = find_mdlrefs (系统名称,值使用一个或多个名称-值对提供其他搜索选项。例如,为了保持模型已加载,而不是临时加载它们,设置KeepModelsLoaded符合事实的

例子

全部折叠

查找指定模型引用的所有模型的引用模型和模型块。

load_system (“sldemo_mdlref_basic”);[myModels, myModelBlks] = find_mdlrefs (“sldemo_mdlref_basic”
myModels =2x1电池{' sldemo_mdlref_counter} {' sldemo_mdlref_basic '}
myModelBlks=3x1电池{' sldemo_mdlref_basic / CounterA '} {' sldemo_mdlref_basic / CounterB '} {' sldemo_mdlref_basic / CounterC '}

默认情况下find_mdlrefs函数加载,然后关闭尚未加载的模型。要确定加载了什么模型,请使用find_system函数。

查找\u mdlrefs(“sldemo\u mdlref\u depgraph”); 查找系统(“类型”“block_diagram”
ans=0x1空单元阵列

要查找并加载模型层次结构中的所有模型,请设置KeepModelsLoaded符合事实的

查找\u mdlrefs(“sldemo\u mdlref\u depgraph”“KeepModelsLoaded”,true);查找系统(“类型”“block_diagram”
ans =7 x1细胞{'sldemo_mdlref_thermostat'} {' sldemo_mdlref_加热器'}{'sldemo_mdlref_F2C'} {'sldemo_mdlref_outdoor_temp'} {'sldemo_mdlref_house'} {'sldemo_mdlref_heat2cost'} {'sldemo_mdlref_depgraph'}

顶部模型和所有引用模型仍处于加载状态。如果你打开sldemo_mdlref_depgraph,您可以导航模型层次结构,而不必在打开引用的模型时等待它们加载。

输入参数

全部折叠

作为字符向量、字符串标量或数字标量指定的系统名称、块路径或句柄。

系统必须是SLX文件,MDL文件,模型块,或子系统块。

如果指定文件名,请不要包含文件扩展名。

数据类型:|字符|一串

名称-值参数

指定可选的逗号分隔的对名称,值参数。名称参数名和价值是对应的值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:refModels = find_mdlrefs (topmodel, KeepModelsLoaded,真的,ReturnTopModelAsLastElement,假)

选项以保持模型加载,指定为逗号分隔的对,由“KeepModelsLoaded”和数字或逻辑1符合事实的)或0).

默认情况下,函数加载并关闭尚未加载的模型。若要保持模型已加载,请将此参数设置为符合事实的。如果您计划在找到模型后与模型进行交互,则保持加载模型会很有用。

数据类型:逻辑

要搜索的级别,指定为逗号分隔的对“AllLevels”和数字或逻辑1符合事实的)或0).

  • 符合事实的——搜索所有模型对象的模型层次结构中的块系统

  • —只搜索顶层系统。

数据类型:逻辑

选项在搜索结果中包括受保护的模型,指定为逗号分隔的对,由“IncludeProtectedModels”和数字或逻辑1符合事实的)或0).

此设置仅影响引用模型的返回列表;不影响返回的列表模型阻碍。

数据类型:逻辑

选项在搜索结果中包含注释块,指定为逗号分隔对,由“IncludeCommented”和数字或逻辑1符合事实的)或0).

数据类型:逻辑

选项匹配搜索时的大小写,指定为符合事实的用于区分大小写的搜索或不区分大小写的搜索。

数据类型:逻辑

选项用于按照库链接进行搜索,指定为符合事实的如果符合事实的,搜索跟随链接进入图书馆块。

数据类型:逻辑

用于搜索遮罩块的选项,指定为:

  • “所有”-搜索所有遮罩块。

  • “没有”-防止在屏蔽系统中进行搜索。

  • “功能”-包括没有对话框的屏蔽子系统。

  • “图形”-包括没有工作区或对话框的屏蔽子系统。

数据类型:字符|一串

用于匹配搜索中的元素(如块、系统、线、端口和注释)的函数句柄。使用MatchFilter以确定搜索中是否应包括或跳过元素。

命名函数必须在MATLAB中定义®程序文件。该函数将元素的句柄作为输入,并返回两个输出。

作用[match,prune]=func(元素)
  • 输入要素正在处理的块的句柄。

  • 第一个输出,匹配,是一个逻辑值。如果,搜索将跳过该元素。

  • 第二个输出,修剪,是一个可选逻辑值,仅在要素是一个子系统。默认值为如果this value is set to符合事实的,则整个子系统将从搜索中忽略。

例如,使用MatchFilter找到所有模型对象在模型中的块InitFcnCallback是使用filter函数定义的,initFcnMdlBlocks

作用match = initFcnMdlBlocks(handle) match = ~isempty(get_param(handle,))“InitFcn”));结束
目录(fullfile (matlabroot,“例子”“万博1manbetxsimulink_variants”“主要的”));模型=“slexVariantMdlRefCondProp”;load_system(模型);(模型、块)= find_mdlrefs(模型,“MatchFilter”,@initFcnMdlBlocks)

变体:为了找到活动变量或代码编译变量块,编译模型并应用Simulink的适当匹配过滤函数万博1manbetx®提供了。

  • 万博1manbetxSimulink.match.activeVariants—匹配在模型编译后的模拟中活跃的块。

  • 万博1manbetxSimulink.match.codeCompileVariants-匹配模型编译后生成的代码的一部分。

例如,使用万博1manbetxSimulink.match.activeVariants用于在模型中查找活动变体的选项。

目录(fullfile (matlabroot,“例子”“万博1manbetxsimulink_variants”“主要的”));模型=“slexVariantMdlRefCondProp”;加载系统(模型);设置参数(模型、,“模拟命令”“更新”); [模型,块]=查找\u mdlrefs(模型,“MatchFilter”,@万博1manbetxSimulink.match.activeVariants);

例如,使用万博1manbetxSimulink.match.codeCompileVariants选项查找生成的C代码中的变体选项。

目录(fullfile (matlabroot,“例子”“万博1manbetxsimulink_variants”“主要的”)); 加载系统(“slexVariantMdlRefCondProp”); 指派(“基地”“VSS_模式”2);slexVariantMdlRefCondProp ([],[],[],“compileForCodegen”);(模型、块)= find_mdlrefs (“slexVariantMdlRefCondProp”...“MatchFilter”, 万博1manbetx@Simulink.match.codeCompileVariants);slexVariantMdlRefCondProp ([],[],[],“术语”);

请注意

变体参数将被删除。请使用MatchFilter代替。有关更多信息,请参见兼容性考虑

选项以在搜索结果中包括变量模型,指定为逗号分隔对,由“变异”“ActivePlusCodeVariants”“ActiveVariants”“所有变体”

  • “ActivePlusCodeVariants”-包括所有的变型模型变型子系统在模拟中是活跃的,并且是生成代码的一部分。

  • “ActiveVariants”-将激活的变型车型包括在变型子系统块。

  • “所有变体”-包括所有的变型模型变型子系统块。

此搜索约束仅适用于变型子系统块具有变量控制方式设置为表示标签.使用find_mdlrefs函数与MatchFilter用于在所有类型的可变块上操作的选项。

数据类型:字符|一串

选项在搜索结果中包含指定的系统,指定为逗号分隔对组成“ReturnTopModelAsLastElement”和数字或逻辑1符合事实的)或0).

默认情况下,返回的引用模型列表中的最后一个元素是使用指定的模型、库或子系统文件的名称系统参数。如果指定块,则最后一个元素是包含该块的文件的名称。

数据类型:逻辑

输出参数

全部折叠

模型名称,作为字符向量的单元格数组返回。

默认情况下,最后一个元素是使用指定的模型、库或子系统文件的名称系统论点。如果指定一个块,则最后一个元素是包含它的模型、库或子系统文件。

的名字模型块,作为字符向量的单元格数组返回。

兼容性考虑

全部展开

从R2021a开始警告

R2021a中的行为发生了变化

不建议在R2020b中起动

在R2006a之前引入