3.open与load的比较。
》 clear
》 A = magic(3);
》 B = rand(3);
》 save
Saving to: matlab.mat
》 clear
》 load('matlab.mat')
》 A
A =
8 1 6
3 5 7
4 9 2
》 B
B =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
》 clear
》 open('matlab.mat')
ans =
A: [3x3 double]
B: [3x3 double]
》 struc1=ans;
》 struc1.A
ans =
8 1 6
3 5 7
4 9 2
》 struc1.B
ans =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
4. 在普通的C/C++程序中读写MAT文件
1.使用MATLAB 提供的MAT 文件接口函数 在C/C++程序中有两种方式可以读取MAT文件数据。一种是利用MATLAB提供的有关MAT文件的编程接口函数。MATLAB的库函数中包含了MAT文件接口函数库,其中有各种对MAT文件进行读写的函数,都是以mat开头的函数。
matOpen 打开 MAT 文件
matClose 关闭 MAT 文件
matGetDir 从 MAT 文件中获得 MATLAB 阵列的列表
matGetFp 获得一个指向MAT 文件的ANSI C 文件指针
matGetVariable 从MAT文件中读取MATLAB阵列
matPutVariable 写MATLAB阵列到MAT文件
matGetNextVariable 从MAT文件中读取下一个MATLAB阵列
matDeleteVariable 从MAT文件中删去下一个MATLAB阵列
matPutVariableAsGlobal 从MATLAB阵列写入到MAT文件中
matGetVariableInfo 从MAT文件中读取MATLAB阵列头信息
matGetNextVariableInfo 从MAT文件中读取下一个MATLAB阵列头信息
2.在C/C++程序中读取MAT文件内容
另外一种在C/C++程序中读写 MAT 文件的方法是根据 MAT 文件结构,以二进制格式在C/C++中读入文件内容,然后解析文件内容,从而获得文件中保存的MATLAB数据。因为MAT文件格式是公开的,用户只要在找到安装路径下的一个名为matfile_format,pdf的文件,就可以详细了解 MAT 文件结构,从而在C/C++程序中以二进制格式读取文件内容,解析以后得到文件中保存的数据。具体方法在后面有讲解。