目录
close_system的功能是关闭 Simulink 系统窗口或模块对话框。
语法
close_system
close_system(blockOrSys)
close_system(sys,saveflag)
close_system(sys,newsys)
close_system(sys,___,Name,Value)
说明
close_system 关闭当前系统或子系统。如果当前系统是顶层模型并已修改,close_system 将返回错误。
使用 gcs 函数确定当前系统。
注意
不能在模块或菜单回调中使用
close_system
来关闭根级模型。尝试在模块或菜单回调中关闭根级模型将导致错误并中断回调的执行。
close_system(blockOrSys) 关闭指定的模型或子系统或者指定模块的模块对话框。如果只是使用 load_system 加载了模型,此语法会从内存中清除该模型。
close_system(sys,saveflag) 允许您指定是用当前名称保存模型,还是直接关闭模型而不保存。
close_system(sys,newsys) 会在关闭前使用指定名称将模型保存到一个文件。
close_system(sys,___,Name,Value) 使用一个或多个 Name,Value 对组参数指定其他选项。
示例
关闭当前系统
打开模型 vdp,然后关闭它。
close_system
关闭模块对话框
打开模型 vdp。在模型中,双击 Mu 模块以打开其模块对话框。
关闭模块对话框
close_system('vdp/Mu');
关闭模型并用新名称保存
打开一个模型,对其进行修改,然后用新名称保存模型并关闭它。
打开模型 vdp,并在其中添加一个模块。
block = add_block('vdp/Mu','vdp/Mu','MakeNameUnique','on');
关闭模型,并用新名称保存它。
close_system('vdp','myvdp');
使用 Name,Value 选项关闭模型
此命令尝试将 vdp 系统用名称 'max' 保存到文件中,但返回错误,因为 'max' 是某个现有 MATLAB® 函数的名称。
close_system('vdp','max','ErrorIfShadowed',true)
关闭顶层模型并使引用模型保持已加载状态
打开一个模型层次结构,加载引用模型,然后关闭顶层模型,使引用模型保持已加载状态。
打开 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 表示保存然后关闭。如果 sys 是数组,您可以提供一个字符来应用于数组中的所有模型。您也可以提供一个数值数组,其中的值与 sys 数组中的每个模型对应。
newsys
— 要保存到的文件
要保存到的文件,指定为字符向量、字符向量元胞数组或字符串数组。您可以在当前文件夹或完整路径名称中指定模型名称,带或不带扩展名均可。
当指定不带扩展名的名称时,close_system 会保存为在Simulink® 预设项中指定的文件格式。可能的模型扩展名有 .slx 和 .mdl。