主要内容

使用模型管理器编辑和管理工作区变量

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

查找模型或块使用的变量

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

  1. 内容窗格中,右键单击要查找其使用的变量的块。

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

模型资源管理器返回与以下类似的结果:

对于性能,Model Explorer使用来自模型的上次编译版本的缓存信息。如果要重新编译该模型,请在手动或在模型资源管理器中进行操作,设置更新图表字段到是的并重复搜索。

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

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

  • 在模型管理器的搜索栏中,使用对于引用的变量搜索类型选项。

  • 在Simuli万博1manbetxnk.®编辑器,右键单击块,子系统或画布中,然后选择查找引用的变量菜单项。单击Canvas返回整个型号的结果。

万博1manbetxsimulink.findvars.函数提供了返回有关模型资源管理器或Simulink编辑器中不可用的工作空间变量的信息的其他选项。万博1manbetx

有关查找引用变量时的限制的信息,请参阅万博1manbetxsimulink.findvars.文档

使用返回的变量集

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

查找使用特定变量的块

此示例演示如何使用模型资源管理器获取使用特定工作空间变量的块列表。

  1. 打开模型F14

  2. 开放式资源管理器。

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

  4. 内容窗格,右键单击变量Mq并选择找到用过的地方

  5. 选择一个系统对话框中,选择F14

  6. 清除在参考模型中搜索复选框,因为F14不引用任何模型,然后单击好啊

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

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

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

    由于您刚刚打开模型,因此必须在查找变量之前至少更新一次模型图。你可以选择更新图表以包括最近的更改选择一个系统对话框强制进行初始关系图更新,但通常在对模型进行更改时使用该选项,同时使用找到用过的地方

  8. Model Explorer显示搜索结果:

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

您还可以使用以下方法之一查找使用特定变量的块:

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

  • 搜索结果窗格,右键单击变量并选择找到用过的地方菜单项。

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

查找未使用的工作区变量

可以使用模型管理器获取在工作区中定义但模型或块未使用的变量列表。获取该变量列表的一种方法是在模型层次结构窗格,然后选择找到未使用的变量菜单项。例如:

  1. 打开F14模型。

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

  3. 在搜索工具栏中,设置更新图表字段到是的

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

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

    万博1manbetxsimulink.findvars.函数提供了返回有关模型资源管理器或Simulink编辑器无法使用的未使用的工作空间变量的信息的其他选项。万博1manbetx

编辑工作区变量

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

要打开变量编辑器:

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

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

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

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

表示具有三个或更多尺寸的阵列

当变量的值或万博1manbetxSimulink.Parameter.对象是具有三个或更多维度的数组,价值列将数组显示为包含对其呼叫的表达式重塑功能。

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

重命名变量

此示例显示如何使用Model Explorer以Simulink模型中的块使用块使用的各个位置重命名变量。万博1manbetx

  1. 打开建模防锁制动系统示例模型sldemo_absbrake.。该模型将数据加载到MATLAB基础工作区。

  2. 开放式资源管理器。

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

  4. 内容窗格中,右键单击基本工作空间变量m并选择全部重命名

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

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

    在参考模型中搜索选中此选项后,可以在模型参照层次结构中使用目标变量的任何位置重命名该变量。但是,重命名整个层次结构中的目标变量可能需要更多时间。

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

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

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

  8. 全部重命名对话框,键入变量的新名称新名字框,点击好啊

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

笔记

您可以只重命名函数的变量万博1manbetxsimulink.findvars.万博1manbetx支持。

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

比较重复的工作区变量

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

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

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

  3. 回顾差异比较查看器

导出工作区变量

您可以导出(保存)模型资源管理器中列出的一组变量,导出基本或模型工作区中的单个变量或所有变量。

一个可能的工作流是导出返回的变量集查找引用的变量选项或选项万博1manbetxsimulink.findvars.功能。有关详细信息,请参阅查找模型或块使用的变量

笔记

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

要将模型管理器中工作空间中的所有变量导出到MATLAB代码文件或MAT文件,请执行以下操作:

  1. 选择要导出的变量。

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

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

    如果是内容窗格具有由属性分组的数据,在组中选择顶行不会选择该组中的所有变量。有关分组数据的详细信息,请参阅模型探险家

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

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

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

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

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

    • 覆盖整个文件

      • 将目标文件中的所有变量替换为按字母顺序存储的选定变量。

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

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

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

      • 更新现有变量,但不添加任何新变量,这消除了可能的外文变量。

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

导入工作区变量

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

将变量导入工作空间:

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

  2. 选择进口菜单项。

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

    笔记

    如果导入MATLAB代码文件,Simulink也会导入关联的MAT文件。万博1manbetx

也可以看看

|

相关话题