上文介绍的是,运用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: "