📄 mat1.c
字号:
//////////////// Head //////////////////////////////////////
#include "mex.h"
#include "mat.h"
/////////////////// C Program //////////////////////////////////////////
void OutPut(MATFile *fp)
{ mxArray *m_str,*m_P; int i,j;
double rx[]={1,2,3,4,5,6}; double ix[]={6,5,4,3,2,1};
double ry[]={1,1,1,1,1,1}; double iy[]={6,6,6,6,6,6};
m_P=mxCreateDoubleMatrix(2,6,mxCOMPLEX);///// Create mxArray Object
for(i=0;i<1;i++)for(j=0;j<6;j++)
{*(mxGetPr(m_P)+j*2+i)=rx[j];*(mxGetPi(m_P)+j*2+i)=ix[j];}
for(i=1;i<2;i++)for(j=0;j<6;j++)
{*(mxGetPr(m_P)+j*2+i)=ry[j];*(mxGetPi(m_P)+j*2+i)=iy[j];}
matPutVariable(fp,"m_P",m_P); /////Write mxArray object into mat
m_str=mxCreateString(" mat File");// Create mxArray Object
matPutVariable(fp,"m_str",m_str);// Write mxArray object into mat
mxDestroyArray(m_str);mxDestroyArray(m_P);// deallocate the RAM
}
////////////////// mexFunction /////////////////////////////////////
void mexFunction(int nlhs,mxArray *plhs[],int nrhs, mxArray *prhs[])
{ MATFile *fp; int buf;
mxChar *FileName;
////////////////// Get data from prhs[]
if(nrhs!=1||mxGetClassID(prhs[0])!=mxCHAR_CLASS)
mexErrMsgTxt("Please Input a string to be the MatFile name\n");
buf=(mxGetM(prhs[0])*mxGetN(prhs[0]))+1;
FileName=mxCalloc(buf,sizeof(char));
mxGetString(prhs[0],FileName,buf);
if((fp=matOpen(FileName,"w"))==NULL)mexErrMsgTxt("Cant't Open MATFile");
OutPut(fp);
mexPrintf("\n The '%s.mat' mat_File is created successfully!\n",FileName);
mxFree(FileName);
matClose(fp);
}
/////////////////// End ////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -