📄 7.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0054)http://passmatlab.myetang.com/matlab/matlabc1/m_c7.htm --><HTML><HEAD><TITLE>Matlab与C++接口与混合编程讨论小结(七)</TITLE><SCRIPT language=JavaScript src="7.files/pop-up.js"></SCRIPT><META http-equiv=Content-Type content="text/html; charset=gb2312"><META content="MSHTML 5.50.4522.1800" name=GENERATOR></HEAD><BODY text=#000000 bgColor=#ffffff><TABLE width="94%" border=0> <TBODY> <TR> <TD width="2%"> </TD> <TD width="96%"> <DIV align=center><B><FONT size=4>Matlab与C++接口与混合编程讨论小结(七) </FONT></B></DIV></TD> <TD width="2%"> </TD></TR> <TR> <TD width="2%"> </TD> <TD width="96%"> <P> 第二章、 </P> <P> 第六节、用c编写mex程序[六] </P> <P> 我们之所以使用Matlab,很重要的考虑是Matlab提供了相当丰富的矩阵运算函数和各 种<BR>toolbox。在编制mex函数时,有时我们也会遇到一些操作,在Matlab下,只需要一个 为了在<BR>mex函数里调用Matlab命令,我们就需要用到一个函数mexCallMATLAB,原型如下: int mexC<BR>allMATLAB(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[], const char *comma<BR>nd_name); 有了前面的基础,使用这个函数就显得十分容易了。下面给出一个例程,功能是将<BR>输入 </P> <P> b] #include "mex.h" void mexFunction(int nlhs, mxArray *plhs[], int nrhs, co<BR>nst mxArray *prhs[]) { { double *inData; mxArray *IN[1]; mxArray *OUT[1]; double <BR>*outData; int M,N; int i,j; </P> <P> //异常处理 if(nrhs!=1) if(nrhs!=1)础,使用这个函数就显得十分容易了。下面给出<BR>一个例程,功能是将输入 mexErrMsgTxt("USAGE: b=rot(a)\n"); if(!mxIsDouble(prhs[0])<BR>) mexErrMsgTxt("the Input Matrix must be double!\n"); //计算转置 </P> <P> if(mexCallMATLAB(1,OUT,1,prhs,"'")) mexErrMsgTxt("Error when compute!\n"); <BR>//根据输入参数数目决定是否显示 if(nlhs==0) mexCallMATLAB(0,IN,1,OUT,"disp"); else<BR>plhs[0]=OUT[0]; } <BR></P></TD> <TD width="2%"> </TD></TR> <TR> <TD width="2%"> </TD> <TD width="96%"> </TD> <TD width="2%"> </TD></TR></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -