MATLAB:.mat版本之间的差异

时间:2011-02-09 21:24:40

标签: matlab hdf5 mat-file

official documentation声明如下:

enter image description here。但我注意到除了上表中列出的那些之外还有其他重要的区别。

例如,在MATLAB中保存一个占用 176 MB 内存的大约6,000个元素的单元格数组会给出以下结果,具体取决于我是否使用 -v7 -v7.3

  • 使用 -v7 :文件大小= 15 MB ,并保存&负载快速
  • 使用 -v7.3 :文件大小= 400 MB ,并保存&加载非常 (可能部分是因为文件较大)。

有没有人注意到这些差异?

更新1 :正如回复指出的那样, -v7.3 依赖于HDF5,并且根据Mathworks,“此格式具有显着的存储开销” ,虽然目前尚不清楚这种开销是否真的是由于格式本身,还是由于MATLAB的实现和HDF5的处理。

更新2 :@Andrew Janke将我们指向this very helpful PDF(显然网络上没有HTML格式)。有关详细信息,请参阅@Amro提供的答案中的注释。

这一切都将我带到了下一个问题:是否有任何替代方案结合了两个世界的优点(例如 -v7 的效率和处理的能力非常大的文件 - v7.3 )?

1 个答案:

答案 0 :(得分:9)

MAT文件的7.3版本使用HDF5格式,这种格式具有很大的存储开销来描述文件的内容,特别是对于复杂的嵌套cellarray和结构。与以前版本的MAT文件相比,它的主要优点是它允许在64位系统上存储大于2GB的数据。

请注意,v7和v7.3都是压缩的并使用Unicode编码(与v6不同),但它们是两种完全不同的格式......

参考文献: