slx文件是二进制格式文件,mdl文件是文本格式文件,早期Simulink的模型文件为mdl格式,slx格式在Matlab/Simulink R2012a版本中引入,旨在取代以前的mdl格式,由于slx被压缩,通常文件大小会比相同的mdl文件小。 mdl文件与slx文件的对比:
文件格式 | 文件大小 | 打开速度 | 运行速度 | |
.slx文件 | 二进制文件 | 较小 | 相当 | 相当 |
.mdl文件 | 文本文件 | 较大 |
文件打开
一个简单的模型分别存成K01A.slx格式和K01B.mdl文件,然后分别用记事本打开,可以看出slx文件打开后为乱码,mdl文件打开后为文本,这些文本描述了模型的特性。
slx文件是二进制格式文件,本质上是压缩文件,可以将扩展名改成.rar后,使用压缩软件解压。更改K01A.slx扩展名为K01A.rar,然后使用压缩软件解压,得到:
运行速度
有些网友说,slx是二进制文件,运行速度应该比Simulink快,但经过仿真试验发现,slx文件与mdl文件的运行速度并无明显差别。
clearclc ticN = 100;for ii = 1:N sim('K01A')endt1 = toc ticfor ii = 1:N sim('K01B')end
结果:
t1 = 7.2381t2 = 7.1943
我的理解:不管sxl和mdl文件,作用都只是描述模型的组成结构,经过Simulink运行环境的编译后,在底层执行时的代码是相同的,所以二者在运行速度上不会有明显差别。