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

📄 mex_eigens.c

📁 本人收集的一些有关matlab的代码程序设计 也不知道改选什么分类
💻 C
字号:
   #include "matrix.h"
   /*Function mex_eigens*/
   void mexFunction( int nlhs, mxArray *plhs[],
                     int nrhs, const mxArray *prhs[])
   {
      mxArray *xp[1], *lhs[2];
      int n,m, i;
      double *A, *pA, *pB1, *pB2, *pB3, *pA1;
      if (nrhs!=2) mexErrMsgTxt("Wrong number of input arguments!");
      if (nlhs>3) mexErrMsgTxt("Too many output arguments!");
      m=mxGetM(prhs[0]); n=mxGetN(prhs[0]);
      mexCallMATLAB(1,xp,2,prhs,"mpower");
      pA1=mxGetPr(xp[0]);
      plhs[0]=mxCreateDoubleMatrix(m,n,mxREAL); pB1=mxGetPr(plhs[0]);
      plhs[1]=mxCreateDoubleMatrix(m,1,mxREAL); pB2=mxGetPr(plhs[1]);
      plhs[2]=mxCreateDoubleMatrix(m,n,mxREAL); pB3=mxGetPr(plhs[2]);
      for (i=0; i<m*n; i++) pB1[i]=pA1[i];
      mexCallMATLAB(2,lhs,1,xp,"eig");
      pA1=mxGetPr(lhs[0]); for (i=0; i<m*n; i++) pB3[i]=pA1[i];
      pA1=mxGetPr(lhs[1]); for (i=0; i<m; i++) pB2[i]=pA1[i+i*m];
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -