matlab中mxGetScalar,mxGetPr,mxGetM,mxGetN,mxCreateDoubleMatrix的使用

来源:互联网 发布:ar软件有什么 编辑:程序博客网 时间:2024/06/08 15:24

       最近看别人的MATLAB程序时,里面使用到C语言,涉及到几个MATLAB使用C语言程序的接口函数,对里面参数的意思稍微了解一下。

      下面是在网上转载的,仅供交流学习一下。

整个c程序由一个接口子过程 mexFunction构成,前面提到过,Matlab的mex函数有一定的接口规范,就是指:
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) 
nlhs:输出参数数目 
plhs:指向输出参数的指针 
nrhs:输入参数数目
 

mxGetScalar(prhs[0]) :把通过prhs[0]传递进来的mxArray类型的指针指向的数据(标量)赋给C程序里的变量;

mxGetPr(prhs[0]) :从指向mxArray类型数据的prhs[0]获得了指向double类型的指针

mxGetM(prhs[0]):获得矩阵的行数

mxGetN(prhs[0]):获得矩阵的列数
mxCreateDoubleMatrix(int m, int n, mxComplexity ComplexFlag) :实现内存的申请,m:待申请矩阵的行数 ; n:待申请矩阵的列数

0 0
原创粉丝点击