本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

save_system

保存 Simulink 模型

说明

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

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

如果将模型 UpdateHistory 属性设置为 UpdateHistoryWhenSave,则当使用 save_system 保存模型时,不会出现对话框提示。如果要更新注释,请在保存之前对 set_param 使用参数 'ModifiedComment',例如:

set_param('mymodel','ModifiedComment','Here is my comment.')

示例

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

示例

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

示例

filename = save_system(sys,newsys,Name,Value) 通过一个或多个 Name,Value 对组参数指定的其他选项保存系统。要在不保存到新文件的情况下使用 Name,Value 对组,请对 newsys 使用 []

示例

全部折叠

创建一个模型。

new_system('newmodel')

保存模型。

save_system('newmodel')

打开模型 vdp。将模型以 myvdp 名称保存在当前文件夹中。如果没有文件扩展名,该函数将使用在 Simulink 预设项中指定的格式保存模型。

open_system('vdp')
save_system('vdp','myvdp')

以其他名称保存模型后,将不能再以其原名称打开模型。再次打开 vdp,并将其以 .mdl 文件的形式保存在当前文件夹中。

open_system('vdp')
save_system('vdp','mynewvdp.mdl')

用新名称保存一个模型,由于 MATLAB® 路径上存在具有该名称的文件,因此会返回错误。在本例中,save_system 将显示错误,因为 max 是 MATLAB 函数的名称。该模型未保存。

open_system('vdp')
save_system('vdp','max','ErrorIfShadowed',true)
Error using save_system (line 38)
The model 'vdp' 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'

假设您有一个名为 mymodel 的模型。打开该模型并将其保存为名为 newmodel 的模型。同时保存模型工作区,断开到用户定义的库模块的链接,如果文件在磁盘上发生更改,还会进行覆盖。

open_system('mymodel')
save_system('mymodel','mynewmodel','SaveModelWorkspace', 
true,'BreakUserLinks',true,'OverwriteIfChangedOnDisk',true)

保存模型 mymodel,断开模型中用户定义的库模块的链接。

save_system('mymodel',[],'BreakUserLinks',true)

输入参数

全部折叠

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

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

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

有关模型命名规则的信息,请参阅模型名称

名称-值对组参数

指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须显示在引号内。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN

示例: 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,或以交互方式使用 Export to Previous Version 对话框。

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

您可以使用 Simulink 预设项控制当磁盘上的文件更改后 save_system 是否显示错误。在 Simulink Preferences 对话框的 Model File 窗格中,在 Change Notification 下,选择 Saving the model。默认情况下此预设项为 on。

指明是否保存包含未保存更改的引用模型并同时保存模型的选项,指定为 truefalse'on''off'。默认情况下,尝试保存包含未保存引用模型的模型会返回错误。

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

输出参数

全部折叠

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

在 R2006a 之前推出