主要内容

使用Model Explorer编辑和管理工作区变量

要了解可以用于创建、编辑和管理工作区变量的所有技术,请参阅创建、编辑和管理工作区变量

查找模型或块使用的变量

在模型资源管理器中,您可以获得模型或块使用的变量列表。下面的方法是一种获取变量列表的方法:

  1. 在里面内容窗格,右键单击要为其找到它使用的变量的块。

  2. 选择查找引用的变量菜单项。

Model Explorer返回类似的结果:

为了提高性能,Model Explorer使用了来自模型最后编译版本的缓存信息。如果您想要重新编译模型,可以手动进行,也可以在模型资源管理器中设置更新图领域是的并重复搜索。

您还可以使用以下方法来查找模型或块使用的变量:

  • 在模型探险家中,在模型层次结构窗格,右键单击块或型号节点,然后选择查找引用的变量菜单项。

  • 在Model Explorer中,在搜索栏中,使用引用变量搜索类型的选择。

  • 在Simuli金宝appnk.®编辑器,右键单击块、子系统,或在画布中选择查找引用的变量菜单项。单击画布将返回整个模型的结果。

金宝appSimulink.findVars函数提供了返回有关模型资源管理器或Simulink编辑器中不可用的工作空间变量的信息的其他选项。金宝app

有关查找引用变量时的限制的信息,请参见金宝appSimulink.findVars文档。

使用返回变量集

对于返回变量集中的变量,您可以找到使用该变量的块(有关详细信息,请参见查找使用特定变量的块)。此外,您还可以从返回的变量集中导出变量。有关详细信息,请参阅导出工作区变量

查找使用特定变量的块

此示例显示如何使用Model Explorer获取使用特定工作区变量的块列表。

  1. 打开模型f14

  2. 开放式资源管理器。

  3. 在里面模型层次结构窗格,选择基础工作区节点。

  4. 在里面内容窗格,右键单击变量MQ.并选择找到所使用的地方

  5. 在里面选择一个系统对话框,选择f14

  6. 清除搜索引用的模型复选框,以来f14不引用任何模型,然后单击好的

    搜索引用的模型选中后,您可以在模型引用层次结构中使用它的目标变量。但是,在整个层次结构中找到目标变量可能需要更多时间。

    更新图以包括最近的更改默认情况下清除复选框以通过避免不必要的模型图更新来节省时间。选中该复选框以通过强制更新来包含您对模型所做的最新更改。

  7. 点击好的以响应更新模型图的消息。

    由于您刚刚打开模型,因此必须在查找变量之前至少更新一次模型图。你可以选择更新图以包括最近的更改在里面选择一个系统要强制初始图更新的对话框,尽管您通常在执行多个搜索时更改模型时通常使用该选项找到所使用的地方

  8. Model Explorer显示搜索结果:

    其值包括的属性列MQ.表示使用的块参数MQ.多变的。如果这些属性列尚未在视图中,则Model Explorer将它们添加到搜索结果的末尾显示。

您还可以通过使用其中一个方法找到使用特定变量的块:

  • 在搜索栏中,选择用于可变用法搜索类型的选择。

  • 在里面搜索结果窗格中,右键单击一个变量并选择找到所使用的地方菜单项。

  • 在“模型数据编辑器”中,右键单击工作区变量并选择找到所使用的地方菜单项。

查找未使用的工作区变量

您可以使用Model Explorer获取在工作区中定义但未由模型或块使用的变量列表。获得变量列表的一种方法是右键单击工作区名称模型层次结构窗格并选择找到未使用的变量菜单项。例如:

  1. 打开f14模型。

  2. 打开模型资源管理器。

  3. 在搜索工具栏中,设置更新图领域是的

  4. 在里面模型层次结构窗格,右键单击基础工作区节点并选择找到未使用的变量菜单项。

  5. 模型资源管理器显示类似的输出:

    金宝appSimulink.findVars函数提供了返回有关模型资源管理器或Simulink编辑器无法使用的未使用的工作空间变量的信息的其他选项。金宝app

编辑工作空间变量

在模型资源管理器中,您可以使用变量编辑器从MATLAB中编辑变量®基础工作区或模型工作区。变量编辑器可用于编辑大型数组和结构。

要打开变量编辑器:

  1. 在里面内容窗格,选择变量。

  2. 在对话框(右窗格)中,单击按钮靠近变量的值。

  3. 在菜单中,选择打开变量编辑器

属性中打开变量编辑器内容窗格而不是对话框窗格,通过单击相应的单元格开始编辑变量的值。按钮显示在单元格中。

三维或多维数组的表示

当变量的值或金宝app仿真软件。参数对象是具有三个或多个维度的数组价值列将数组显示为一个表达式,该表达式包含对重塑功能。

要编辑数组中的值,请修改第一个参数重塑调用,它包含序列化向量中的所有数组值。在沿维添加或删除元素时,还必须纠正表示已修改维长度的参数。

重命名变量

这个例子展示了如何使用模型资源管理器在Simulink模型中块使用的任何地方重命名变量。金宝app

  1. 打开模型sldemo_absbrake。该模型将数据加载到MATLAB基础工作空间。

  2. 开放式资源管理器。

  3. 在里面模型层次结构窗格,选择基础工作区。

  4. 在里面内容窗格,右键单击基本工作区变量m并选择重命名所有

  5. 在里面选择一个系统对话框中,单击模型的名称sldemo_absbrake选择它作为重命名变量的上下文m

  6. 清除搜索引用的模型复选框并单击好的。该模型sldemo_absbrake参考模型sldemo_wheelspeed_absbrake, 但只有sldemo_absbrake使用变量m

    搜索引用的模型选中,您可以在模型引用层次结构中使用它的目标变量重命名目标变量。但是,在整个层次结构中重命名目标变量可能需要更多时间。

    更新图以包括最近的更改默认情况下清除复选框以通过避免不必要的模型图更新来节省时间。选中该复选框以通过强制更新来包含您对模型所做的最新更改。

  7. 点击好的以响应更新模型图的消息。

    由于您刚刚打开模型,必须在重命名变量之前至少更新一次模型图。你可以选择更新图以包括最近的更改在里面选择一个系统对话框以强制初始图表更新,尽管您通常在执行多个变量重命名操作时对模型进行更改时通常使用该选项。

  8. 在里面重命名所有对话框,键入变量的新名称新名字框,点击好的

    您可以使用超链接相应的块部分重命名所有对话框查看目标块。

笔记

您可以只重命名该函数的变量金宝appSimulink.findVars金宝app支持。

要获得重命名文件的帮助,请使用项目。看自动更新时,重命名,删除,或删除文件

比较重复的工作区变量

您可以比较存储在相同工作区或不同工作区中的重复变量。例如,您可以将存储在基本工作区中的变量与其存储在模型工作区中的副本进行比较。

  1. 打开模型和模型资源管理器。

  2. 在搜索工具栏中,搜索重复的变量。选择具有重复条目的行。然后,右键单击并选择比较选择

  3. 回顾一下比较观众

导出工作区变量

您可以导出(保存)Model Explorer中列出的一组变量,导出基础工作区或模型工作区中的单个变量或所有变量。

一个可能的工作流是导出返回的变量集查找引用的变量选择或金宝appSimulink.findVars功能。有关详细信息,请参阅查找模型或块使用的变量

笔记

导出的所有变量都必须来自同一工作空间。

要将Model Explorer中的工作区中的所有变量导出到MATLAB代码文件或MAT文件:

  1. 选择要导出的变量。

    1. 要选择工作区中的所有变量,右键单击工作区节点(例如,基础工作区)选择出口菜单项。例如:

    2. 选择单个变量,在内容窗格,选择要导出的变量。右键单击其中一个突出显示的变量,然后选择出口选择菜单项。

    如果内容窗格中有按属性分组的数据,因此选择组中的顶行不会选择该组中的所有变量。关于分组数据的详细信息,请参见模型浏览器

  2. 指定是否在MATLAB代码文件或MAT文件中保存变量。

    MATLAB代码文件格式更容易读取,可编辑,并支持版本控件。金宝appMat文件格式为二进制文件,具有性能优势。

    如果指定MATLAB代码文件格式,模型资源管理器可能会创建一个关联的MAT文件,反映MATLAB代码文件的名称,但具有扩展名。垫代替。m

  3. 指定文件的名称和位置。

  4. 如果文件已存在,Model Explorer将显示一个对话框,要求您选择其中一个选项:

    • 覆盖整个文件

      • 用所选变量替换目标文件中的所有变量,这些变量按字母顺序存储。

    • 更新文件中存在的变量,并将新变量添加到文件中

      • 更新现有变量到位并追加新变量。

    • 仅更新文件中存在的变量

      • 更新现有变量,但不添加任何新变量,这将消除潜在的额外变量。

要永久存储模型的工作空间变量,而不是使用基础工作区,创建数据字典。看什么是数据字典?

导入工作区变量

您可以使用模型资源管理器导入(加载)从文件中的一组变量或使用模型资源管理器进入模型工作区。将变量导入工作空间时,Model Explorer会覆盖现有变量并添加任何新变量。

要将变量导入工作区:

  1. 在里面模型层次结构窗格,右键单击要导入变量的工作区。

  2. 选择进口菜单项。

  3. 在“从文件”对话框中,选择要导入的变量的MATLAB代码文件或MAT文件。

    笔记

    如果您导入MATLAB代码文件,则Simulink还导入关联的MAT文件。金宝app

也可以看看

|

相关话题