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

📄 comp_idgt_fac.c

📁 Matlab时频分析工具箱,希望能对大家有所帮助啊
💻 C
字号:
#include "mex.h"#include "config.h"#include "../src/idgt_fac.c"#include "../src/gcd.c"/* Calling convention: *  comp_idgt_fac(coef,gf,L,a,M); */void mexFunction( int nlhs, mxArray *plhs[], 		  int nrhs, const mxArray *prhs[] )   {    int L, W, R, a, M, N;   double *f_combined, *gf_combined, *c_combined;   double *f_r,*f_i,*gf_r,*gf_i,*c_r,*c_i;      int ii;      /* Get matrix dimensions.*/   L=(int)mxGetScalar(prhs[2]);   a=(int)mxGetScalar(prhs[3]);   M=(int)mxGetScalar(prhs[4]);   N=L/a;   R = mxGetM(prhs[1])*mxGetN(prhs[1])/L;    W = mxGetM(prhs[0])*mxGetN(prhs[0])/(M*N*R);       /* Create temporary matrices to convert to correct complex layout. */   c_combined=mxCalloc(M*N*R*W*2,sizeof(double));      gf_combined=mxCalloc(L*R*2,sizeof(double));   f_combined=mxCalloc(L*W*2,sizeof(double));      /* Copy the data. */      c_r=mxGetPr(prhs[0]);   for (ii=0;ii<M*N*R*W; ii++)   {      c_combined[2*ii]=c_r[ii];   }      if (mxIsComplex(prhs[0]))   {      c_i=mxGetPi(prhs[0]);      for (ii=0;ii<M*N*R*W; ii++)      {	 c_combined[2*ii+1]=c_i[ii];      }   }         gf_r=mxGetPr(prhs[1]);   for (ii=0;ii<L*R; ii++)   {      gf_combined[2*ii]=gf_r[ii];   }   if (mxIsComplex(prhs[1]))   {      gf_i=mxGetPi(prhs[1]);      for (ii=0;ii<L*R; ii++)      {	 gf_combined[2*ii+1]=gf_i[ii];      }   }      idgt_fac((ltfat_complex*)c_combined,(ltfat_complex*)gf_combined,L,W,R,a,M,	    (ltfat_complex*)f_combined);      mxFree(c_combined);   mxFree(gf_combined);      plhs[0] = mxCreateDoubleMatrix(L, W, mxCOMPLEX);      f_r=mxGetPr(plhs[0]);   f_i=mxGetPi(plhs[0]);      for (ii=0;ii<L*W; ii++)   {      f_r[ii]=f_combined[2*ii];      f_i[ii]=f_combined[2*ii+1];   }      return;   }

⌨️ 快捷键说明

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