您可以通过查看Simulink中的标题栏来判断模型是否有未保存的更改金宝app®编辑器。当模型有未保存的更改时,标题栏中会出现星号(也称为脏标记)。
要以编程方式确定模型是否有未保存的更改,可以查询模型参数的值脏
与get_param
函数。例如,此命令保存当前系统(gcs
)如果是脏的:
如果比较字符串(get_param (gcs,“脏”),“上”)save_system;结束
在Simulink编辑器中,第一次保存模型金宝app模拟选项卡上,单击保存.提供模型文件的位置和名称。要查看命名要求,请参阅模型名称.
要保存之前保存的模型,请遵循以下流程之一:
控件上的Simulink编辑器中使用当前文件名保存模型金宝app模拟选项卡上,单击保存.
控件上的Simulink Editor中,若要将顶部模型的内容保存为新的名称或位置,或更改模型格式,请使用金宝app模拟选项卡上,选择保存>另存为.
请注意
关于SLX格式的详细信息请参见转换文件格式到SLX.
若要将引用模型的内容保存为新的名称、位置或格式,请将引用模型作为顶级模型打开。然后,在模拟选项卡上,选择保存>另存为.
要以与早期Simulink版本兼容的格式保存顶部模型,请访问金宝app模拟选项卡上,选择保存>之前的版本.看到导出模型到以前的Simulink版本金宝app.
模型文件名必须以字母开头,可以包含字母、数字和下划线。文件名不能是:
一个语言关键字(例如,如果
,为
,结束
)
保留的名称:“金宝app模型”
,“sl”
,“科幻小说”
一个MATLAB®软件命令
型号名称的总字符数不能大于某个最大字符数,通常为63个字符。要查找系统的最大文件名长度,请使用MATLABnamelengthmax
命令。
要了解MATLAB如何确定在指定模型名称时调用哪个函数,请参见功能优先级顺序.
当您保存模型时,Simulink在模型文件中保金宝app存了框图、块属性和与模型相关的其他信息。
如果你有任何pre-save或post-save回调函数,它们按照以下顺序执行:
所有的块PreSaveFcn
执行回调例程,然后执行模型PreSaveFcn
回调例程执行。
金宝appSimulink编写模型文件。
所有的块PostSaveFcn
执行回调例程,然后执行模型PostSaveFcn
执行。
在保存过程中,Simulink维护临时备份副本(命金宝app名
),以便在出现错误时恢复模型。如果在保存过程中或在保存过程中的任何回调过程中发生错误,Simulink:金宝appmodelname
. bak
还原原始文件
将错误发生前保存的任何内容写入名为modelname
.err
发出错误消息
在保存从SLX文件加载的模型时,仍然存在原始SLX文件。金宝appSimulink执行增量加载和SLX文件的保存,因此如果Save-Time缺少原始文件,Simulink警告它无法完全重建文件。
金宝appSimulink默认以SLX格式保存新模型和库,并使用文件扩展名.slx
.SLX格式是一种符合开放包装约定(OPC)互操作性标准的压缩包。SLX格式使用Unicode存储模型信息®XML和其他国际格式的UTF-8。以SLX格式保金宝app存Simulink模型:
与MDL文件相比,通常会减少文件大小。MDL和SLX之间的文件大小缩减取决于模型。
允许增量加载和保存。金宝appSimulink通过只加载模型中需要的部分和只保存模型中修改过的部分来优化性能和内存使用。
您可以使用Simulink首选项指定保存新模型和库的文件格式金宝app新模型和库的文件格式.
如果将MDL文件转换为SLX文件格式,则该文件包含与MDL文件相同的信息。使用MDL文件的函数,例如get_param
和set_param
,还使用SLX文件格式。如果将MDL文件转换为SLX文件格式而不更改型号名称或位置,则Simulink通过重命名MDL文件创建备份文件(如果文件是可写的)。金宝app
如果您通过单击保存现有MDL文件保存在模拟选项卡,S金宝appimulink以MDL格式保存模型。
将现有MDL文件保存为SLX文件格式:
在模拟选项卡上,选择保存>另存为.
保持默认另存为类型,单击保存.
金宝appSimulink以SLX格式保存模型,并通过重命名MDL文件(如果文件是可写的)来创建备份文件mymodel.mdl。
,例如,releasename
mymodel.mdl.R2010b
.
另外,使用save_system
:
save_system mymodel mymodel.slx
mymodel.slx
,如果现有文件mymodel.mdl
是可写的,是重命名的吗mymodel.mdl。releasename
.
SLX文件优先于MDL文件,因此如果两者具有相同的名称,并且您没有指定文件扩展名,则加载SLX文件。
谨慎
如果您使用第三方源代码控制工具,请注册模型文件扩展名.slx
作为二进制文件格式。如果不这样做,这些第三方工具可能会在您提交SLX文件时损坏它们。
下表描述了在使用SLX文件时可能需要考虑兼容性的操作。
使用SLX时可能需要考虑兼容性的操作 | 发生什么了 | 行动 |
---|---|---|
对带有扩展名的文件名的硬编码引用. mdl |
无法找到脚本或使用新文件扩展名保存的流程模型,.slx . |
使您的代码工作与两个 使用函数如 |
默认情况下采用文本格式的第三方源控制工具 | 当您提交SLX文件时,二进制格式的文件可能会导致第三方工具损坏这些文件。 | 注册.slx 和. mdl 扩展作为二进制文件格式与第三方源代码控制工具。看到用源代码控制工具注册模型文件. |
MDL和SLX文件中的内容格式可能会更改。要对模型数据进行操作,请使用文档化的函数(例如get_param
,find_system
,金宝app仿真软件。MDLInfo
).
您可以将最新版本的Simulink软件创建的模型导出为以前版本使用的格式。金宝app例如,您可以与只访问以前版本的Simulink的同事共享模型。金宝app
以较早的格式导出模型:
在Simuli金宝appnk编辑器中,在模拟选项卡上,单击保存.这将在最新版本的Simulink中保存一个副本。金宝app这一步可以避免兼容性问题。
在Simuli金宝appnk编辑器中,在模拟选项卡上,选择保存>之前的版本.
在“导出到以前的版本”对话框中,从另存为类型列表,选择要将模型导出到的前一个版本。该列表支持7年以前金宝app的版本。
点击保存.
当您将模型导出为以前版本的格式时,模型将以以前的格式保存,无论模型是否包含在该版本之后引入的块和特性。如果模型包含块或使用比早期版本晚的特性,那么当您在早期版本的Simulink软件中运行模型时,它可能不会给出正确的结果。金宝app此外,Simulink会将金宝app早前版本的数据块转换为黄色、空、蒙版子系统块。例如,如果你使用save_system
将模型导出到发布版R2007b,该模型包含多项式块,Simuli金宝appnk转换多项式方块变成黄色,空的,蒙面的子系统块。金宝appSimulink还从模型中删除了任何不支持的功能。金宝app看到save_system
.
您可以打开在先前版本的Simulink中创建的模型,并将该模型导出到不同的早期版本。金宝app为防止兼容性问题,请使用以下步骤:
使用当前版本的Simulink打开用早期版本创建的模型金宝app。
在进行任何更改之前,通过单击将模型保存到当前版本中保存在模拟选项卡。
在当前版本中保存模型之后,您可以根据需要更改和保存它。
在早期版本的Simulink中保存模型。金宝app在模拟选项卡上,选择保存>之前的版本.
启动较早的Simulink版本,并使金宝app用它打开您导出到该较早版本的模型。
在早期版本中保存模型。
您现在可以在早期版本的Simulink中使用模型,就像在那个版本中创建的模型一样。金宝app
这些Simu金宝applink首选项可以帮助你使用早期版本的模型: