save_system
保存 Simulink 模型
语法
说明
保存当前顶层模型。如果以前未保存模型,filename
= save_systemsave_system
会在当前文件夹中创建一个文件。
要保存子系统,则应使用 Simulink.SubSystem.copyContentsToBlockDiagram
将子系统内容复制到新模型。然后,您可以使用 save_system
保存该模型。请参阅 Simulink.SubSystem.copyContentsToBlockDiagram
。
通过一个或多个 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)
输入参数
sys
— 要保存的模型的名称
字符向量 | 字符向量元胞数组 | 字符串数组 | 句柄 | 句柄数组
要保存的模型的名称,指定为字符、字符向量元胞数组、字符串数组、句柄或句柄数组。不要使用文件扩展名。
newsys
— 要保存到的文件
字符向量 | 字符向量元胞数组 | 字符串数组 | [ ]
要保存到的文件,可指定为字符向量、字符向量元胞数组或字符串数组;若要使用 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)
AllowPrompt
— 允许对话框提示
false
(默认) | true
| 'on'
| 'off'
指明是否允许对话框提示的选项,指定为 true
、false
、'on'
或 'off'
。默认情况下,警告和错误消息显示在命令行中。
BreakAllLinks
— 替换库模块的链接
false
(默认) | true
| 'on'
| 'off'
指明是否在保存的文件中将库模块链接替换为库模块副本的选项,指定为 true
、false
、'on'
或 'off'
。此选项影响用户定义的模块和 Simulink 库模块。
小心
升级到 Simulink 的更新版本时,'BreakAllLinks'
选项可能导致兼容性问题。例如:
对 Simulink S-Function 的库链接的任何封装不会升级到 S-Function 的新版本。
Simulink 库中封装子系统的任何库链接都不会升级到新的子系统行为。
任何断开的链接都会阻止库转换机制升级该链接。请参阅使用转换表维护库模块的兼容性。
如果您保存的模型与内置库之间的链接已断开,请使用升级顾问扫描模型中是否存在已过期的模块。然后将 Simulink 模块升级到其当前版本。
BreakUserLinks
— 替换用户定义的模块的链接
false
(默认) | true
| 'on'
| 'off'
指明是否在保存的文件中将用户定义的库模块链接替换为库模块副本的选项,指定为 true
、false
、'on'
或 'off'
。
BreakToolboxLinks
— 替换内置库模块的链接
false
(默认) | true
| 'on'
| 'off'
指明是否在保存的文件中将内置库模块链接替换为库模块副本的选项,指定为 true
、false
、'on'
或 'off'
。此选项影响 Simulink 库模块以及 MathWorks® 工具箱或模块集附带的库中的模块。
ErrorIfShadowed
— 如果名称存在,则返回错误
false
(默认) | true
| 'on'
| 'off'
指明在 MATLAB 路径或工作区中存在与新名称同名的文件时是否返回错误的选项,指定为 true
、false
、'on'
或 'off'
。
ExportToXML
— 将模型导出为 XML 格式
false
(默认) | true
| 'on'
| 'off'
指明是否将模型导出为简单 XML 格式的文件,指定为 true
、false
、'on'
或 'off'
。指定文件的完整名称,包括 .xml
扩展名。内存中的模块图不会改变,并且不执行回调。此选项不可与任何其他 Name,Value
对组参量一起使用。使用此选项会引发警告。在以后的版本中将删除此选项。
示例: save_system('mymodel','exportfile.xml','ExportToXML',true)
ExportToVersion
— 要导出到的 MATLAB 版本名称
字符向量 | string scalar
要导出到的 MATLAB 版本名称,以下列任一形式指定(不区分大小写)。您可以导出到七年以前的版本。
版本名称,例如
'R2013B'
、'R2016B'
版本名称,后跟下划线,然后是扩展名,例如
'R2016A_SLX'
、'R2014A_MDL'
。如果您未指定扩展名,则会导出为在 Simulink 预设项中指定的文件格式。
save_system
会以指定的 Simulink 版本可以加载的方式导出模型。如果模型包含指定的 Simulink 版本不支持的功能,则该命令会在导出的文件中删除这些功能。它还会将不受支持的模块替换为黄色的空封装子系统模块。因此,导出的模型可能会生成不同结果。
或者,您也可以使用 Simulink.exportToVersion
,或以交互方式使用“导出到以前的版本”对话框。
要将工程导出到以前的版本,请参阅将工程导出为以前的版本。
OverwriteIfChangedOnDisk
— 覆盖文件
false
(默认) | true
| 'on'
| 'off'
用于指明是否覆盖磁盘上的文件(即使在加载模型后对文件进行过修改)的选项,指定为 true
、false
、'on'
或 'off'
。默认情况下,如果在加载模型后文件在磁盘上发生了更改,save_system
会显示错误以防止覆盖磁盘上的更改。
您可以使用 Simulink 预设项控制当磁盘上的文件更改后 save_system
是否显示错误。在“Simulink 预设项”对话框的模型文件窗格中,在更改通知下,选择保存模型时。默认情况下此预设项为 on。
SaveDirtyReferencedModels
— 保存具有未保存更改的引用模型
false
(默认) | true
| 'on'
| 'off'
该选项用于指示在保存对父模型所做更改时是否保存包含未保存更改的引用模型,指定为 true
、false
、'on'
或 'off'
。此选项适用于由保存的每个模型直接引用的模型。如果脏引用模型的父模型未保存,则不会保存脏引用模型。
假设您有一个模型层次结构,其中模型 A
引用模型 B
,模型 B
引用模型 C
。如果模型 B
和 C
都有未保存的更改,则它们都会被保存。如果模型 C
有未保存的更改,但模型 B
没有未保存的更改,则这两个模型都不会被保存。
默认情况下,尝试保存包含未保存引用模型的模型会返回错误。
SaveModelWorkspace
— 保存模型工作区
false
(默认) | true
| 'on'
| 'off'
指明是否保存模型工作区的内容的选项,指定为 true
、false
、'on'
或 'off'
。模型工作区 DataSource
必须为 MAT 文件。如果数据源不是 MAT 文件,save_system
将不保存工作区。请参阅 在模型工作区中指定数据源。
输出参量
filename
— 保存的文件的名称
字符向量 | 字符向量元胞数组
保存的文件的完整名称,以字符向量或字符向量元胞数组形式返回。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)