include文件包括:mat.h matrix.h tmwtypes.h
lib文件包括:libmat.lib libmx.lib
dll文件包括:太多了,有时间再上传过来
void loadmatfile(char* filename, char* matname, double *data)
{
//打开mat文件
MATFile* pmatFile = NULL;
pmatFile = matOpen(filename, "r");
if (!pmatFile) return -1;
//读取变量
mxArray* pMxArray = NULL;
pMxArray = matGetVariable(pmatFile, matname);
//获取矩阵大小
size_t M, N;
M = mxGetM(pMxArray);
N = mxGetN(pMxArray);
//数据指针
double* initA;
initA = (double*)mxGetData(pMxArray);
//自己定义data空间
memset(data, 0, M*N * sizeof(double));
//赋值
memcpy(data, initA, M*N * sizeof(double));
//关闭mat文件
matClose(pmatFile);
mxFree(initA);
//输出读取的值
//for (int i = 0; i < 10; i++)
//{
// printf("%f\n", data[i]);
//}
return 0;
}
int main1()
{
const char* filename = "name1.mat";
const char* matname = "name2";
loadmatfile(filename, matname, realdata);
//验证
for (int i = 0; i < 10; i++)
{
printf("real:%f", realdata[i]);
}
return 0;
}