matlab中呼叫c語言函式:#include "mex.h" //標頭檔案必須包含mex.hdouble mexSimpleDemo(double *y,double a,double b); //C語言演算法程式宣告,在最後呼叫時,第一 // 個引數是返回結果//c語言到matlab變換,以mexFunction命名void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]){ double *y; double m,n; //獲取輸入變數的數值大小 m=mxGetScalar(prhs[0]); n=mxGetScalar(prhs[1]); //獲取輸出變數的指標 plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL); y=mxGetPr(plhs[0]); //呼叫子函式 mexSimpleDemo(y,m,n);}//C語言函式 double mexSimpleDemo(double *y,double a,double b){ return *y=(a>b)?a:b;}
matlab中呼叫c語言函式:#include "mex.h" //標頭檔案必須包含mex.hdouble mexSimpleDemo(double *y,double a,double b); //C語言演算法程式宣告,在最後呼叫時,第一 // 個引數是返回結果//c語言到matlab變換,以mexFunction命名void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]){ double *y; double m,n; //獲取輸入變數的數值大小 m=mxGetScalar(prhs[0]); n=mxGetScalar(prhs[1]); //獲取輸出變數的指標 plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL); y=mxGetPr(plhs[0]); //呼叫子函式 mexSimpleDemo(y,m,n);}//C語言函式 double mexSimpleDemo(double *y,double a,double b){ return *y=(a>b)?a:b;}