主要内容

保存模型

您可以通过查看Simulink中的标题栏来判断模型是否有未保存的更改金宝app®编辑。当模型有未保存的更改时,标题栏中出现星号(也称为脏标志)。

要以编程方式确定模型是否有未保存的更改,可以查询模型参数的值肮脏的get_param.函数。例如,此命令保存当前系统(gcs)如果它很脏:

如果strcmp(get_param(gcs,'肮脏的'),'在')save_system;结尾

保存一个模型

在Simulink编辑器中,第一次保存模型金宝app模拟选项卡,单击保存.提供模型文件的位置和名称。要查看命名要求,请参阅模型名称

要保存之前保存的模型,请遵循以下流程之一:

  • 控件上的Simulink编辑器中使用当前文件名保存模型金宝app模拟选项卡,单击保存

  • 控件上的Simulink Editor中,若要将顶部模型的内容保存为新的名称或位置,或更改模型格式,请使用金宝app模拟选项卡上,选择保存>另存为

    笔记

    有关SLX格式的详细信息,请参阅将文件格式转换为SLX

  • 若要将引用模型的内容保存为新的名称、位置或格式,请将引用模型作为顶级模型打开。然后,在模拟选项卡上,选择保存>另存为

  • 要以与早期Simulink版本兼容的格式保存顶部模型,请访问金宝app模拟选项卡上,选择保存>之前的版本.看导出模型到以前的Simulink版本金宝app

模型名称

模型文件名必须以字母开头,可以包含字母、数字和下划线。文件名不能是:

  • 语言关键字(例如,如果为了结尾的)

  • 保留的名称:'金宝appsimulink'“sl”'sf'

  • 麦克拉布®软件命令

模型名称中的字符总数不得大于某个最大值,通常为63个字符。要找到系统的最大文件名长度,请使用MATLABnamelengthmax.命令。

要了解MATLAB如何确定指定型号名称时调用哪个函数,请参阅功能优先级顺序

如何金宝app保存模型

当您保存模型时,Simulink在模型文件中保金宝app存了框图、块属性和与模型相关的其他信息。

如果你有任何pre-save或post-save回调函数,它们按照以下顺序执行:

  1. 所有块presavefcn.执行回调例程,然后执行模型presavefcn.回调例程执行。

  2. 金宝appSimulink编写模型文件。

  3. 所有块PostSaveFcn执行回调例程,然后执行模型PostSaveFcn执行。

在保存过程中,Simulink维护临时备份副本(命金宝app名型号名称.bak.),以便在出现错误时恢复模型。如果在保存过程中或在保存过程中的任何回调过程中发生错误,Simulink:金宝app

  • 恢复原始文件

  • 在命名的文件中发生错误之前保存的任何内容写入型号名称。呃

  • 发出错误消息

在保存从SLX文件加载的模型时,仍然存在原始SLX文件。金宝appSimulink执行增量加载和SLX文件的保存,因此如果Save-Time缺少原始文件,Simulink警告它无法完全重建文件。

以SLX文件格式保存模型

将新型号保存为SLX

金宝appSimulink默认保存SLX格式的新模型和库,其中包含文件扩展名.slx..SLX格式是一种符合开放包装约定(OPC)互操作性标准的压缩包。SLX格式使用Unicode存储模型信息®XML和其他国际格式的UTF-8。以SLX格式保金宝app存Simulink模型:

  • 与MDL文件相比,通常会减少文件大小。MDL和SLX之间的文件大小缩减取决于模型。

  • 启用增量加载和保存。金宝appSimulink通过仅加载模型的所需部分并仅保存模型的修改部分来优化性能和内存使用。

您可以使用Simulink首选项指定保存新模型和库的文件格式金宝app新模型和库的文件格式

将文件格式转换为SLX

如果将MDL文件转换为SLX文件格式,则该文件包含与MDL文件相同的信息。适用于MDL文件的函数,例如get_param.set_param,还使用SLX文件格式。如果将MDL文件转换为SLX文件格式而不更改型号名称或位置,则Simulink通过重命名MDL文件创建备份文件(如果文件是可写的)。金宝app

如果您通过单击保存现有MDL文件保存模拟选项卡,S金宝appimulink以MDL格式保存模型。

将现有MDL文件保存为SLX文件格式:

  1. 在这方面模拟选项卡上,选择保存>另存为

  2. 留下默认值另存为类型作为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.

使您的代码与两个人一起工作.mdl..slx.延期。

使用功能哪一个什么而不是文件名。

默认情况下采用文本格式的第三方源控制工具 SLX文件的二进制格式可能导致第三方工具在提交时损坏文件。 注册.slx..mdl.扩展作为二进制文件格式与第三方源控制工具。看用源代码控制工具注册模型文件

MDL和SLX文件中的内容格式可能会更改。要对模型数据进行操作,请使用文档化的函数(例如get_param.find_system.,金宝appsimulink.mdlinfo.).

导出到以前的模式金宝app版本

您可以将最新版本的Simulink软件创建的模型导出为以前版本使用的格式。金宝app例如,您可以与只访问以前版本的Simulink的同事共享模型。金宝app

以早期格式导出模型:

  1. 在Simuli金宝appnk编辑器中,在模拟选项卡,单击保存.这将在最新版本的Simulink中保存一个副本。金宝app这一步可以避免兼容性问题。

  2. 在Simuli金宝appnk编辑器中,在模拟选项卡上,选择保存>之前的版本

  3. 在“导出到以前的版本”对话框中,从另存为类型列表,选择要将模型导出到的前一个版本。该列表支持7年以前金宝app的版本。

  4. 点击保存

将模型导出为先前版本的格式时,该模型以先前的格式保存,无论模型是否包含在该版本之后介绍的块和功能。如果模型包含块或使用发布的早期版本的功能,则在使用早期版本的Simulink软件中运行时,模型可能不会给出正确的结果。金宝app此外,Simulink会转金宝app换将早期版本的块转换为黄色,空,蒙版子系统块。例如,如果你使用save_system将模型导出到发布版R2007b,该模型包含多项式块,Simuli金宝appnk转换多项式块变成黄色,空,蒙面子系统块。金宝appSimulink还从模型中删除任何不受支持的功能。金宝app看save_system

保存从早些时候金宝app版本到另一个更早的版本

您可以打开在先前版本的Simulink中创建的模型,并将该模型导出到不同的早期版本。金宝app为防止兼容性问题,请使用以下步骤:

  1. 使用当前版本的Simulink打开用早期版本创建的模型金宝app。

  2. 在进行任何更改之前,通过单击将模型保存到当前版本中保存模拟选项卡。

    在当前版本中保存模型后,您可以根据需要更改和重新运行它。

  3. 在早期版本的Simulink中保存模型。金宝app在这方面模拟选项卡上,选择保存>之前的版本

  4. 启动较早的Simulink版本,并使金宝app用它打开您导出到该较早版本的模型。

  5. 在早期版本中保存模型。

您现在可以在早期版本的Simulink中使用模型,就像在那个版本中创建的模型一样。金宝app

这些Simu金宝applink首选项可以帮助你使用早期版本的模型:

也可以看看

相关话题