主要内容

save_system

R2026b

保存 Simulink 模型

描述

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

要保存子系统,请使用 Simulink.SubSystem.copyContentsToBlockDiagram 函数将子系统内容复制到新模型,然后使用 save_system 函数保存该模型。

示例

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

示例

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

示例

filename = save_system(___,Name=Value) 保存模型,且可使用一个或多个 Name=Value 对组参量指定其他选项。

示例

全部折叠

假设您按顺序打开两个模型。首先,您打开名为 myModel1 的模型并对该模型进行更改。然后,您打开名为 myModel2 的模型并对该模型进行更改。

保存当前系统。

save_system

您打开的第二个模型是当前系统,因此该命令保存 myModel2。

您可以使用 bdIsDirty 函数以编程方式检查保存了哪个模型。如果模型有未保存的更改,函数返回值 1。否则,函数返回值 0。

mdls = ["myModel1","myModel2"];
bdIsDirty(mdls)
ans = 1×2 logical array
1	0

关闭 myModel2。一旦 myModel2 关闭,myModel1 就成为当前系统。

再次运行该命令。

save_system

该命令保存 myModel1。

您可以使用 bdIsDirty 函数进行验证。

mdls = ["myModel1","myModel2"];
bdIsDirty(mdls)
ans = 1×2 logical array
0	0

假设您有两个打开的模型,名为 myModel1 和 myModel2。名为 myModel1 的模型是当前系统。

保存名为 myModel2 的模型。

save_system("myModel2")

假设您有名为 myModel1 的打开模型。

使用新名称 myModel2 保存该模型。如果新名称被遮蔽 - 即该名称已用在 MATLAB® 路径或工作区中,则返回错误。

save_system("myModel",ErrorIfShadowed=true)

输入参数

全部折叠

要保存的系统,指定为一个或多个句柄或模型名称。将句柄格式化为数值标量或数值数组。将名称格式化为字符串、字符串数组、字符向量或字符向量元胞数组。不要在名称中指定文件扩展名。

有关获取句柄的信息,请参阅Get Handles and Paths。

示例: "myModel"

示例: ["myModel1";"myModel2"]

数据类型: double | array of doubles | string | string array | character vector | cell array of character vectors

文件保存时使用的名称,指定为字符串、字符串数组、字符向量或字符向量元胞数组。您可以在当前文件夹或文件路径中指定模型名称,带或不带扩展名均可。

当您指定不带扩展名的名称时,模型将根据在您的 Simulink 预设项中指定的文件格式保存。可能的模型扩展名有 .slx 和 .mdl。对于 'ExportToXML' 选项,使用扩展名 .xml。

有关模型命名规则的信息,请参阅选择有效的模型文件名。

名称-值参数

全部折叠

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

示例: save_system("myModel",SaveModelWorkspace=true,BreakUserLinks=true,OverwriteIfChangedOnDisk=true)

允许对话框提示的选项。要开启该选项,请指定 true 或 "on"。要关闭该选项,请将值指定为 false 或 "off"。默认情况下,警告和错误消息显示在命令行中。

数据类型: string | character vector | logical

指明在 MATLAB 路径或工作区中存在与新名称同名的文件时是否返回错误的选项。要开启该选项,请指定 true 或 "on"。要关闭该选项,请将值指定为 false 或 "off"。

数据类型: string | character vector | logical

此选项不再受支持,将在以后的版本中删除。

指明是否将模型导出为简单 XML 格式的文件的选项。内存中的模块图不会改变,并且不执行回调。要使用此选项,您必须使用以下语法。

save_system(sys,newSys,ExportToXML=true)

不要将此选项与任何其他 Name=Value 参量结合使用。

指定导出的文件的名称时,请包含 .xml 扩展名。要开启该选项,请将 ExportToXML 的值指定为 true 或 "on"。要关闭该选项,请将值指定为 false 或 "off"。

示例: save_system("myModel","myExport.xml",ExportToXML=true)

数据类型: string | character vector | logical

您要将模型导出到的 MATLAB 版本的名称,指定为字符串或字符向量。要使用此选项,您必须使用以下语法。

save_system(sys,newSys,Name=Value)

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

  • 版本名称,例如 "R2023B"、"R2020B"

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

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

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

要将工程导出到以前的版本,请参阅将工程及引用导出到以前版本。

示例: save_system("myModel1","myModel2",ExportToVersion="R2022A")

数据类型: string | character vector

用于指明是否覆盖磁盘上的文件(即使在加载模型后对文件进行过修改)的选项。要开启该选项,请指定 true 或 "on"。要关闭该选项,请将值指定为 false 或 "off"。

默认情况下,如果在加载模型后文件在磁盘上发生了更改,该函数会显示错误以防止覆盖磁盘上的更改。您可以使用 Simulink 预设项控制当磁盘上的文件更改后该函数是否显示错误。在“Simulink 预设项”对话框的模型文件窗格中,在更改通知下,选择保存模型时。默认情况下此预设项为 on。

数据类型: string | character vector | logical

该选项用于指示在保存对父模型所做更改时是否保存包含未保存更改的引用模型。要开启该选项,请指定 true 或 "on"。要关闭该选项,请将值指定为 false 或 "off"。此选项只适用于由保存的每个模型直接引用的模型。如果脏引用模型的父模型未保存,则不会保存脏引用模型。

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

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

数据类型: string | character vector | logical

指明是否保存模型工作区的内容的选项。要开启该选项,请指定 true 或 "on"。要关闭该选项,请将值指定为 false 或 "off"。模型工作区 DataSource 必须为 MAT 文件。如果数据源不是 MAT 文件,save_system 将不保存工作区。请参阅 在模型工作区中指定数据源。

数据类型: string | character vector | logical

输出参量

全部折叠

保存的文件的文件路径,以字符向量或字符向量元胞数组形式返回。

数据类型: character vector | cell array of character vectors

版本历史记录

在 R2006a 之前推出