a.mat是一个简单的矩阵a=[1 2 3 4;5 6 7 8]
读取a.mat并显示其中的数据
这是vs2010下配置好mat文件所需的环境后 的一个测试代码
#include "mat.h"
#include "iostream"#pragma comment(lib,"libmat.lib")
#pragma comment(lib,"libmx.lib")
using namespace std;
int main()
{
MATFile *pmat;
mxArray *pMxArray;
double *initA;
pmat=matOpen("a.mat", "r");//打开文件,返回指向文件指针
if (pmat == NULL)
{
cout<<"pmat==NULL"<<endl;//cout<<"Error opening file:" <<file<<endl;
return 0;
}
pMxArray=matGetVariable(pmat,"a");
initA = (double*) mxGetData(pMxArray);
int M = mxGetM(pMxArray);
int N = mxGetN(pMxArray);
cout<<M<<" "<<N<<endl;
for (int i=0; i<M; i++)
for (int j=0; j<N; j++)
cout<< initA[M*j+i];
matClose(pmat);
mxFree(initA);
}