主要内容

find_mdlrefs

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

描述

例子

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

例子

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

例子

全部折叠

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

load_system (“sldemo_mdlref_basic”);[myModels,myModelBlks] = find_mdlrefs(“sldemo_mdlref_basic”
myModels =2 x1细胞{'sldemo_mdlref_counter'} {'sldemo_mdlref_basic'}
myModelBlks =3 x1细胞{'sldemo_mdlref_basic/ counter '} {'sldemo_mdlref_basic/CounterB'} {'sldemo_mdlref_basic/ counter '}

默认情况下,find_mdlrefs函数加载并关闭尚未加载的模型。要确定加载了哪些模型,请使用find_system函数。

find_mdlrefs (“sldemo_mdlref_depgraph”);find_system (“类型”“block_diagram”
Ans = 0x1空单元格数组

要查找并加载模型层次结构中的所有模型,请设置KeepModelsLoaded真正的

find_mdlrefs (“sldemo_mdlref_depgraph”“KeepModelsLoaded”,真正的);find_system (“类型”“block_diagram”
ans =7 x1细胞{'sldemo_mdlref_thermostat'} {'sldemo_mdlref_heater'} {'sldemo_mdlref_F2C'} {'sldemo_mdlref_outdoor_temp'} {'sldemo_mdlref_house'} {'sldemo_mdlref_heat2cost'} {'sldemo_mdlref_depgraph'}

顶部模型和所有引用的模型保持加载状态。如果你打开sldemo_mdlref_depgraph,您可以在模型层次结构中导航,而无需等待被引用的模型在打开时加载。

输入参数

全部折叠

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

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

如果指定了文件名,则不包括文件扩展名。

数据类型:|字符|字符串

名称-值参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:refModels = find_mdlrefs(topmodel,' keepmodelloaded ',true,'ReturnTopModelAsLastElement',false)

选项来保持模型加载,指定为由逗号分隔的对“KeepModelsLoaded”数字的或逻辑的1真正的)或0).

默认情况下,该函数会加载,然后关闭尚未加载的模型。为了保持模型的加载,将这个参数设置为真正的.如果您计划在找到模型后与它们进行交互,那么保持模型加载是很有用的。

数据类型:逻辑

要搜索的级别,指定为由逗号分隔的对“AllLevels”数字的或逻辑的1真正的)或0).

  • 真正的-搜索全部模型的模型层次结构中的块系统

  • —只搜索顶层系统。

数据类型:逻辑

选项,以在搜索结果中包含受保护的模型,指定为由逗号分隔的对“IncludeProtectedModels”数字的或逻辑的1真正的)或0).

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

数据类型:逻辑

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

数据类型:逻辑

选项在搜索时匹配大小写,指定为真正的对于区分大小写的搜索或用于不区分大小写的搜索。

数据类型:逻辑

选项,用于搜索遵循库链接,指定为真正的.如果真正的,搜索遵循链接进入图书馆块。

数据类型:逻辑

搜索屏蔽块的选项,指定为:

  • “所有”-搜索所有屏蔽块。

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

  • “功能”—包含没有对话框的被屏蔽子系统。

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

数据类型:字符|字符串

函数句柄,用于匹配搜索中的元素,如块、系统、行、端口和注释。使用MatchFilter以确定在搜索中是应该包含元素还是跳过元素。

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

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

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

  • 第二个输出,修剪,是一个可选的逻辑值,只适用于元素是一个子系统。默认值为.如果将此值设置为真正的,整个子系统从搜索中省略。

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

函数match = ~isempty(get_param(handle))“InitFcn”));结束
目录(fullfile (matlabroot,“例子”“金宝appsimulink_variants”“主要”));模型=“slexVariantMdlRefCondProp”;load_system(模型);[models,blocks] = find_mdlrefs(model, blocks)“MatchFilter”@initFcnMdlBlocks)

变体:要查找活动变体或代码编译变体块,编译模型并应用Simulink提供的适当匹配过滤函数金宝app®提供了。

  • 金宝appSimulink.match.activeVariants-匹配在模型编译后在模拟中活跃的块。

  • 金宝appSimulink.match.codeCompileVariants-匹配块是模型编译后生成代码的一部分。

请注意

为了得到正确的结果,你必须编译模型使用前金宝appSimulink.match.activeVariants金宝appSimulink.match.codeCompileVariants过滤器。如果没有编译模型,这些过滤器将返回模型中的所有块。

例如,使用金宝appSimulink.match.activeVariants选项,以查找模型中的活动变体。

目录(fullfile (matlabroot,“例子”“金宝appsimulink_variants”“主要”));模型=“slexVariantMdlRefCondProp”;load_system(模型);set_param(模型,“SimulationCommand”“更新”);[models,blocks] = find_mdlrefs(model, blocks)“MatchFilter”, 金宝app@Simulink.match.activeVariants);

例如,使用金宝appSimulink.match.codeCompileVariants选项来查找作为生成的C代码的一部分的变体选项。

目录(fullfile (matlabroot,“例子”“金宝appsimulink_variants”“主要”));load_system (“slexVariantMdlRefCondProp”);assignin (“基地”“VSS_MODE”2);slexVariantMdlRefCondProp ([],[],[],“compileForCodegen”);[models,blocks] = find_mdlrefs(“slexVariantMdlRefCondProp”“MatchFilter”, 金宝app@Simulink.match.codeCompileVariants);slexVariantMdlRefCondProp ([],[],[],“术语”);

请注意

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

选项,以在搜索结果中包含变量模型,指定为由逗号分隔的对“变异”“ActivePlusCodeVariants”“ActiveVariants”,或“AllVariants”

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

  • “ActiveVariants”-在不同的子系统块。

  • “AllVariants”-包括所有的变种模型不同的子系统块。

此搜索约束仅适用于不同的子系统block有变型控制方式设置为表达式标签.使用find_mdlrefs函数MatchFilter选择操作所有类型的变体块。

数据类型:字符|字符串

选项,以在搜索结果中包含指定的系统,指定为由“ReturnTopModelAsLastElement”数字的或逻辑的1真正的)或0).

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

数据类型:逻辑

输出参数

全部折叠

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

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

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

版本历史

R2006a之前引入

全部展开

警告从R2021a开始

行为在R2021a中改变

不建议从R2020b开始