Main Content

save_system

保存 Simulink 模型

说明

filename = save_system 保存当前顶层模型。如果以前未保存模型,save_system 会在当前文件夹中创建一个文件。

要保存子系统,则应使用 Simulink.SubSystem.copyContentsToBlockDiagram 将子系统内容复制到新模型。然后,您可以使用 save_system 保存该模型。请参阅 Simulink.SubSystem.copyContentsToBlockDiagram

示例

filename = save_system(sys) 保存模型 sys。该模型必须打开或已加载。

示例

filename = save_system(sys,newsys) 将模型保存到新文件 newsys。如果您未指定扩展名,则 save_system 会使用在 Simulink® 预设项中指定的文件格式保存文件。

示例

filename = save_system(sys,Name,Value) 通过一个或多个 Name,Value 对组参量指定的其他选项保存模型。

示例

filename = save_system(sys,newsys,Name,Value) 用一个或多个 Name,Value 对组参量指定的附加选项将模型保存到一个新文件。要在不保存到新文件的情况下使用 Name,Value 对组,请对 newsys 使用 []

示例

全部折叠

创建一个模型。

new_system('myModel')

保存模型。

save_system('myModel')

打开示例。然后,打开 vdp 模型。

open_system('vdp')

用名称 myModel 将模型保存在当前文件夹中。

save_system('vdp','myModel')

如果没有文件扩展名,该函数将以您的 Simulink® 预设项指定的格式保存模型。

以其他名称保存模型后,将不能再以其原名称打开模型。

再次打开 vdp 模型。

open_system('vdp')

将模型另存为当前文件夹中的 .mdl 文件。

save_system('vdp','myModel2.mdl')

假设您有一个名为 myModel 的模型。

用新名称保存模型,由于 MATLAB® 路径上存在具有该名称的文件,因此会返回错误。

open_system('myModel')
save_system('myModel','max','ErrorIfShadowed',true)
Error using save_system (line 38)
The model 'myModel' cannot be saved with the new name 'max', because this name is
shadowing another name on the MATLAB path or in the workspace.  Choose another
name, or do not use the option 'ErrorIfShadowed'

在本例中,save_system 将显示错误,因为 max 是 MATLAB 函数的名称。该模型未保存。

假设您有一个名为 myModel 的模型。

打开模型。

open_system('myModel')

使用名称 myModel2 保存模型。同时保存模型工作区,断开到模型中用户定义的库模块的链接,如果文件在磁盘上发生更改,还会进行覆盖。

save_system('myModel','myModel2','SaveModelWorkspace', 
true,'BreakUserLinks',true,'OverwriteIfChangedOnDisk',true)

假设您有一个名为 myModel 的模型。

打开模型。

open_system('myModel')

保存模型而不更改其名称。断开与模型中用户定义的库模块的链接。

save_system('myModel','BreakUserLinks',true)

输入参数

全部折叠

要保存的模型的名称,指定为字符、字符向量元胞数组、字符串数组、句柄或句柄数组。不要使用文件扩展名。

要保存到的文件,可指定为字符向量、字符向量元胞数组或字符串数组;若要使用 Name,Value 对组而不更改文件名,则可指定为 []。您可以在当前文件夹或完整路径名称中指定模型名称,带或不带扩展名均可。

未指定扩展名时,save_system 将保存为在 Simulink 预设项中指定的文件格式。可能的模型扩展名有 .slx.mdl。对于 'ExportToXML' 选项,使用扩展名 .xml

有关模型命名规则的信息,请参阅Choose Valid Model File Names

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: save_system('mymodel','newmodel','SaveModelWorkspace',true,'BreakUserLinks',true,'OverwriteIfChangedOnDisk',true)

指明是否允许对话框提示的选项,指定为 truefalse'on''off'。默认情况下,警告和错误消息显示在命令行中。

指明在 MATLAB 路径或工作区中存在与新名称同名的文件时是否返回错误的选项,指定为 truefalse'on''off'

指明是否将模型导出为简单 XML 格式的文件,指定为 truefalse'on''off'。指定文件的完整名称,包括 .xml 扩展名。内存中的模块图不会改变,并且不执行回调。此选项不可与任何其他 Name,Value 对组参量一起使用。使用此选项会引发警告。在以后的版本中将删除此选项。

示例: save_system('mymodel','exportfile.xml','ExportToXML',true)

要导出到的 MATLAB 版本名称,以下列任一形式指定(不区分大小写)。您可以导出到七年以前的版本。

  • 版本名称,例如 'R2013B''R2016B'

  • 版本名称,后跟下划线,然后是扩展名,例如 'R2016A_SLX''R2014A_MDL'。如果您未指定扩展名,则会导出为在 Simulink 预设项中指定的文件格式。

save_system 会以指定的 Simulink 版本可以加载的方式导出模型。如果模型包含指定的 Simulink 版本不支持的功能,则该命令会在导出的文件中删除这些功能。它还会将不受支持的模块替换为黄色的空封装子系统模块。因此,导出的模型可能会生成不同结果。

或者,您也可以使用 Simulink.exportToVersion,或以交互方式使用“导出到以前的版本”对话框。

要将工程导出到以前的版本,请参阅将工程导出为以前的版本

用于指明是否覆盖磁盘上的文件(即使在加载模型后对文件进行过修改)的选项,指定为 truefalse'on''off'。默认情况下,如果在加载模型后文件在磁盘上发生了更改,save_system 会显示错误以防止覆盖磁盘上的更改。

您可以使用 Simulink 预设项控制当磁盘上的文件更改后 save_system 是否显示错误。在“Simulink 预设项”对话框的模型文件窗格中,在更改通知下,选择保存模型时。默认情况下此预设项为 on。

该选项用于指示在保存对父模型所做更改时是否保存包含未保存更改的引用模型,指定为 truefalse'on''off'。此选项适用于由保存的每个模型直接引用的模型。如果脏引用模型的父模型未保存,则不会保存脏引用模型。

假设您有一个模型层次结构,其中模型 A 引用模型 B,模型 B 引用模型 C。如果模型 BC 都有未保存的更改,则它们都会被保存。如果模型 C 有未保存的更改,但模型 B 没有未保存的更改,则这两个模型都不会被保存。

默认情况下,尝试保存包含未保存引用模型的模型会返回错误。

指明是否保存模型工作区的内容的选项,指定为 truefalse'on''off'。模型工作区 DataSource 必须为 MAT 文件。如果数据源不是 MAT 文件,save_system 将不保存工作区。请参阅 在模型工作区中指定数据源

输出参量

全部折叠

保存的文件的完整名称,以字符向量或字符向量元胞数组形式返回。

版本历史记录

在 R2006a 之前推出