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

📄 conjugate_structurecore.c

📁 G.729编解码源程序
💻 C
字号:
#include <mex.h>#include <math.h>void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]){    //输入    double *x,*y,*z,*GA,*GB,*gc1;    //输出    double *bestgp,*bestgc,*update_u,*ga,*gb;    //int *ga,*gb;    double gp,gc,temp,gama,minimum;    int i,j,k;    int colx;    x=mxGetPr(prhs[0]);    y=mxGetPr(prhs[1]);    z=mxGetPr(prhs[2]);    GA=mxGetPr(prhs[3]);    GB=mxGetPr(prhs[4]);    gc1=mxGetPr(prhs[5]);    plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);    plhs[1]=mxCreateDoubleMatrix(1,1,mxREAL);    plhs[2]=mxCreateDoubleMatrix(1,1,mxREAL);    plhs[3]=mxCreateDoubleMatrix(1,1,mxREAL);    plhs[4]=mxCreateDoubleMatrix(1,1,mxREAL);        //*ga,*gb,*bestgp,*bestgc,*update_u;    ga=mxGetPr(plhs[0]);    gb=mxGetPr(plhs[1]);    bestgp=mxGetPr(plhs[2]);    bestgc=mxGetPr(plhs[3]);    update_u=mxGetPr(plhs[4]);        //初始化    colx=mxGetN(prhs[0]);    temp=0;    gp=0;    gc=0;    gama=0;    minimum=10*10*10*10*10*10*10*10*10*10;        for (k=0;k<8;k++)    {        for (j=0;j<16;j++)        {            //GA:[8,2]            //GB:[16,2]            //gp=GA(i,1)+GB(j,1);            temp=0;            gp=GA[k]+GB[j];            //gama=GA(i,2)+GB(j,2);            gama=GA[8+k]+GB[16+j];            //gc=gc1*gama;            gc=gc1[0]*gama;                       for (i=0;i<colx;i++)            {                temp=temp+x[i]*x[i]+gp*gp*y[i]*y[i]+gc*gc*z[i]*z[i]-2*gp*x[i]*y[i]-2*gc*x[i]*z[i]+2*gp*gc*y[i]*z[i];            }            if (minimum>temp)            {                ga[0]=k+1;                gb[0]=j+1;                minimum=temp;                update_u[0]=20*log2(gama)/(log2(10));                bestgp[0]=gp;                bestgc[0]=gc;            }        }    }}

⌨️ 快捷键说明

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