主要内容

万博1manbetxSimulink.findVars

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

描述

例子

变量) = 万博1manbetxSimulink.findVars (上下文查找并返回在指定的块和模型中使用的变量上下文,包括子系统和参考模型。函数返回一个空的if向量上下文不使用任何变量。

例子

变量) = 万博1manbetxSimulink.findVars (上下文variablefilter方法指定的变量或枚举类型variablefilter.例如,使用此语法来确定变量在模型中的哪个位置被使用。

例子

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

例子

全部折叠

查找MyModel

变量= Simulink万博1manbetx.findVars (“MyModel”);

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

变量= Simulink万博1manbetx.findVars (“MyModel”“名字”“k”“SearchMethod”“缓存”“SourceType”“基础工作”);

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

变量= Simulink万博1manbetx.findVars (“MyModel”“正则表达式”“上”“名字”“^反式”);

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

model1Vars = 万博1manbetxSimulink.findVars (“model1”);model2Vars = 万博1manbetxSimulink.findVars (“model2”);commonVars =相交(model1vars model2Vars);

的模型工作区中定义的变量MyModel但是模型没有用到这些。

unusedVars = 万博1manbetxSimulink.findVars (“MyModel”“FindUsedVars”“关闭”“SourceType”“模型空间”);

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

varObj =仿万博1manbetx真软件。VariableUsage (“k”“基础工作”);unusedVar = 万博1manbetxSimulink.findVars (“MyModel”varObj,“FindUsedVars”“关闭”);

找到块所使用的变量Gain1MyModel

变量= Simulink万博1manbetx.findVars (“MyModel”“用户”“MyModel / Gain1”);

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

变量= Simulink万博1manbetx.findVars (“MyNestedModel”“SearchReferencedModels”“上”);

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

varsAndEnumTypes = 万博1manbetxSimulink.findVars (“MyModel”“IncludeEnumTypes”“上”);

输入参数

全部折叠

要搜索的模型和块,指定为字符向量、字符串、字符向量的单元数组或字符串数组。您可以指定上下文以下列方式之一:

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

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

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

数据类型:字符|细胞

要查找的特定变量,指定为数组万博1manbetx仿真软件。VariableUsage对象。每一个万博1manbetx仿真软件。VariableUsage对象标识要查找的变量。

名称-值对的观点

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

例子:“FindUsedVars”,“关闭”

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

例子:“FindUsedVars”,“关闭”

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

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

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

通过指定,您无法找到未使用的枚举类型FindUsedVars作为“关闭”

例子:“IncludeEnumTypes”,“上”

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

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

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

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

  • “缓存”-通过使用上次编译时缓存的结果返回更快的结果。

例子:“SearchMethod”、“编译”

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

如果一个被引用的模型使用了一个全局变量,比如存储在数据字典中的变量,函数在父模型上调用时会返回这个全局变量。如果SearchReferencedModels被设置为“上”,万博1manbetx仿真软件。VariableUsage对象指定引用模型中的一个块作为变量用户。否则,对象指定模型阻塞作为用户。

例子:“SearchReferencedModels”,“上”

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

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

数据类型:字符

定义变量的工作区或源文件,指定为逗号分隔的对“SourceType”其中一个选择是:

  • “基础工作”

  • “模型空间”

  • “面具工作区”

  • “数据字典”

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

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

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

  • “MATLAB文件”

  • “动态类”

  • “数据字典”

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

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

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

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

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

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

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

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

限制

万博1manbetxSimulink.findVars不适用于以下结构:

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

  • 图书馆和图书馆的街区

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

    然而,万博1manbetxSimulink.findVars可以在任何使用枚举类型的地方找到它们吗MATLAB函数块。

  • 从statflow直接调用MATLAB®动作语言

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

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

  • 在statflow中由机器父数据引用的变量。

  • 字符串中的变量。

  • 在一个结构体

万博1manbetxSimulink.findVars只有在设置变体激活时间参数代码编译不同的子系统块对话框。如果不选中此复选框,则函数不会发现非活动变体中的变量使用情况。

介绍了R2010a