主要内容

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 / CounterA '} {' sldemo_mdlref_basic / CounterB '} {' sldemo_mdlref_basic / CounterC '}

默认情况下,find_mdlrefs函数加载然后关闭没有加载模型。找出加载模型,使用find_system函数。

find_mdlrefs (“sldemo_mdlref_depgraph”);find_system (“类型”,“block_diagram”)
ans = 0 x1空单元阵列

查找并加载所有的模型在模型层次结构,集KeepModelsLoaded真正的

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

模型和所有引用的模型仍然加载。如果你打开sldemo_mdlref_depgraph,您可以在模型层次结构而不必等待被引用的模型加载当你打开它们。

输入参数

全部折叠

系统名称、阻塞道路,或处理,指定为一个特征向量,字符串标量,或数字标量。

系统必须是一个基金文件,MDL文件,模型块,或子系统块。

如果您指定一个文件名,不包括文件扩展名。

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

名称-值参数

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

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

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

选择保持模型加载,指定为逗号分隔组成的“KeepModelsLoaded”和一个数字或逻辑1(真正的)或0()。

默认情况下,函数加载然后关闭没有加载模型。保持模型加载,设置这个参数真正的。保持模型加载可能是有用的,如果你打算找到他们后与模型进行交互。

数据类型:逻辑

搜索,指定为逗号分隔组成的“AllLevels”和一个数字或逻辑1(真正的)或0()。

  • 真正的——搜索所有模型块模型层次结构的指定系统

  • ——搜索只有顶层系统。

数据类型:逻辑

在搜索结果中选择包括保护模型,指定为逗号分隔组成的“IncludeProtectedModels”和一个数字或逻辑1(真正的)或0()。

这个设置只影响引用返回列表的模型;它不影响返回的列表模型块。

数据类型:逻辑

选项包括注释块在搜索结果中,指定为逗号分隔组成的“IncludeCommented”和一个数字或逻辑1(真正的)或0()。

数据类型:逻辑

选择匹配搜索时,指定为真正的对大小写敏感搜索或不区分大小写的搜索。

数据类型:逻辑

搜索遵循图书馆链接选项,指定为真正的。如果真正的,搜索链接到库模块。

数据类型:逻辑

选择搜索蒙面块,指定为:

  • “所有”——在所有蒙面块搜索。

  • “没有”——防止蒙面搜索系统。

  • “功能”——包括蒙面子系统没有对话框。

  • “图形”——包括蒙面子系统没有工作区或对话框。

数据类型:字符|字符串

选择匹配和过滤元素,比如块系统、线路、端口,和注释搜索,指定为处理函数。使用MatchFilter确定元素应该包含或跳过搜索。

论点:

  • 允许你过滤元素自定义过滤功能

  • 避免处理元素当过滤器不匹配

  • 适用于复杂的过滤块、线、内部或注释,来过滤结果

指定必须定义在一个MATLAB函数®程序文件。元素的函数以处理作为输入,并返回两个输出。

函数(匹配,修剪)= func(元素)
  • 输入元素的处理是块处理。

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

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

例如,使用MatchFilter找到所有模型块的模型InitFcn定义回调,使用过滤功能initFcnMdlBlocks:

函数匹配= initFcnMdlBlocks(处理)匹配= ~ isempty (get_param(句柄,“InitFcn”));结束
openExample (“金宝appsimulink_variants / SimulinkVariantsExample”);模型=“slexVariantMdlRefCondProp”;load_system(模型);(模型、块)= find_mdlrefs(模型,“MatchFilter”@initFcnMdlBlocks)

变体:金宝app®提供这些内置的匹配滤波器函数找到变体块活跃在模拟或生成的代码的一部分。

  • 金宝appSimulink.match.activeVariants——过滤函数找到块活动在仿真模型编译。

  • 金宝appSimulink.match.codeCompileVariants——过滤函数找到块模型编译后生成的代码的一部分。

  • 金宝appSimulink.match.allVariants——过滤函数找到所有块无论是否阻止活性或活性是由于变异。

请注意

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

例如,使用金宝appSimulink.match.activeVariants选择模型中找到积极的变异。

openExample (“金宝appsimulink_variants / SimulinkVariantsExample”);模型=“slexVariantMdlRefCondProp”;load_system(模型);set_param(模型,“SimulationCommand”,“更新”);(模型、块)= find_mdlrefs(模型,“MatchFilter”,@金宝appSimulink.match.activeVariants);

例如,使用金宝appSimulink.match.codeCompileVariants选择发现变异的选择是生成的C代码的一部分。

openExample (“金宝appsimulink_variants / SimulinkVariantsExample”);load_system (“slexVariantMdlRefCondProp”);assignin (“基地”,“VSS_MODE”2);slexVariantMdlRefCondProp ([]、[] [],“compileForCodegen”);(模型、块)= find_mdlrefs (“slexVariantMdlRefCondProp”,“MatchFilter”,@金宝appSimulink.match.codeCompileVariants);slexVariantMdlRefCondProp ([]、[] [],“术语”);

示例:使用金宝appSimulink.match.allVariants ()过滤模型中找到所有块。

openExample (“金宝appsimulink_variants / SimulinkVariantsExample”);模型=“slexVariantMdlRefCondProp”;load_system(模型);(模型、块)= find_mdlrefs(模型,“MatchFilter”,@金宝appSimulink.match.allVariants);

请注意

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

选项包括变体模型在搜索结果中,指定为逗号分隔组成的“变异”“ActivePlusCodeVariants”,“ActiveVariants”,或“AllVariants”

  • “ActivePlusCodeVariants”——包括所有变体模型不同的子系统活跃在模拟和生成的代码的一部分。

  • “ActiveVariants”——包括活跃的变体模型不同的子系统块。

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

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

数据类型:字符|字符串

选项包括指定的系统在搜索结果中,指定为逗号分隔组成的“ReturnTopModelAsLastElement”和一个数字或逻辑1(真正的)或0()。

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

数据类型:逻辑

输出参数

全部折叠

模型的名字,作为特征向量的单元阵列返回。

默认情况下,最后一个元素的名称模式,图书馆或者子系统与指定文件系统论点。如果你指定一个块,最后一个元素是模型库,或子系统文件,其中包含它。

的名字模型块,作为特征向量的单元阵列返回。

版本历史

之前介绍过的R2006a

全部展开