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

📄 comp_wfac.c

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

⌨️ 快捷键说明

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