matlab 创建.mat文件,C++创建和调用matlab的MAT文件

C++创建和调用MATALB的MAT文件

所用软硬件平台:VS2008 sp1 matlab 2009b ,32位PC,XP系统

所用程序

//创建一个.mat文件,并在里面存储一个double型变量,并赋值初值

#include

#include/* For strcmp() */

#include/* For EXIT_FAILURE, EXIT_SUCCESS */

#include"mat.h"

using namespace std;

int main()

{

mxArray *pa1;

double data[1]={3.141592653};

MATFile *pmat;//定义一个MAT文件指针

const char*file="VS_MAT.mat";

cout<

pmat=matOpen(file,"w");//打开或创建一个MAT文件

if(pmat==NULL)

{

cout<

return(EXIT_FAILURE);

}

pa1=mxCreateDoubleMatrix(1,1,mxREAL);//mxREAL表示创建一个实数的*1的array

if(pa1==NULL)

{

cout<

return(EXIT_FAILURE);

}

//初始化变量pa1;向MAT文件中写入变量pa1,并命名为a;

memcpy( (void*)(mxGetPr(pa1)),(void*)data,sizeof(data));//mxGetPr与mxGetPi分别是得到double类型

//array的实部指针和虚部指针的API int status;

status=matPutVariable(pmat,"a",pa1);//向MAT文件中写入变量pa1,并命名为a;

if(status!=0)

{

cout<

return(EXIT_FAILURE);

}

//清除矩阵

mxDestroyArray(pa1);

你可能感兴趣的:(matlab,创建.mat文件)