亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? milcadelay.c

?? 互信息盲源分離
?? C
字號:
//####################################################################//MILCA with delay embedding//####################################################################//2 May 2004//Contact: kraskov@its.caltech.edu//####################################################################//uses mic_xnyn mir_xnyn//####################################################################//Nov 18, 2005//fixed a bug reported by Yasuhiro Ishikawa,//the memory for variables max and min was allocated incorrectly//that is why it crashed if edim was smaller than dim/2#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <float.h>#include "miutils.h"#define M 7#define NSTACK 50#define SWAP(a,b) tempr=(a); (a)=(b); (b)=temprvoid four1(double *data, unsigned long nn, int isign);void realft(double *data, unsigned long n, int isign);int main(int argc, char **argv) {  FILE *fin;  int i,d,d1,d2, d_,d2_,ddel;  int N=4096,N_;  int dim=3;  int K=1;    double **x;  double **xx,**yy;  double *psi,*min,*max,*scalxx;  double t_d,t_d1;  int BOX1;  double s,me;  int k;  double *rmi;  double angle;  double st_d, ct_d;  double **Rall,**R,**Rt;  int p, pMax;  int count;  double mimin;  int angI;  double addnoise=-1;  int method=1;  int tau=1;  int edim=2;  int ns=1;  int nr=128;    if (argc<7) {    fprintf(stderr,"\nMutual Information Least dependent Component Analysis (MILCA) with delay embedding\n\n");    fprintf(stderr,"Usage:\n%s <filename> <dim> <# points> <# neighbours> <tau> <edim> [method] [nrot] [nharm] [addnoise]\n\n",argv[0]);    fprintf(stderr,"Input:\n\t<filename>\ttext file with <dim> columns and <# points> rows\n");    fprintf(stderr,"\t<dim>\t\tnumber of columns in file\n");    fprintf(stderr,"\t<# points>\tnumber of rows (length of characteristic vector)\n");    fprintf(stderr,"\t<# neighbours>\tnumber of the nearest neighbours for MI estimator\n");    fprintf(stderr,"\t<tau>\t\tembedding delay; default 1\n");    fprintf(stderr,"\t<edim>\t\tembedding dimension; default 2\n");    fprintf(stderr,"\t[method]\teither cubic (0), or rectangular (1); default 1\n");    fprintf(stderr,"\t[nrot]\t\tnumber of angles to minimize over; default 128\n");    fprintf(stderr,"\t[nharm]\t\tnumber of harmonics to approximate MI(angle) dependence; default 1\n");    fprintf(stderr,"\t[addnoise]\tnoise amplitude; default 1e-8\n");    fprintf(stderr,"\nOutput:\n");    fprintf(stderr,"\nde-mixing matrix\n");    fprintf(stderr,"\nContact: kraskov@its.caltech.edu\n");    exit(-1);  }  dim=atoi(argv[2]);  N=atoi(argv[3]);  K=atoi(argv[4]);  if (argc>=6) tau=atoi(argv[5]);  if (argc>=7) edim=atoi(argv[6]);  if (argc>=8) method=atoi(argv[7]);  if (argc>=9) nr=atoi(argv[8]);  if (argc>=10) ns=atoi(argv[9]);  if (argc>=11) addnoise=atof(argv[10]);  if (argc>=12) {fprintf(stderr,"Too many input arguments\n");exit(-1);}  pMax=dim-1;  rmi=(double *)calloc(nr,sizeof(double));  yy=(double **)calloc(2,sizeof(double*));  yy[0]=(double *)calloc(N,sizeof(double));  yy[1]=(double *)calloc(N,sizeof(double));  xx=(double **)calloc(edim*2,sizeof(double*));  for (ddel=0;ddel<edim;ddel++) {    xx[ddel]=(double *)calloc(N,sizeof(double));    xx[ddel+edim]=(double *)calloc(N,sizeof(double));  }    x=(double **)calloc(dim,sizeof(double*));  for (d=0;d<dim;d++) {    x[d]=(double *)calloc(N,sizeof(double));  }  Rall=(double **)calloc(dim,sizeof(double*));  R=(double **)calloc(dim,sizeof(double*));  for (d=0;d<dim;d++) {    Rall[d]=(double *)calloc(dim,sizeof(double));    R[d]=(double *)calloc(dim,sizeof(double));    for (d2=0;d2<dim;d2++) Rall[d][d2]=(d==d2);  }  Rt=(double **)calloc(2,sizeof(double*));  Rt[0]=(double *)calloc(dim,sizeof(double));  Rt[1]=(double *)calloc(dim,sizeof(double));    //reading of the data  fin=fopen(argv[1],"r");  if (fin)     for (i=0;i<N;i++) {      for (d=0;d<dim;d++) {	fscanf(fin,"%lf",&(x[d][i]));      }    }  else { fprintf(stderr,"File %s doesn't exist\n",argv[1]);exit(-1);}  fclose(fin);  // add noise  if (addnoise) {    srand((dim+edim+tau)*N*K*int(x[(dim)/2][N/10]));    if (addnoise==-1) for (d=0;d<dim;d++) for (i=0;i<N;i++) x[d][i]+=(1.0*rand()/RAND_MAX)*1e-8;    else for (d=0;d<dim;d++) for (i=0;i<N;i++) x[d][i]+=(1.0*rand()/RAND_MAX)*addnoise;  }  min=(double*)calloc(dim,sizeof(double));  max=(double*)calloc(dim,sizeof(double));  //normalization  for (d=0;d<dim;d++) {    me=s=0; for (i=0;i<N;i++) me+=x[d][i];    me/=N;  for (i=0;i<N;i++) s+=(x[d][i]-me)*(x[d][i]-me);    s/=(N-1);s=sqrt(s);     if (s==0) {;}    for (i=0;i<N;i++) {      x[d][i] = (x[d][i]-me)/s;      if (x[d][i]<min[d]) min[d]=x[d][i];       if (x[d][i]>max[d]) max[d]=x[d][i];    }    for (i=0;i<N;i++) x[d][i]=x[d][i]-min[d];  }  free(min); free(max);    psi=(double*)calloc(N+1,sizeof(double));   psi[1]=-(double).57721566490153;  for (i=1;i<N;i++) psi[i+1]=psi[i]+1/(double)i; //cubic  BOX1=N-5;  scalxx=(double*)calloc(2*edim,sizeof(double));  min=(double*)calloc(2*edim,sizeof(double));  max=(double*)calloc(2*edim,sizeof(double));  count=0;  N_=N-(edim-1)*tau;  for (p=0;p<pMax;p++) {    for (d=0;d<dim;d++) {      for (d2=0;d2<dim;d2++) {	if ( (d<d2) || ((dim>2) && (d!=d2)) ) {	  for (k=0;k<nr;k++) {	    angle=1.0*k/nr*M_PI/2;	    st_d=sin(angle);ct_d=cos(angle);	    for (i=0;i<N;i++) {	      t_d=x[d][i];t_d1=x[d2][i];	      yy[0][i]=ct_d*t_d+st_d*t_d1;	      yy[1][i]=ct_d*t_d1-st_d*t_d;	    }	    for (ddel=0;ddel<edim;ddel++) {	      memcpy(xx[ddel],yy[0]+ddel*tau,N_*sizeof(double));	      memcpy(xx[ddel+edim],yy[1]+ddel*tau,N_*sizeof(double));	    }	    	    for (d1=0;d1<2*edim;d1++) {min[d1]=DBL_MAX/2;max[d1]=-DBL_MAX/2;}	    for (d1=0;d1<2*edim;d1++) {	      for (i=0;i<N_;i++) {		if (xx[d1][i]<min[d1]) min[d1]=xx[d1][i]; 		if (xx[d1][i]>max[d1]) max[d1]=xx[d1][i];	      }	      for (i=0;i<N_;i++) xx[d1][i]=xx[d1][i]-min[d1];	    }	    	    for (d1=0;d1<2*edim;d1++) scalxx[d1]=BOX1/(max[d1]-min[d1]);       	    switch (method) {	    case 0 :  mic_xnyn(xx,edim,edim,N_,K,psi,scalxx,&(rmi[k])); break;	    case 1 :  mir_xnyn(xx,edim,edim,N_,K,psi,scalxx,&(rmi[k])); break;	    }	  }	  realft(rmi-1,nr,1);	  for (k=2+ns*2;k<nr;k++) rmi[k]=0;	  realft(rmi-1,nr,-1);	  mimin=rmi[0];angI=0;	  for (k=1;k<nr;k++) {	    if (rmi[k]<mimin) {	      mimin=rmi[k];angI=k;	    }	  }	  angle=1.0*angI/nr*M_PI/2;	  	  if ( (angI>=1) && (angI<=nr-1) ) {//minimun angle rotation are too small, and not considered	    for (d_=0;d_<dim;d_++) for (d2_=0;d2_<dim;d2_++) R[d_][d2_]=(d_==d2_);	    	    st_d=sin(angle);ct_d=cos(angle);	    	    R[d][d]=ct_d;	    R[d][d2]=st_d;	    R[d2][d]=-st_d;	    R[d2][d2]=ct_d;	    	    for (i=0;i<N;i++) {	      t_d=x[d][i];t_d1=x[d2][i];	      x[d][i]=ct_d*t_d+st_d*t_d1;	      x[d2][i]=ct_d*t_d1-st_d*t_d;	    }	    for (d_=0;d_<dim;d_++) {	      Rt[0][d_]=0;Rt[1][d_]=0;	      for (d2_=0;d2_<dim;d2_++) {		Rt[0][d_]+=R[d][d2_]*Rall[d2_][d_];		Rt[1][d_]+=R[d2][d2_]*Rall[d2_][d_];	      }	    }	    memcpy(Rall[d],Rt[0],dim*sizeof(double));	    memcpy(Rall[d2],Rt[1],dim*sizeof(double));	    count++;	  }	}      }    }         if (dim==2) break;    if (count==0) break;    count=0;  }  for (d=0;d<dim;d++) {    for (d2=0;d2<dim;d2++) {      fprintf(stdout,"%f\t",Rall[d][d2]);    }    fprintf(stdout,"\n");  }  for (d=0;d<dim;d++) {    free(x[d]);    free(Rall[d]);    free(R[d]);  }  free(Rt[0]);free(Rt[1]);  free(Rall);free(R);  free(Rt);  free(yy[0]);free(yy[1]);free(yy);  free(xx[0]);free(xx[1]);free(xx);  free(x);  free(min);free(max);  free(psi);free(scalxx);  free(rmi);}void four1(double *data, unsigned long nn, int isign)  // The length of data should be 2*nn, because data is complex array  // nn - number of complex points{  unsigned long n,mmax,m,j,istep,i;  double wtemp,wr,wpr,wpi,wi,theta;  double tempr,tempi;    n=nn << 1;  j=1;  for (i=1;i<n;i+=2) {    if (j > i) {      SWAP(data[j],data[i]);      SWAP(data[j+1],data[i+1]);    }    m=n >> 1;    while (m >= 2 && j > m) {      j -= m;      m >>= 1;    }    j += m;  }  mmax=2;  while (n > mmax) {    istep=mmax << 1;    theta=isign*(6.28318530717959/mmax);    wtemp=sin(0.5*theta);    wpr = -2.0*wtemp*wtemp;    wpi=sin(theta);    wr=1.0;    wi=0.0;    for (m=1;m<mmax;m+=2) {      for (i=m;i<=n;i+=istep) {        j=i+mmax;        tempr=wr*data[j]-wi*data[j+1];        tempi=wr*data[j+1]+wi*data[j];        data[j]=data[i]-tempr;        data[j+1]=data[i+1]-tempi;        data[i] += tempr;        data[i+1] += tempi;      }      wr=(wtemp=wr)*wpr-wi*wpi+wr;      wi=wi*wpr+wtemp*wpi+wi;    }    mmax=istep;  }}/* (C) Copr. 1986-92 Numerical Recipes Software -0)0+3$j3D.. */void realft(double *data, unsigned long n, int isign) {   //Calculates the Fourier transform of a set of n real-valued data  //points. Replaces this data (which is stored in array data[1..n]) by  //the positive frequency half of its complex Fourier transform. The  //real-valued  rst and last components of the complex transform are  //returned as elements data[1] and data[2], respectively. n must be a  //power of 2. This routine also calculates the inverse transform of a  //complex data array if it is the transform of real data. (Result in  //this case must be multiplied by 2/n.)  unsigned long i,i1,i2,i3,i4,np3;  double c1=0.5,c2,h1r,h1i,h2r,h2i;  double wr,wi,wpr,wpi,wtemp,theta;    theta=M_PI/(double)(n>>1);  if (isign == 1) {    c2 = -0.5;    four1(data,n>>1,1);  } else {    c2=0.5;    theta = -theta;  }  wtemp=sin(0.5*theta);  wpr = -2.0*wtemp*wtemp;  wpi=sin(theta);  wr=1.0+wpr;  wi=wpi;  np3=n+3;  for (i=2;i<=(n>>2);i++) {    i4=1+(i3=np3-(i2=1+(i1=i+i-1)));    h1r=c1*(data[i1]+data[i3]);    h1i=c1*(data[i2]-data[i4]);    h2r = -c2*(data[i2]+data[i4]);    h2i=c2*(data[i1]-data[i3]);    data[i1]=h1r+wr*h2r-wi*h2i;    data[i2]=h1i+wr*h2i+wi*h2r;    data[i3]=h1r-wr*h2r+wi*h2i;    data[i4] = -h1i+wr*h2i+wi*h2r;    wr=(wtemp=wr)*wpr-wi*wpi+wr;    wi=wi*wpr+wtemp*wpi+wi;  }  if (isign == 1) {    data[1] = (h1r=data[1])+data[2];    data[2] = h1r-data[2];  } else {    data[1]=c1*((h1r=data[1])+data[2]);    data[2]=c1*(h1r-data[2]);    four1(data,n>>1,-1);  }}/* (C) Copr. 1986-92 Numerical Recipes Software -0)0+3$j3D.. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性猛交xxxxxx富婆| 天天色图综合网| 51精品国自产在线| 色婷婷综合久久久中文一区二区 | 亚洲网友自拍偷拍| 久久久国产精华| 日韩无一区二区| 欧美一区二区三区日韩视频| 欧美顶级少妇做爰| 欧美日韩一区二区三区不卡| 色94色欧美sute亚洲线路二 | 欧美专区日韩专区| 国产一区二区三区美女| 午夜精品成人在线| 日韩在线a电影| 午夜欧美电影在线观看| 专区另类欧美日韩| 亚洲欧美另类久久久精品2019| 2021国产精品久久精品| 欧美tickling网站挠脚心| 精品久久五月天| 久久亚洲一级片| 国产欧美日韩麻豆91| 国产精品视频在线看| 国产精品久久久久久久第一福利 | 亚洲欧洲制服丝袜| 夜夜操天天操亚洲| 亚洲bt欧美bt精品| 久久国产精品99久久久久久老狼| 男男成人高潮片免费网站| 精品亚洲欧美一区| 成人国产精品免费网站| 成人免费视频播放| jizzjizzjizz欧美| 91国产成人在线| 91精品黄色片免费大全| 久久亚洲欧美国产精品乐播| 久久久久久久久免费| 亚洲国产高清aⅴ视频| 亚洲精品一卡二卡| 无码av免费一区二区三区试看 | 亚洲一区二区免费视频| 亚洲va天堂va国产va久| 亚洲一区二区三区四区五区黄 | 在线观看网站黄不卡| 日韩欧美自拍偷拍| 欧美国产乱子伦| 亚洲一区二区三区自拍| 国产麻豆视频一区二区| 99re亚洲国产精品| 日韩午夜av一区| 亚洲色图色小说| 久久99国产乱子伦精品免费| 福利一区二区在线观看| 欧美日韩一卡二卡三卡 | 国产精品一区二区三区四区| 色噜噜夜夜夜综合网| 欧美第一区第二区| 最新热久久免费视频| 美国欧美日韩国产在线播放| 91欧美一区二区| 精品国产三级电影在线观看| 亚洲日本青草视频在线怡红院| 蜜臀av一级做a爰片久久| 日本高清成人免费播放| 久久久久久久网| 日本不卡视频在线观看| 在线观看国产精品网站| 久久久国产精品午夜一区ai换脸| 亚洲影院在线观看| www.欧美色图| 国产午夜一区二区三区| 男人的天堂亚洲一区| 欧美日本精品一区二区三区| 亚洲天堂中文字幕| 粉嫩aⅴ一区二区三区四区| 精品国产91乱码一区二区三区| 中文文精品字幕一区二区| 免费成人深夜小野草| 日本va欧美va瓶| 91视视频在线观看入口直接观看www| 日韩欧美国产一区二区三区 | 日韩一级片在线观看| 亚洲一区二区三区四区的| 99re亚洲国产精品| 中文字幕在线免费不卡| 国产成人精品综合在线观看| 日韩一区二区免费高清| 亚洲国产欧美日韩另类综合 | 国产经典欧美精品| 26uuu国产在线精品一区二区| 日韩精品视频网| 在线电影欧美成精品| 免费在线观看一区二区三区| 91精品婷婷国产综合久久性色 | 成人久久18免费网站麻豆| 久久久久久一二三区| 狠狠色2019综合网| 国产日韩欧美在线一区| 成人精品国产福利| 亚洲丝袜另类动漫二区| 色综合天天天天做夜夜夜夜做| 一区在线观看视频| 欧美在线观看视频在线| 视频一区欧美精品| 欧美一级黄色大片| 国产九色sp调教91| 美日韩黄色大片| 91麻豆精品国产91久久久久久久久 | 中文字幕在线不卡国产视频| 成人免费观看av| 一区二区在线观看视频在线观看| 色就色 综合激情| 奇米精品一区二区三区在线观看 | 成人黄色片在线观看| 亚洲猫色日本管| 欧美日韩免费视频| 六月丁香综合在线视频| 日韩欧美一二三四区| 激情文学综合丁香| 久久久久高清精品| av电影天堂一区二区在线| 国产精品水嫩水嫩| 欧美日韩精品福利| 国产盗摄视频一区二区三区| 国产精品免费人成网站| 97久久久精品综合88久久| 亚洲国产日韩精品| 久久久91精品国产一区二区精品 | 一区二区三区精品视频| 6080日韩午夜伦伦午夜伦| 国产福利91精品一区二区三区| 一区二区三区四区在线免费观看 | 国产一区二区调教| 日韩福利电影在线观看| 亚洲福利电影网| 一区二区视频在线| 欧美激情综合在线| 欧美一区二区三区日韩视频| 一本一道久久a久久精品| 国产精品一区不卡| 日韩高清欧美激情| 一区二区三区在线观看网站| 国产视频一区二区在线| 欧美丰满嫩嫩电影| 91在线高清观看| 福利一区在线观看| 国产又黄又大久久| 免费在线欧美视频| 国模大尺度一区二区三区| 午夜国产精品一区| 一区二区三区波多野结衣在线观看 | 天堂影院一区二区| 一区二区三区中文在线观看| 中文字幕乱码日本亚洲一区二区| 日韩精品在线一区| 欧美一区二区在线不卡| 欧美性生活影院| 在线这里只有精品| 色94色欧美sute亚洲线路一ni | 国产欧美视频在线观看| 精品久久五月天| 欧美成va人片在线观看| 日韩一区二区麻豆国产| 91精品国产一区二区三区| 欧美精品三级在线观看| 国产xxx精品视频大全| 人人超碰91尤物精品国产| 亚洲精品国产精华液| 国产精品蜜臀av| 国产精品视频一二三| 国产精品美女久久久久av爽李琼| 欧美成人video| 欧美一区二区成人| 国产色一区二区| 国产校园另类小说区| 亚洲美女一区二区三区| 奇米精品一区二区三区在线观看| 国产激情一区二区三区桃花岛亚洲| 成人动漫视频在线| 欧美日韩一区中文字幕| 久久久久久久久久久久久夜| 综合婷婷亚洲小说| 麻豆成人91精品二区三区| 99精品热视频| 欧美一级欧美三级在线观看| 欧美国产日韩在线观看| 天天操天天干天天综合网| 国产黄人亚洲片| 欧美精三区欧美精三区| 欧美国产精品久久| 日本欧美肥老太交大片| 丰满少妇在线播放bd日韩电影| 欧美视频你懂的| 亚洲国产高清aⅴ视频| 男男成人高潮片免费网站| 色综合久久天天| 国产欧美一区二区精品性色| 日韩不卡一区二区| 在线观看一区二区精品视频|