close_system
关闭 Simulink 模型窗口或模块对话框
语法
说明
close_system
关闭当前系统或子系统。如果当前系统是顶层模型并已修改,close_system
将返回错误。
使用 gcs
函数确定当前系统。
注意
您不能在模块或菜单回调中使用 close_system
来关闭根级模型。尝试在模块或菜单回调中关闭根级模型将导致错误并中断回调的执行。
close_system(
关闭指定的模型或子系统或者指定模块的模块对话框。如果只是使用 blockOrSys
)load_system
加载了模型,此语法会从内存中清除该模型。
close_system(
使用一个或多个 sys
,___,Name,Value
)Name,Value
对组参数指定其他选项。
示例
关闭模型
假设您有一个名为 myModel
的模型。
打开模型。
open_system('myModel')
关闭模型。
close_system
关闭模块对话框
假设您有名为 myModel
的模型,其中包含名为 myGain
的 Gain 模块。
打开模型。
open_system('myModel')
在模型中,双击 Gain 模块以打开其模块对话框。
关闭模块对话框
close_system('myModel/myGain');
关闭模型并用新名称保存
假设您有一个名为 myModel
的模型。
打开模型。
open_system('myModel')
将名为 myScope
的 Scope 模块添加到模型中。
add_block('simulink/Sinks/Scope','myModel/myScope');
关闭模型并用新名称保存。
close_system('myModel','myNewModel');
使用 Name,Value 选项关闭模型
假设您有一个名为 myModel
的模型。
打开模型。
open_system('myModel')
关闭模型。用名称 max
保存模型,并将 ErrorIfShadowed
参数设置为 true
。
close_system('myModel','max','ErrorIfShadowed',true)
此命令返回错误,因为 'max'
是 MATLAB® 函数的名称。
关闭顶层模型并使引用模型保持已加载状态
打开一个模型层次结构,加载引用模型,然后关闭顶层模型,但使引用模型保持已加载状态。
打开 sldemo_mdlref_basic
模型并加载其引用模型 sldemo_mdlref_counter
。
openExample('sldemo_mdlref_basic') load_system('sldemo_mdlref_counter')
检查内存中加载了哪些模型。
loadedModels = Simulink.allBlockDiagrams('model'); modelNames = get_param(loadedModels,'Name')
modelNames = 2×1 cell array {'sldemo_mdlref_counter'} {'sldemo_mdlref_basic' }
关闭 sldemo_mdlref_basic
模型,同时保持引用模型处于加载状态。
close_system('sldemo_mdlref_basic',0,'closeReferencedModels',false)
检查内存中加载了哪些模型。
loadedModels = Simulink.allBlockDiagrams('model'); modelNames = get_param(loadedModels,'Name')
modelNames = 'sldemo_mdlref_counter'
关闭顶层模型会将其从内存中清除。默认情况下,由于它们共享一个窗口,因此对顶层模型使用 close_system
也会关闭引用模型并将其从内存中清除。将 'closeReferencedModels'
设置为 false
会使引用模型 sldemo_mdlref_counter
保持已加载状态。
输入参数
blockOrSys
— 要关闭的模块、模型或子系统
字符向量 | 字符向量元胞数组 | 字符串数组 | 句柄 | 句柄数组
要关闭的模型或子系统的名称,或要关闭其对话框的模块的名称,指定为字符向量、字符向量元胞数组、字符串数组、句柄或句柄数组。不要使用文件扩展名。
示例: "vdp/Mu"
'vdp'
sys
— 要关闭的模型的名称
字符向量 | 字符向量元胞数组 | 字符串数组 | 句柄 | 句柄数组
要关闭的模型的名称,指定为字符向量、字符向量元胞数组、字符串数组、句柄或句柄数组。不要使用文件扩展名。
saveflag
— 用当前名称保存文件的选项
0
(默认) | 1
| 数值数组
使用当前文件名保存模型的选项,指定为 0
表示关闭而不保存,指定为 1
表示保存然后关闭。如果 sys
是数组,您可以提供一个字符来应用于数组中的所有模型。您也可以提供一个数值数组,其中的值与 sys
数组中的每个模型对应。
有关模型命名规则的信息,请参阅Choose Valid Model File Names。
newsys
— 要保存到的文件
字符向量 | 字符向量元胞数组 | 字符串数组
要保存到的文件,指定为字符向量、字符向量元胞数组或字符串数组。您可以在当前文件夹或完整路径名称中指定模型名称,带或不带扩展名均可。
当您指定不带扩展名的名称时,close_system
会保存为在您的 Simulink® 预设项中指定的文件格式。可能的模型扩展名有 .slx
和 .mdl
。
有关模型命名规则的信息,请参阅Choose Valid Model File Names。
名称-值参数
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数后,但参数对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: close_system('mymodel','newmodel','closeReferencedModels',false,'ErrorIfShadowed',true,'OverwriteIfChangedOnDisk',true,'SaveModelWorkspace',true)
closeReferencedModels
— 关闭所有引用模型的选项
true
(默认) | false
| 'on'
| 'off'
当您关闭顶层模型的窗口关闭所有引用模型的选项,以逗号分隔的对组形式指定,其中包含 'closeReferencedModels'
和 true
、false
、'on'
或 'off'
。在另一个窗口中打开的引用模型不受此设置的影响。要使引用模型保持已加载状态,请将此参数设置为 false
。
OverwriteIfChangedOnDisk
— 覆盖磁盘上文件的选项
false
(默认) | true
| 'on'
| 'off'
用于保存模型时覆盖磁盘上文件(即使模型自加载后已修改)的选项,以逗号分隔的对组形式指定,其中包含 'OverwriteIfChangedOnDisk'
和 true
、false
、'on'
或 'off'
。默认情况下,如果在加载模型后文件在磁盘上发生了更改,close_system
会显示错误以防止覆盖磁盘上的更改。
通过使用 Simulink 预设项,您可以控制在磁盘上的文件发生更改时保存模型是否显示错误。在“Simulink 预设项”对话框的模型文件窗格中,在更改通知下,选择保存模型时。默认情况下此预设项为 on。
SaveModelWorkspace
— 保存模型工作区的选项
false
(默认) | true
| 'on'
| 'off'
保存模型时保存模型工作区的选项,以逗号分隔的对组形式指定,其中包含 'SaveModelWorkspace'
和 true
、false
、'on'
或 'off'
。模型工作区 DataSource
必须为 MAT 文件。如果数据源不是 MAT 文件,保存模型将不保存工作区。请参阅 在模型工作区中指定数据源。
版本历史记录
在 R2006a 之前推出R2019b: 关闭模型层次结构的窗口将关闭引用模型
从 R2019b 开始,当您通过关闭顶层模型来关闭模型层次结构的窗口时,所有未在另一个窗口中打开的引用模型也将关闭,这将从内存中清除它们。要使引用模型在内存中保持已加载状态,请将 'closeReferencedModels'
参数设置为 false
。
另请参阅
bdclose
| gcs
| new_system
| open_system
| save_system
| load_system
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)