📄 h2.c
字号:
/////////////////////Mex头文件////////////////////////////////////////////
#include "mex.h"
#include "math.h"
////////////////////用户C程序 /////////////////////////////////////////////
void OutPut(FILE* fp1,int M,int N,double *rP,int ii)
{int i,j;
fprintf(fp1,"\n The %d Input Data is:\n",ii);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)fprintf(fp1," %7.2lf",rP[j*M+i]);
fprintf(fp1,"\n");
}
}
////////////////// 接口程序mexFunction/////////////////////////////////////
void mexFunction(int nlhs,mxArray *plhs[],int nrhs, mxArray *prhs[])
{int i,M,N,ii,jj;
double *rP,*lP;
FILE *fp1;
if((fp1=fopen("OutPut2.txt","w"))==NULL){mexErrMsgTxt(" Can't open OutPutfile\n");}
nlhs=nrhs;
for(i=0;i<nrhs;i++){
rP=mxGetPr(prhs[i]);//////获取指向矩阵prhs[i]的指针
M=mxGetM(prhs[i]);
N=mxGetN(prhs[i]);///获取prhs[i]矩阵的行数M与列数N
OutPut(fp1,M,N,rP,i);///////////////// 调用C程序
plhs[i]=mxCreateDoubleMatrix(M,N,mxREAL); //地址赋初值
lP=mxGetPr(plhs[i]); //////获取指向矩阵plhs[i]的指针
for(ii=0;ii<M;ii++)for(jj=0;jj<N;jj++)lP[jj*M+ii]=sqrt(rP[jj*M+ii]);//向plhs[i]赋值
}
fclose(fp1);
}
///////////////////结束////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -