Main Content

管理模型的配置集

模型配置集是模型参数值的指定集合。

您可以将多组参数值与您的模型相关联。与模型相关联的配置集可以为任一或所有配置参数指定不同值。该模型使用活动配置的参数值。您可以将活动配置快速更改为关联到模型的任何配置集。

在有以下需要时,可以在一个模型中使用多个配置集:

  • 在更改几个参数值后比较模型执行的差异。

  • 在不同上下文中使用模型时对模型使用不同配置。

对于此示例,您将模型 sldemo_fuelsys_dd 设置为具有两个指定不同求解器的配置集。然后将其中一项配置复制到模型 vdp 中,并将其与 vdp 的默认配置集进行比较。此示例使用配置对话框来管理配置集。有关如何以编程方式管理配置的示例,请参阅使用脚本自动执行模型配置

在模型中创建配置集

模型 sldemo_fuelsys_dd 包含一个配置集,该配置集使用变步长求解器。添加另一项配置以使用定步长求解器。

  1. 打开模型。在命令行中,键入 sldemo_fuelsys_dd

  2. 打开模型资源管理器。在建模选项卡上,点击设计 > 模型资源管理器

  3. 模型层次结构窗格中,展开模型节点并选择模型名称 sldemo_fuelsys_dd

  4. 可以通过以下方式之一创建新的配置集:

    • 添加菜单中,选择配置

    • 在工具栏上,点击添加配置按钮

    • 选择模型节点下的配置节点。在目录窗格中,右键点击现有配置集,然后复制并粘贴该配置集。

  5. 选择模型节点下的配置节点。新配置集 Configuration1 出现在目录窗格中。默认配置 Configuration 仍是该模型的活动配置。

  6. 目录窗格中,双击名称 Configuration1,并将配置重命名为 FixedStepConfig。您将在下一节中指定定步长求解器。

  7. 将配置 Configuration 重命名为 VariableStepConfig

更改配置集中的配置参数值

要更改配置集的参数值,请打开该配置的“配置参数”对话框。您可以打开和更改任何配置集,无论它是否处于活动状态。

对于此示例,请更改配置 FixedStepConfig 以指定定步长求解器,而不是默认的变步长求解器。

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

  2. 展开模型节点,并选择其下的配置节点。

  3. 目录窗格中,右键点击配置集 FixedStepConfig,然后点击打开

    配置集将在“配置参数”对话框中打开。

    注意

    每个配置集都有自己的“配置参数”对话框。当您更改配置集的状态后,对话框标题栏将改变以反映配置集的状态。

  4. 求解器窗格中,将类型参数设置为 Fixed-step。点击确定

Configuration parameters dialog box showing the solver pane. The solver selection type is changed to fixed-step.

该模型现在包含两种配置,VariableStepConfigFixedStepConfig,它们使用不同求解器类型。通过更改活动配置和仿真模型,可以比较求解器设置如何影响仿真。

激活配置集

在任何给定的时间,一个模型只能有一个关联的配置集处于活动状态。处于活动状态的配置集决定模型参数的当前值。您可以随时(执行模型时除外)更改活动或非活动的配置集中的参数值。这样,您可以针对不同目的(例如测试和生产)快速重新配置模型。

要激活您在上一节中创建的定步长配置,请执行下列步骤:

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

  2. 展开模型节点,并选择其下的配置节点。

  3. 目录窗格中,右键点击配置集 FixedStepConfig,然后点击激活

    活动配置会在配置名称右侧显示 (Active)。

Model Explorer showing the configurations section of the model sldemo_fuelsys_dd. The configuration set FixedStepConfig is selected as active.

复制、删除和移动配置集

您可以使用模型资源管理器的编辑或上下文菜单来删除、复制以及在不同的模型之间移动模型层次结构窗格中显示的配置集。

对于此示例,请将您的配置 FixedStepConfig 复制到模型 vdp

  1. 打开模型 vdp 并打开模型资源管理器。在命令行中输入 openExample('VanDerPolOscillatorExample')

  2. 模型层次结构窗格中,展开模型 sldemo_fuelsys_dd 的节点,并选择其下方的“配置”节点。

  3. 目录窗格中,右键点击 FixedStepConfig,然后在上下文菜单中点击复制

  4. 模型层次结构窗格中,右键点击模型节点 vdp,然后点击粘贴

  5. 为模型 vdp 激活配置 FixedStepConfig

要使用拖放操作复制配置集,请按住鼠标右键,并将配置集拖到要在其中创建副本的模型的“配置”节点上。

要使用拖放操作将配置集从一个模型移动到另一个模型中,请按住鼠标左键,并将配置集拖到目标模型的“配置”节点上。

注意

不能移动或删除模型中的活动配置集。

保存配置集

当您在模型中存储配置集时,该配置集会在您保存模型时保存。您也可以将模型外部的配置集存储为独立配置集,以便与其他模型共享该配置。您可以将配置集保存在 Simulink® 数据字典中,或将配置集导出到 MAT 文件或脚本中。如果在基础工作区中存储独立配置集,要保存它,必须将其导出到 MAT 文件或脚本中。

Simulink 数据字典

要将配置集保存在模型之外的位置,请将配置存储在 Simulink 数据字典中。您可以使用数据字典来共享和存档配置。要在模型中使用配置,请使用配置引用。有关详细信息,请参阅在多个模型之间共享配置

导出的文件

您还可以将配置集的设置保存为 MAT 文件中的 Simulink.ConfigSet 对象,或保存为 MATLAB® 函数或脚本。当您要比较不同配置集中的设置时,请将配置集导出到 MATLAB 函数或脚本中。但如果您要保留独立配置集,则不建议将配置导出到文件,因为如果这样做,您必须手动加载配置集才能使用它。请改为将配置集保存在 Simulink 数据字典中。

对于此示例,请使用模型资源管理器来保存您复制到模型 vdp 的配置集 FixedStepConfig

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

  2. 模型层次结构窗格中,展开模型节点 vdp,并选择其下方的“配置”节点。

  3. 目录窗格中,右键点击配置 FixedStepConfig,然后选择导出

  4. 在“将配置导出为文件”对话框中,指定文件的名称和文件类型。对于此示例,将配置保存为 FixedStepConfig.m

    如果指定 .m 扩展名,文件将包含一个创建配置集对象的 MATLAB 函数。如果指定 .mat 扩展名,文件将包含一个配置集对象。

    注意

    • 不要为文件指定与模型名称相同的名称。如果文件与模型同名,软件在加载文件时将无法确定哪个文件包含配置集对象。

    • 要在以后的版本中使用该配置集,请指定 .mat 扩展名。如果您指定 .m 扩展名,在极少数情况下,参数值可能会因依存关系的变化而更改。

  5. 点击保存。Simulink 软件将保存配置集。

加载保存的配置集

要加载您从模型 vdp 中保存的配置集,请执行下列步骤:

  1. 打开模型 vdp

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

  3. 模型层次结构窗格中,右键点击模型,然后选择配置 > 导入

  4. 在“从文件导入配置”对话框中,选择包含可创建配置集对象的函数的 M 文件,或选择包含配置集对象的 MAT 文件。在此示例中,请选择 FixedStepConfig.m

  5. 点击打开。Simulink 软件将加载该配置集。

    注意

    • 如果您加载的是包含无效的自定义目标的配置集对象,软件会将 系统目标文件 (Simulink Coder) 参数设置为 ert.tlc

    • 如果您加载的配置集包含系统上不可用的组件,则缺失组件中的参数将重置为默认值。

比较配置集

当您将两个配置集保存为 M 文件或 MAT 文件时,您可以使用 visdiff 函数对它们进行直观的比较。此函数将打开比较工具,并显示两个文件之间的不同之处。有关比较工具的详细信息,请参阅比较 Simulink 模型

对于此示例,请将默认配置 Configuration 与您复制到模型 vdp 中的配置 FixedStepConfig 进行比较。

  1. 将配置 FixedStepConfig 保存到文件 FixedStepConfig.m,如保存配置集中所示。

  2. 按照相同的过程将第二个配置 Configuration 保存到文件 DefaultConfig.m 中。

  3. 比较两个文件。

    visdiff('FixedStepConfig.m','DefaultConfig.m');

相关主题