zl程序教程

您现在的位置是:首页 >  Java

当前栏目

matlab的simulink文件mdl和slx对比

2023-02-18 16:30:40 时间

从R2012a版本及以后的所有Simulink模型都采用slx文件名作为默认格式。Simulink是MathWorks公司集成在该公司著名的技术计算分析解决方案MATLAB中的一种模仿建模解决方案。slx取代了以前的mdl格式,由于采用了zip压缩,可以实现更小的文件大小,具有更好的内化支持,并能实现增量加载。.slx文件是以slx格式保存的Simulink模型。从其内部结构来看,Simulink模型(.slx)是一个常规的ZIP档案,它包含了一个结构化的XML文件集合,主要的模型规范定义在simulink/blockdiagram.xml文件中。这种模型可以直接在MathWorks Simulink或MathWorks MATLAB中打开,也可以通过第三方工具(如Simulink Library for Java)在其他软件中导入。MathWorks MATLAB和Simulink提供了将传统MDL模型转换为SLX格式的本地工具。

slx文件与mdl文件的差别

1)文件大小

slx文件是二进制格式文件,mdl文件是文本格式文件,由于slx文件相对于mdl文件被压缩,通常slx文件大小会比相同的mdl文件小。相同的模型分别存成complex_model1.slx格式和complex_model1.mdl文件,complex_model1.slx文件大小为28KB,complex_model1.mdl文件大小为67KB.

2)文件打开

相同的模型分别存成complex_model1.slx格式和complex_model1.mdl文件,然后分别用记事本打开,可以看出slx文件打开后为乱码,mdl文件打开后为文本,这些文本描述了模型的特性。

slx文件是二进制格式文件,本质上是压缩文件,可以将扩展名改成.rar后,使用压缩软件解压。更改complex_model1.slx扩展名为complex_model1.rar,然后使用压缩软件解压,得到:

3)运行速度

有一种说法是slx是二进制文件,运行速度应该比较快,但经仿真验证,slx文件与mdl文件的运行速度并无明显差别。

clear
clc
tic
N = 100;
for ii = 1:N
    sim('complex_model1.slx')   % complex_model1.slx文件运行100遍
end
t1 = toc
tic
for ii = 1:N
    sim('complex_model11.mdl')  % complex_model1.mdl文件运行100遍
end
t2 = toc

slx文件运行时长 t1 = 4.8587

mdl文件运行时长 t2 = 4.8297

个人观点:不管slx和mdl文件,作用都只是描述模型的组成结构,经过Simulink运行环境的编译后,在底层执行时的代码是相同的,所以二者在运行速度上不会有明显差别。