上文介绍的是,运用matlab提供的api函数读取mat文档的数据,从调用的方法可以看出,存在着很大的局限性。因此本文从mat文件的格式,运用C++编程方式读取mat文档内容
摆脱matlab的api调用的束缚。
mat文档的格式
在matlab version 5中,MAT文件由一个128字节的文件头和若干个数据单元组成。每个数据单元有一个8个字节的tag,用于说明数据单元的占用的字节数(不包括tag的8个字节)和数据类型。
文件头header里有124字节的文本描述区域和4个字节的flag。flag中的前2个字节说明version,后两个字节是endian indicator。文本描述区域主要说明MAT文件的版本,创建于哪个平台,创建时间。flag中的version说明的是创建这个MAT文件的matlab的版本。edian indicator包括两个字符M和I。
1 char mat_data_fhead1[51] = 2 { "MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: "}; 3
MAT文件解析与C++实现

本文详细介绍了MAT文件的格式,包括文件头和数据单元的结构,以及如何使用C++编程来读取MAT文件内容,摆脱MATLAB API的限制。MAT文件由128字节的文件头和数据单元组成,数据单元的tag包含数据类型和字节数信息。内容涉及到字节序、数据对齐和压缩数据单元格式。
最低0.47元/天 解锁文章
1102

被折叠的 条评论
为什么被折叠?



