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