管理模型的配置集
模型配置集是模型参数值的指定集合。
您可以将多组参数值与您的模型相关联。与模型相关联的配置集可以为任一或所有配置参数指定不同值。该模型使用活动配置的参数值。您可以将活动配置快速更改为关联到模型的任何配置集。
在有以下需要时,可以在一个模型中使用多个配置集:
在更改几个参数值后比较模型执行的差异。
在不同上下文中使用模型时对模型使用不同配置。
对于此示例,您将模型 sldemo_fuelsys_dd
设置为具有两个指定不同求解器的配置集。然后将其中一项配置复制到模型 vdp
中,并将其与 vdp
的默认配置集进行比较。此示例使用配置对话框来管理配置集。有关如何以编程方式管理配置的示例,请参阅使用脚本自动执行模型配置。
在模型中创建配置集
模型 sldemo_fuelsys_dd
包含一个配置集,该配置集使用变步长求解器。添加另一项配置以使用定步长求解器。
打开模型。在命令行中,键入
sldemo_fuelsys_dd
。打开模型资源管理器。在建模选项卡上,点击设计 > 模型资源管理器。
在模型层次结构窗格中,展开模型节点并选择模型名称
sldemo_fuelsys_dd
。可以通过以下方式之一创建新的配置集:
从添加菜单中,选择配置。
在工具栏上,点击添加配置按钮
。
选择模型节点下的配置节点。在目录窗格中,右键点击现有配置集,然后复制并粘贴该配置集。
选择模型节点下的配置节点。新配置集
Configuration1
出现在目录窗格中。默认配置Configuration
仍是该模型的活动配置。在目录窗格中,双击名称
Configuration1
,并将配置重命名为FixedStepConfig
。您将在下一节中指定定步长求解器。将配置
Configuration
重命名为VariableStepConfig
。
更改配置集中的配置参数值
要更改配置集的参数值,请打开该配置的“配置参数”对话框。您可以打开和更改任何配置集,无论它是否处于活动状态。
对于此示例,请更改配置 FixedStepConfig
以指定定步长求解器,而不是默认的变步长求解器。
打开模型资源管理器。
展开模型节点,并选择其下的配置节点。
在目录窗格中,右键点击配置集
FixedStepConfig
,然后点击打开。配置集将在“配置参数”对话框中打开。
注意
每个配置集都有自己的“配置参数”对话框。当您更改配置集的状态后,对话框标题栏将改变以反映配置集的状态。
在求解器窗格中,将类型参数设置为
Fixed-step
。点击确定。
该模型现在包含两种配置,VariableStepConfig
和 FixedStepConfig
,它们使用不同求解器类型。通过更改活动配置和仿真模型,可以比较求解器设置如何影响仿真。
激活配置集
在任何给定的时间,一个模型只能有一个关联的配置集处于活动状态。处于活动状态的配置集决定模型参数的当前值。您可以随时(执行模型时除外)更改活动或非活动的配置集中的参数值。这样,您可以针对不同目的(例如测试和生产)快速重新配置模型。
要激活您在上一节中创建的定步长配置,请执行下列步骤:
打开模型资源管理器。
展开模型节点,并选择其下的配置节点。
在目录窗格中,右键点击配置集
FixedStepConfig
,然后点击激活。活动配置会在配置名称右侧显示 (Active)。
复制、删除和移动配置集
您可以使用模型资源管理器的编辑或上下文菜单来删除、复制以及在不同的模型之间移动模型层次结构窗格中显示的配置集。
对于此示例,请将您的配置 FixedStepConfig
复制到模型 vdp
。
打开模型
vdp
并打开模型资源管理器。在模型层次结构窗格中,展开模型
sldemo_fuelsys_dd
的节点,并选择其下方的“配置”节点。在目录窗格中,右键点击
FixedStepConfig
,然后在上下文菜单中点击复制。在模型层次结构窗格中,右键点击模型节点
vdp
,然后点击粘贴。为模型
vdp
激活配置FixedStepConfig
。
要使用拖放操作复制配置集,请按住鼠标右键,并将配置集拖到要在其中创建副本的模型的“配置”节点上。
要使用拖放操作将配置集从一个模型移动到另一个模型中,请按住鼠标左键,并将配置集拖到目标模型的“配置”节点上。
注意
不能移动或删除模型中的活动配置集。
保存配置集
当您在模型中存储配置集时,该配置集会在您保存模型时保存。您也可以将模型外部的配置集存储为独立配置集,以便与其他模型共享该配置。您可以将配置集保存在 Simulink® 数据字典中,或将配置集导出到 MAT 文件或脚本中。如果在基础工作区中存储独立配置集,要保存它,必须将其导出到 MAT 文件或脚本中。
Simulink 数据字典
要将配置集保存在模型之外的位置,请将配置存储在 Simulink 数据字典中。您可以使用数据字典来共享和存档配置。要在模型中使用配置,请使用配置引用。有关详细信息,请参阅在多个模型之间共享配置。
导出的文件
您还可以将配置集的设置保存为 MAT 文件中的 Simulink.ConfigSet
对象,或保存为 MATLAB® 函数或脚本。当您要比较不同配置集中的设置时,请将配置集导出到 MATLAB 函数或脚本中。但如果您要保留独立配置集,则不建议将配置导出到文件,因为如果这样做,您必须手动加载配置集才能使用它。请改为将配置集保存在 Simulink 数据字典中。
对于此示例,请使用模型资源管理器来保存您复制到模型 vdp
的配置集 FixedStepConfig
。
打开模型资源管理器。
在模型层次结构窗格中,展开模型节点
vdp
,并选择其下方的“配置”节点。在目录窗格中,右键点击配置
FixedStepConfig
,然后选择导出。在“将配置导出为文件”对话框中,指定文件的名称和文件类型。对于此示例,将配置保存为
FixedStepConfig.m
。如果指定
.m
扩展名,文件将包含一个创建配置集对象的 MATLAB 函数。如果指定.mat
扩展名,文件将包含一个配置集对象。注意
不要为文件指定与模型名称相同的名称。如果文件与模型同名,软件在加载文件时将无法确定哪个文件包含配置集对象。
要在以后的版本中使用该配置集,请指定
.mat
扩展名。如果您指定.m
扩展名,在极少数情况下,参数值可能会因依存关系的变化而更改。
点击保存。Simulink 软件将保存配置集。
加载保存的配置集
要加载您从模型 vdp
中保存的配置集,请执行下列步骤:
打开模型
vdp
。打开模型资源管理器。
在模型层次结构窗格中,右键点击模型,然后选择配置 > 导入。
在“从文件导入配置”对话框中,选择包含可创建配置集对象的函数的 M 文件,或选择包含配置集对象的 MAT 文件。在此示例中,请选择
FixedStepConfig.m
。点击打开。Simulink 软件将加载该配置集。
注意
如果您加载的是包含无效的自定义目标的配置集对象,软件会将 系统目标文件 (Simulink Coder) 参数设置为 ert.tlc。
如果您加载的配置集包含系统上不可用的组件,则缺失组件中的参数将重置为默认值。
比较配置集
当您将两个配置集保存为 M 文件或 MAT 文件时,您可以使用 visdiff
函数对它们进行直观的比较。此函数将打开比较工具,并显示两个文件之间的不同之处。有关比较工具的详细信息,请参阅比较 Simulink 模型。
对于此示例,请将默认配置 Configuration
与您复制到模型 vdp
中的配置 FixedStepConfig
进行比较。
将配置
FixedStepConfig
保存到文件FixedStepConfig.m
,如保存配置集中所示。按照相同的过程将第二个配置
Configuration
保存到文件DefaultConfig.m
中。比较两个文件。
visdiff('FixedStepConfig.m','DefaultConfig.m');