MATLAB:.mat版本之间的差异

official documentation说明如下:

。但是我注意到,除了上表中所说明的以外,还有其他一些重要的区别。

例如,在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的非常大的文件的能力)?

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

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

参考文献:

> MAT-File Preferences
> MAT-File Versions

转载注明原文:MATLAB:.mat版本之间的差异 - 代码日志