⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mat1.c

📁 《MATLAB实用指南》系列丛书DE源代码
💻 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 + -