文档

金宝appSimulink.findVars

分析模型中变量与块之间的关系

描述

例子

变量= Si金宝appmulink.findVars(上下文属性指定的块和模型中使用的变量上下文,包括子系统和参考模型。该函数返回一个空向量if上下文不使用任何变量。

例子

变量= Si金宝appmulink.findVars(上下文variablefilter仅查找指定的变量或枚举类型variablefilter.例如,使用此语法来确定在模型中使用变量的位置。

例子

变量= Si金宝appmulink.findVars(___名称,值查找具有一个或多个指定的附加选项的变量名称,值对参数。例如,您可以搜索未使用的变量。中使用的枚举数据类型也可以搜索上下文,除了变量。

例子

全部折叠

查找使用的变量MyModel

变量= Simulink金宝app.findVars(“MyModel”);

查找基本工作区变量的所有用法k通过MyModel.使用缓存的结果来避免编译MyModel

变量= Simulink金宝app.findVars(“MyModel”“名字”“k”“SearchMethod”“缓存”“SourceType”“基础工作”);

查找名称与正则表达式匹配的变量的所有用法^反式

变量= Simulink金宝app.findVars(“MyModel”“正则表达式”“上”“名字”“^反式”);

给定两个模型,找出第一个模型、第二个模型和两者所使用的变量

model1Vars = 金宝appSimulink.findVars(“model1”);model2Vars = 金宝appSimulink.findVars(“model2”);commonVars =相交(model1vars,model2Vars);

的模型工作空间中定义的变量MyModel但是这个模型没有用到。

unusedVars = 金宝appSimulink.findVars(“MyModel”“FindUsedVars”“关闭”“SourceType”“模型空间”);

确定基本工作区变量k不是由MyModel

varObj = 金宝appSimulink。VariableUsage (“k”“基础工作”);unusedVar = 金宝appSimulink.findVars(“MyModel”varObj,“FindUsedVars”“关闭”);

找到块使用的变量Gain1MyModel

变量= Simulink金宝app.findVars(“MyModel”“用户”“MyModel / Gain1”);

找到在模型引用层次结构中使用的变量。从模型开始搜索MyNestedModel,并在下面搜索整个层次结构MyNestedModel

变量= Simulink金宝app.findVars(“MyNestedModel”“SearchReferencedModels”“上”);

中使用的变量和枚举类型MyModel

varsAndEnumTypes = 金宝appSimulink.findVars(“MyModel”“IncludeEnumTypes”“上”);

输入参数

全部折叠

要搜索的模型和块,指定为字符向量、字符串、字符向量的单元格数组或字符串数组。你可以指定上下文用以下其中一种方法:

  • 模型的名称。例如,(“vdp”)指定模型vdp.slx

  • 块或掩码块的名称或路径。例如,(“vdp / Gain1”)指定一个名为Gain1在模型的根级别vdp.slx

  • 模型或块名称的单元格数组。

数据类型:字符|细胞

要查找的特定变量,指定为数组金宝app仿真软件。VariableUsage对象。每一个金宝app仿真软件。VariableUsage对象标识要查找的变量。

名称-值对实参

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

例子:“FindUsedVars”,“关闭”

标记,以查找显式使用或未使用的变量,指定为逗号分隔的对,由“FindUsedVars”而且“上”的假.如果你指定FindUsedVars作为“关闭”时,该函数查找未使用的变量上下文的工作空间中定义的SourceType

例子:“FindUsedVars”,“关闭”

标志,以查找所使用的枚举数据类型,指定为逗号分隔的对,由“IncludeEnumTypes”而且“上”“关闭”.中显式使用的枚举类型上下文以及定义中使用的变量的类型上下文

该函数不报告关于哪些块或对象正在使用枚举类型的详细信息。

如果你指定SourceType作为“基础工作”“模型空间”,或“面具工作区”,该函数不报告枚举类型,因为这些源不能定义枚举类型。

不能通过指定找到未使用的枚举类型FindUsedVars作为“关闭”

例子:“IncludeEnumTypes”,“上”

标志,为输入参数启用正则表达式匹配,指定为逗号分隔的对,由“正则表达式”而且“上”.只能匹配具有字符向量值的输入参数。

例子:“正则表达式”,“上”

编译状态,指定为逗号分隔的对,由“SearchMethod”其中一个价值观是:

  • “编译”-通过在搜索前编译搜索上下文中的每个模型,返回最新的结果。

  • “缓存”-通过使用前一次编译期间缓存的结果返回更快的结果。

例子:“SearchMethod”、“编译”

标志以启用在引用模型中搜索,指定为逗号分隔的对,由“SearchReferencedModels”而且“上”

如果引用的模型使用全局变量,例如存储在数据字典中的变量,则该函数在父模型上调用时返回该全局变量。如果SearchReferencedModels设置为“上”,金宝app仿真软件。VariableUsage对象将引用模型中的块指定为变量user。否则,对象指定模型块作为用户。

例子:“SearchReferencedModels”,“上”

要搜索的变量或枚举数据类型的名称,指定为由逗号分隔的对组成“名字”和字符向量或字符串。

例子:“名称”,“反式”

数据类型:字符

的逗号分隔对指定的变量“SourceType”其中一个选项是:

  • “基础工作”

  • “模型空间”

  • “面具工作区”

  • “数据字典”

该函数为在指定源中定义的变量筛选结果。

例子:“SourceType”、“基础工作”

如果通过指定来搜索枚举数据类型“IncludeEnumTypes”作为“上”“SourceType”表示定义枚举类型的方式。您可以指定以下选项之一:

  • “MATLAB文件”

  • “动态类”

  • “数据字典”

该函数为指定源中定义的枚举类型筛选结果。

例子:“SourceType”、“MATLAB文件'

如果您没有指定SourceType时,该函数不按源过滤结果。

用于搜索变量的特定块的名称,指定为由逗号分隔的对组成“用户”和字符向量或字符串。

如果要搜索一组特定的块,可以通过指定正则表达式作为“上”并在字符向量中使用正则表达式。例如,您可以指定“用户”、“MyModel / *搜索所有的块MyModel他们的名字是以获得

例子:“用户”、“MyModel / Gain1 '

例子:“用户”、“MyModel / mySubsystem Gain2”

例子:“用户”、“MyModel / *

限制

金宝appSimulink.findVars不适用于以下结构:

  • MATLAB®脚本中的代码,初始化和回调函数

  • 图书馆和图书馆中的街区

  • 变量MATLAB函数块,除了输入参数

    然而,金宝appSimulink.findVars能在使用枚举类型的任何地方找到它们吗MATLAB函数块。

  • 从状态流直接调用MATLAB®动作语言

  • 使用使用注册的数据类型变量的s函数ssRegisterDataType

    要使变量可搜索,请使用ssRegisterTypeFromNamedObject代替。

  • 状态流中由机器父数据引用的变量。

  • 字符串中的变量。

金宝appSimulink.findVars仅当您选择时,才发现非活动子系统变量中的变量使用情况分析更新图期间的所有选择并生成预处理器条件不同的子系统对话框。如果不选中此复选框,则该函数不会发现非活动变量中的变量使用情况。

在R2010a中引入