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

📄 mex_mattrans.c

📁 本人收集的一些有关matlab的代码程序设计 也不知道改选什么分类
💻 C
字号:
   #include "matrix.h"
   /*Function mex_mattrans*/
   void mexFunction( int nlhs, mxArray *plhs[],
                     int nrhs, const mxArray *prhs[])
   {
      double *Ap, *Bp;
      int mA,nA, m_total, n_elements, *ndims, n, *n1, i, j, k;
      if (nrhs!=1) mexErrMsgTxt("Wrong number of input arguments!");
      if (nlhs>1) mexErrMsgTxt("Too many output arguments!");
      n_elements=mxGetNumberOfElements(prhs[0])+1;
      n=mxGetNumberOfDimensions(prhs[0]); 
      ndims=mxGetDimensions(prhs[0]); 
      Ap=mxGetPr(prhs[0]);
      n1=mxCalloc(n,sizeof(int));
      mA=ndims[0]; nA=ndims[1]; n1[0]=nA; n1[1]=mA;
      for (j=2; j<n; j++) n1[j]=ndims[j];
      plhs[0]=mxCreateNumericArray(n, n1, mxDOUBLE_CLASS, mxREAL);
      Bp=mxGetPr(plhs[0]);
      m_total=nA*mA;
      for (k=0; k<n_elements; k+=m_total)
         for (i=0; i<mA; i++) 
            for (j=0; j<nA; j++) Bp[k+i*nA+j]=Ap[k+j*mA+i];
   }

⌨️ 快捷键说明

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