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

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

?? miclustering.c

?? 一種新的ica算法
?? C
字號:
//####################################################################//Mutual Information Clustering, rectangular version //####################################################################//2 May 2004//Contact: kraskov@its.caltech.edu//####################################################################//uses mi2r, mir_xnyn, redr#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <float.h>#include "miutils.h"#define MIM 0void maxx(double **mi, char *is, int dim, int *im, int *jm, double *mm);int main(int argc, char **argv) {  FILE *fin;  int i,d,d2,im,jm,d1;  int dx,dy,dmxy;  int N;  int dim;  int K=10;  double mm;  char *is;  int **noden;  double **mis; // mi/(dx+dy) matrix  double *clmis; // mi((X),(Y))/(dx+dy) of the combination  double **mi; // mi matrix  double *clmi; // mi((X),(Y)) of the combination  int *cls[2];    double **x;  double **xx;  double *psi,*min,*max,*scal,*scalxx;  double t_d;  double *red; //redundancy  //read arguments  double s,me;  double addnoise=-1;  int pdm=0;    if (argc<5) {//first three arguments are necessary    fprintf(stderr,"\nHierarchical Clustering Based on Mutual Infomation (MI)\n\n");    fprintf(stderr,"Usage:\n%s <filename> <dim> <# points> <# neighbours> [addnoise] [P_MI]\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 (number of characteristic vectors)\n");    fprintf(stderr,"\t<# points>\tnumber of rows (length of characteristic vectors)\n");    fprintf(stderr,"\t<# neighbours>\tnumber of the nearest neighbours for MI estimator\n");    fprintf(stderr,"\t[addnoise]\tnoise amplitude; default 1e-8\n");    fprintf(stderr,"\t[P_MI]\t\tprint_pairwise_MI; default do not print; to print say 1\n");    fprintf(stderr,"\nOutput: (suitable for Matlab function dendrogram.m, just use [1 2 5])\n");    fprintf(stderr,"\nnodeX nodeY MI(X,Y)/(dx+dy) MI(X,Y) RED(X,Y)\n");    fprintf(stderr,"\tMI(X,Y)/(dx+dy)\tinter-cluster similarity measure for clusters\n\t\t\t\tnodeX and nodeY (used for topology)\n");    fprintf(stderr,"\tMI(X,Y)\t\tmutual information between nodeX and nodeY\n");    fprintf(stderr,"\tRED(X,Y)\tmutual information of the cluster (nodeXnodeY)\n\t\t\t\t(used for plotting a dendrogram)\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) addnoise=atof(argv[5]);  if (argc>=7) pdm=atoi(argv[6]);  if (argc>=8) {fprintf(stderr,"Too many input arguments\n");exit(-1);}  x=(double **)calloc(dim,sizeof(double*));  xx=(double **)calloc(dim,sizeof(double*));  for (d=0;d<dim;d++) {    x[d]=(double *)calloc(N,sizeof(double));    xx[d]=(double *)calloc(N,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*N*K*int(x[dim/2][N/10])); //just random number    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));  for (d=0;d<dim;d++) {min[d]=DBL_MAX/2;max[d]=-DBL_MAX/2;}  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  scal=(double*)calloc(dim,sizeof(double));  scalxx=(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];  }  is=(char *)calloc(2*dim-1,sizeof(char));  noden=(int **)calloc(2*dim-1,sizeof(int *));  mi=(double **)calloc(2*dim-1,sizeof(double *));  mis=(double **)calloc(2*dim-1,sizeof(double *));  for (d=0;d<2*dim-1;d++) {    mi[d]=(double*)calloc(2*dim-1,sizeof(double));    mis[d]=(double*)calloc(2*dim-1,sizeof(double));    noden[d]=(int *)calloc(dim+1,sizeof(int));  }  cls[0]=(int*)calloc(dim-1,sizeof(int));  cls[1]=(int*)calloc(dim-1,sizeof(int));  clmi=(double*)calloc(dim-1,sizeof(double));  clmis=(double*)calloc(dim-1,sizeof(double));  red=(double*)calloc(dim-1,sizeof(double));  for (d=0;d<dim-1;d++) {    red[d]=clmi[d]=clmis[d]==0.0;    cls[0][d]=cls[1][d]=0;  }  for (d=0;d<2*dim-1;d++) {    for (d2=0;d2<2*dim-1;d2++) {      mi[d][d2]=MIM;      mis[d][d2]=MIM;    }  }    for (d=0;d<dim;d++) {    for (d2=d+1;d2<dim;d2++) {      memcpy(xx[0],x[d],N*sizeof(double));      memcpy(xx[1],x[d2],N*sizeof(double));      scalxx[0]=scal[d];      scalxx[1]=scal[d2];      mi2r(xx,N,K,psi,scalxx,&(t_d));      if (t_d<0) mi[d][d2]=MIM;      else mi[d][d2]=t_d;      mi[d2][d]=mi[d][d2];      mis[d][d2]=mi[d][d2]/2;      mis[d2][d]=mis[d][d2];    }  }  if (pdm) {    fprintf(stderr,"%d\n",dim);    for (dx=0;dx<dim;dx++) {      if (dx+1>=100) fprintf(stderr,"f%d",dx+1);      else if (dx+1>=10) fprintf(stderr,"f0%d",dx+1);      else fprintf(stderr,"f00%d",dx+1);            for (dy=0;dy<dx;dy++) {	fprintf(stderr,"\t%1.3f",mi[dy][dx]*(mi[dy][dx]>0));      }      fprintf(stderr,"\t0;\n");    }  }  for (d=0;d<dim;d++) {    is[d]=1;    noden[d][0]=d;    for (d2=1;d2<=dim;d2++) noden[d][d2]=-1;  }  for (d=dim;d<2*dim-1;d++) {    is[d]=0;    for (d2=0;d2<=dim;d2++) noden[d][d2]=-1;  }      for (d2=dim;d2<2*dim-1;d2++) {    //find max over is==1    maxx(mis,is,d2,&im,&jm,&mm); clmis[d2-dim]=mm;    is[im]=is[jm]=0;    is[d2]=1;    cls[0][d2-dim]=im;cls[1][d2-dim]=jm;    clmi[d2-dim]=mi[im][jm]; //save not divided mi    for (d=0;d<=d2;d++) {	mi[d][d2]=MIM;mi[d2][d]=MIM;	mis[d][d2]=MIM;mis[d2][d]=MIM;    }    dx=0;    while (noden[im][dx]!=-1) {noden[d2][dx]=noden[im][dx];dx++;}    dy=0;    while (noden[jm][dy]!=-1) {noden[d2][dx+dy]=noden[jm][dy];dy++;}    dmxy = (dx>dy) ? dx : dy ;        if ( (im<dim) && (jm<dim) ) red[d2-dim]=mi[im][jm];     else {      for (d=0;d<dx+dy;d++) {	memcpy(xx[d],x[noden[d2][d]],N*sizeof(double));	scalxx[d]=scal[noden[d2][d]];      }            redr(xx,dx+dy,N,K,psi,scalxx,&t_d);      red[d2-dim]=t_d;    }        dx+=dy; //size of new node    for (d=0;d<d2;d++) {      if (is[d]) {	dy=0;	while (noden[d][dy]!=-1) dy++;	for (d1=0;d1<dx;d1++) {	  memcpy(xx[d1],x[noden[d2][d1]],N*sizeof(double));	  scalxx[d1]=scal[noden[d2][d1]];	}	for (d1=0;d1<dy;d1++) {	  memcpy(xx[d1+dx],x[noden[d][d1]],N*sizeof(double));	  scalxx[d1+dx]=scal[noden[d][d1]];	}		mir_xnyn(xx,dx,dy,N,K,psi,scalxx,&(t_d)); 		if (t_d<0) mi[d][d2]=MIM+1e-7;	else mi[d][d2]=t_d;	dmxy = (dx>dy) ? dx : dy;	mis[d][d2]=mi[d][d2]/(dx+dy);      }    }  }  for (d=0;d<dim-1;d++) {    fprintf(stdout,"%d\t%d\t%f\t%f\t%f\n",	    cls[0][d]+1,cls[1][d]+1,clmis[d],clmi[d],red[d]);  }  for (d=0;d<dim;d++) {    free(x[d]);free(xx[d]);  }  free(x);free(xx);  free(min);free(max);  free(psi);free(scal);free(scalxx);  free(is);  for (d=0;d<2*dim-1;d++) {    free(noden[d]);free(mi[d]);free(mis[d]);  }  free(noden);free(mi);free(mis);    free(cls[0]);free(cls[1]);  free(clmi);free(clmis);  free(red);}void maxx(double **mi, char *is, int dim, int *im, int *jm, double *mm) {  int d,dd;  *mm=MIM;  for (d=0;d<dim;d++) for (dd=d+1;dd<dim;dd++)     if (is[d]*is[dd]) if (mi[d][dd]>*mm) { *im=d;*jm=dd;*mm=mi[*im][*jm]; }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆免费观看| 久久精品国产一区二区| 99视频在线观看一区三区| 国产欧美日韩视频在线观看| 国产精品一二三四| 亚洲人成影院在线观看| 在线观看一区不卡| 亚洲va在线va天堂| 精品成人一区二区三区| caoporm超碰国产精品| 亚洲免费色视频| 欧美伦理电影网| 美女网站一区二区| 久久久久久久久久看片| 91浏览器在线视频| 日本免费在线视频不卡一不卡二| 欧美大片一区二区三区| 成人做爰69片免费看网站| 亚洲乱码国产乱码精品精的特点| 91麻豆精品国产综合久久久久久| 国产一区二区美女| 一区二区视频在线看| 欧美一区二区三区在| 成人成人成人在线视频| 亚洲国产精品影院| 久久天天做天天爱综合色| 91最新地址在线播放| 日韩国产在线观看| 国产精品高潮久久久久无| 欧美日韩精品二区第二页| 国产精品99久久不卡二区| 亚洲你懂的在线视频| 精品国产三级电影在线观看| 91丨porny丨国产| 久久av中文字幕片| 亚洲一区二区偷拍精品| 久久久精品黄色| 欧美日韩mp4| 99riav久久精品riav| 久久精品国产亚洲aⅴ| 亚洲综合在线五月| 国产欧美一区二区精品性色| 欧美蜜桃一区二区三区| 99久久精品国产毛片| 精品一区二区三区日韩| 夜夜操天天操亚洲| 亚洲国产精品成人综合| 日韩精品一区在线观看| 欧美少妇xxx| av电影在线观看一区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲不卡一区二区三区| 亚洲人成小说网站色在线| 国产丝袜在线精品| 日韩免费观看高清完整版在线观看| 91福利国产精品| av福利精品导航| 岛国一区二区三区| 国产精品一区一区三区| 久久99精品一区二区三区三区| 亚洲国产一区二区在线播放| 国产免费久久精品| 成人一区二区三区在线观看| 午夜免费久久看| 亚洲视频 欧洲视频| 国产欧美一区二区三区鸳鸯浴| 欧美不卡一区二区三区四区| 欧美一级片在线看| 欧美日韩中文字幕一区二区| 97久久久精品综合88久久| www.欧美.com| 成人精品视频一区| 丁香桃色午夜亚洲一区二区三区| 国产真实乱子伦精品视频| 极品尤物av久久免费看| 久久99精品久久久久久国产越南| 日本免费在线视频不卡一不卡二 | 成人av网站免费观看| 国产一区二区三区观看| 国产露脸91国语对白| 国产一区二区调教| 国产一区 二区 三区一级| 国产呦萝稀缺另类资源| 精品亚洲porn| 国产精品88av| va亚洲va日韩不卡在线观看| 99riav一区二区三区| 91国偷自产一区二区开放时间 | 欧美mv和日韩mv的网站| 精品精品国产高清一毛片一天堂| 亚洲精品一区二区三区四区高清| 欧美xfplay| 国产三区在线成人av| 成人欧美一区二区三区1314| 亚洲人精品午夜| 日日夜夜精品免费视频| 久久 天天综合| 国产91精品露脸国语对白| 成人av综合在线| 在线视频国内一区二区| 91精品国产免费久久综合| 欧美大黄免费观看| 国产精品午夜在线观看| 亚洲综合色视频| 日韩二区在线观看| 九一久久久久久| 97精品久久久午夜一区二区三区| 91黄色免费网站| 日韩精品一区二区三区三区免费| 国产欧美日韩另类一区| 亚洲精品国产第一综合99久久 | 欧美性色aⅴ视频一区日韩精品| 欧美日韩一本到| 久久精品一二三| 亚洲精品免费在线观看| 日本不卡123| 99国产麻豆精品| 欧美岛国在线观看| 亚洲精品国产a| 国内欧美视频一区二区| 一本到高清视频免费精品| 91精品国产入口在线| 一区精品在线播放| 久久精品国产精品亚洲精品| 91在线视频18| 日韩欧美电影一区| 亚洲免费在线播放| 国产麻豆精品久久一二三| 欧美日韩国产综合一区二区三区 | av在线免费不卡| 91精品国产美女浴室洗澡无遮挡| 欧美高清在线一区| 男人的天堂亚洲一区| 色婷婷亚洲婷婷| 国产视频一区不卡| 图片区小说区区亚洲影院| 99久久精品免费看国产免费软件| 欧美变态口味重另类| 性做久久久久久久久| 91在线观看高清| 久久嫩草精品久久久精品| 亚洲电影在线播放| 91视频国产观看| 久久精品一二三| 麻豆极品一区二区三区| 欧美老肥妇做.爰bbww视频| 亚洲欧洲综合另类| 成人久久18免费网站麻豆| 精品裸体舞一区二区三区| 亚洲成人免费av| 色天使久久综合网天天| 国产免费久久精品| 国产成人免费视频精品含羞草妖精| 91精品福利在线一区二区三区 | 成人不卡免费av| 国产亚洲欧洲997久久综合| 麻豆专区一区二区三区四区五区| 欧美日韩国产系列| 一区二区三区中文字幕精品精品 | 日本女人一区二区三区| 欧美在线制服丝袜| 亚洲美女视频在线观看| 91亚洲精品一区二区乱码| 国产精品久久久久四虎| 成人性生交大片免费| 国产精品国产自产拍高清av | 91麻豆文化传媒在线观看| 日本一区二区不卡视频| 丰满岳乱妇一区二区三区| 国产亚洲精品bt天堂精选| 国产剧情一区二区三区| 精品剧情在线观看| 国产最新精品精品你懂的| 精品国产乱码久久久久久老虎| 老司机精品视频导航| 日韩免费观看高清完整版在线观看| 蜜臀久久99精品久久久久久9 | 日韩影视精彩在线| 欧美男生操女生| 麻豆精品视频在线观看免费| 26uuu精品一区二区在线观看| 国产美女在线观看一区| 久久精品人人做| 97久久精品人人做人人爽50路| 亚洲精品国产无天堂网2021| 欧美日韩电影在线| 久久成人免费网站| 日本一区免费视频| 97精品视频在线观看自产线路二| 一区二区三区.www| 欧美一区二区三区婷婷月色| 麻豆精品一区二区综合av| 久久亚洲欧美国产精品乐播| 国产精品亚洲第一区在线暖暖韩国 | 亚洲色图.com| 3atv一区二区三区| 国产精品1区2区| 一区二区三区国产精品| 日韩一区二区三区视频在线| 欧美日韩亚洲综合一区二区三区 |