mat文件是二进制MATLAB®存储工作区变量的文件。从mat -文件版本4开始,有几个后续版本的mat -文件支持不断增加的特性集。万博1manbetxMATLAB发布的R2006b及以后版本都支持所有的mat文件版本。万博1manbetx
默认情况下,所有保存操作都会创建Version 7 mat文件。属性创建新的mat -文件时唯一的例外是matfile
函数。在这种情况下,默认的MAT文件版本为7.3。
要识别或更改默认的mat文件版本,请访问MAT-Files首选项。
在首页标签,在环境部分中,点击首选项。
选择MATLAB>一般>mat文件。
首选项适用于保存
功能和保存菜单选项。
MAT文件的最大大小仅由您的本机文件系统施加。
该表列出并比较了所有的mat文件版本。
MAT文件版本 | 万博1manbetxMATLAB版本支持 | 万博1manbetx支持的特点 | 压缩 | 每个变量的最大大小 | 的价值版本 论点保存 功能 |
偏好选项 |
---|---|---|---|---|---|---|
版本7.3 | R2006B(7.3版)或更高版本 | 保存和加载部分变量以及Version 7的所有特性 |
是(默认) | 在64位计算机上≥2gb | '-v7.3' |
MATLAB版本7.3或更高版本 (保存-v7.3) |
Version 7 | R14(7.0版)或更高版本 | Unicode®字符编码,它允许在使用不同默认字符编码方案的系统之间共享文件,以及所有Version 6特性。 |
是(默认) | 每变量2 ^ 31字节 | v7的 |
MATLAB版本7或更高版本 (保存v7) |
版本6 | R8(版本5)或更高版本 | n维数组,单元格阵列,结构阵列,变量名超过19个字符,以及所有版本4功能。 |
不 | 每变量2 ^ 31字节 | “6” |
MATLAB版本5或更高版本 (保存v6) |
版本4 | 全部 | 二维 |
不 | 每个数组有1亿个元素,每个变量有2^31个字节 | v4的 |
N/A |
请注意
版本7.3的mat文件使用基于HDF5的格式,需要一些开销存储来描述文件的内容。对于单元数组、结构数组或其他可以存储异构数据类型的容器,Version 7.3 mat -文件有时比Version 7 mat -文件大。
保存到默认版本的MAT文件版本时:
允许使用早期版本的MATLAB访问文件。
利用Version 7.3的mat文件特性。
通过存储未压缩的数据来减少加载和保存一些文件所需的时间。
通过存储压缩数据来减少一些文件的大小。
若要保存到非默认版本的mat文件版本,请指定版本
作为最后一个输入保存
函数。例如,创建一个名为myfile.mat
, 类型:
保存('myfile.mat',“6”)
从版本7开始,MATLAB在写入MAT文件时压缩数据以保存存储空间。数据压缩和解压缩减慢所有保存操作和一些负载操作。在大多数情况下,文件大小的减少值得花费额外的时间。
在某些情况下,加载压缩数据实际上可以快点比加载未压缩的数据要好。例如,假设一个数字数组中的数据块同时保存在一个10mb压缩文件和一个100mb未压缩文件中。加载每个文件的前10mb需要相同的时间。加载未压缩文件剩余的90mb所需时间是加载前10mb所需时间的9倍。加载压缩文件所需时间相对较短。
在以下情况下,数据压缩的好处可以忽略不计:
相对于容器的复杂性,每个条目中的数据量很小。例如,与相同大小的单元格或结构数组相比,简单的数字数组压缩和解压缩所需的时间更少。除非您是通过网络传输数据,否则压缩数组所带来的未压缩文件大小小于3mb的好处是有限的。
数据是随机的,没有重复的模式或一致的值。
版本7.3 MAT文件使用基于HDF5的格式,将数据存储在压缩块中。从7.3版本文件中加载部分变量所需的时间取决于数据如何跨一个或多个块存储。包含要加载的数据的任何部分的每个块必须完全未压缩以访问数据。重新收集数据可以提高负载操作的性能。要重新填写数据,请使用HDF5命令行工具,这些工具是HDF5分发的一部分。