24

官方文档声明如下:

在此处输入图像描述. 但我注意到,除了上表中所述之外,还有其他重要的区别。

例如,在 MATLAB 中保存一个包含大约 6,000 个元素且占用176 MB内存的元胞数组会根据我使用-v7还是-v7.3给出以下结果:

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

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

更新 1:正如回复所指出的,-v7.3依赖于 HDF5,并且根据 Mathworks,“这种格式有很大的存储开销”,尽管目前尚不清楚这种开销是否真的是由于格式本身,还是由于 MATLAB HDF5 的实施和处理。

更新 2:@Andrew Janke 向我们指出了这个非常有用的 PDF(显然在网络上没有 HTML 格式)。有关更多详细信息,请参阅@Amro 提供的答案中的评论。

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

4

1 回答 1

11

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

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

参考:

于 2011-02-10T15:51:01.107 回答