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

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

?? cluster.cc

?? 模糊聚類分析的源程序!
?? CC
?? 第 1 頁 / 共 4 頁
字號:
  }  /* Jetzt noch in die Form eintragen */  for (ClusterNr = 0; ClusterNr < Cluster.Lese_Groesse (); ClusterNr++) {    for (Dim = 0; Dim < Daten.Lese_Dim (); Dim++) {      Laengen[ClusterNr][Dim] = sqrt (Achsen[ClusterNr][Dim] * Faktor[ClusterNr]);    }  }};void GK_Clustering::Berechne_Form (DVektorArray & Daten,			      DVektorArray & Cluster){  DVektor VBuffer (Daten.Lese_Dim (), 0, NULL);  int ClusterNr, DatenNr;  Covar.Setze_Dim (Daten.Lese_Dim (), Daten.Lese_Dim ());  Covar.Setze_Groesse (Cluster.Lese_Groesse ());/************ jetzt geht es aber wirklich los *************/  for (ClusterNr = 0; ClusterNr < Cluster.Lese_Groesse (); ClusterNr++) {    /* Das werden die Kovarianzmatrizen fuer den Cluster */    Covar[ClusterNr].NullMatrix ();    for (DatenNr = 0; DatenNr < Daten.Lese_Groesse (); DatenNr++) {      if (Zuordnung[DatenNr] == ClusterNr) {	VBuffer = Daten[DatenNr] - Cluster[ClusterNr];	Covar[ClusterNr] += VBuffer.Produkt (VBuffer);      }    }  }};void GK_Clustering::Speichere_Buffer (){  ClusterBuffer = Cluster;  UBuffer = Zugehoerigkeit;  ABuffer = AMatrizen;  rho_Buffer = rho;};void GK_Clustering::Uebernehme_Buffer (){  Zugehoerigkeit = UBuffer;  Cluster = ClusterBuffer;  AMatrizen = ABuffer;  rho = rho_Buffer;};void GK_Clustering::Tausche_Buffer (){  Zugehoerigkeit.Tausche (UBuffer);  Cluster.Tausche (ClusterBuffer);  AMatrizen.Tausche (ABuffer);  rho.Tausche (rho_Buffer);};void GK_Clustering::Loesche_Buffer (){  ClusterBuffer. ~ DVektorArray ();  UBuffer. ~ DMatrix ();  ABuffer. ~ DMatrixArray ();  rho_Buffer. ~ DVektor ();};/**********************************************************//**********************************************************/GK_parallel_Clustering::GK_parallel_Clustering (Guete_Typ Guete, int Soll_Iterationen,			char Possib){  Possibilistisch = Possib;  sprintf (Name, "%s", "GK_parallel");};Cluster_Typ GK_parallel_Clustering::Lese_Typ (){  return (GK_parallel);};void GK_parallel_Clustering::Berechne_Ai (DVektorArray & Daten, DMatrix & U,				     DVektorArray & Cluster){  int i, k, v;  double Summe1, Summe2;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {	/* fuer alle Cluster */    /* Zunaechst die Summen berechnen */    Summe2 = 1.0;    for (v = 0; v < Daten.Lese_Dim (); v++) {      Summe1 = 0.0;      for (k = 0; k < Daten.Lese_Groesse (); k++) {	Summe1 += pow (U.Lese_i_j (i, k), M) *	  (Daten[k][v] - Cluster[i][v]) *	  (Daten[k][v] - Cluster[i][v]);      }      if (Summe1 == 0) {	Fehlermeldung ("GK_parallel_Clustering::Berechne_Ai(...)", INVERTIERFEHLER);	i = Cluster.Lese_Groesse ();	break;      }      AMatrizen[i].Setze_i_j (v, v, 1.0 / (double) Summe1);      Summe2 *= Summe1;    }				/* for(v=0 ; v < Daten.Lese_Dim() ; v++) */    if (Lese_Fehlerstatus () == KEINFEHLER) {      for (v = 0; v < Daten.Lese_Dim (); v++)	AMatrizen[i].Setze_i_j (v, v,		   pow (rho[i] * Summe2, 1.0 / ((double) Daten.Lese_Dim ())) *				AMatrizen[i].Lese_i_j (v, v));    }  }				/* for(i=0 ; i < U.Lese_Dim_m() ; i++) */};void GK_parallel_Clustering::Berechne_Form (DVektorArray & Daten,				       DVektorArray & Cluster){  parallel_Form_Berechnen (Daten, Cluster);};/**********************************************************//**********************************************************/GG_Clustering::GG_Clustering (Guete_Typ Guete, int Soll_Iterationen,	       char Possib){  sprintf (Name, "%s", "GG");};Cluster_Typ GG_Clustering::Lese_Typ (){  return (GG);};void GG_Clustering::Mein_Speichern (FILE * File){  rho.Speichern (File);  AMatrizen.Speichern (File);  Faktor.Speichern (File);  p.Speichern (File);  if (Art == OPTIMAL) {    ABuffer.Speichern (File);    Faktor_Buffer.Speichern (File);    p_Buffer.Speichern (File);  }};int GG_Clustering::Mein_Laden (FILE * File){  if ((!rho.Laden (File)) ||      (!AMatrizen.Laden (File)) ||      (!Faktor.Laden (File)) ||      (!p.Laden (File)))    return (0);  if (Art == OPTIMAL) {    if ((!ABuffer.Laden (File)) ||	(!Faktor_Buffer.Laden (File)) ||	(!p_Buffer.Laden (File)))      return (0);  }  return (1);};DVektorArray GG_Clustering::Mein_Clustern (DVektorArray & Daten,			      DVektorArray & Vorgabe_Protos)return Result (Daten.Lese_Dim (), Vorgabe_Protos.Lese_Groesse (), NULL);{  int i, l;  DMatrix U[2];  if (Zugehoerigkeit.Lese_Dim_m () != Vorgabe_Protos.Lese_Groesse ()) {    p.Setze_Dim (Vorgabe_Protos.Lese_Groesse ());    p = 1.0 / (double) p.Lese_Dim ();    Faktor.Setze_Dim (Cluster.Lese_Groesse ());    Faktor = 1.0 / p[0];    AMatrizen.Setze_Dim (Daten.Lese_Dim (), Daten.Lese_Dim ());    AMatrizen.Setze_Groesse (Vorgabe_Protos.Lese_Groesse ());    for (i = 0; i < Vorgabe_Protos.Lese_Groesse (); i++)      AMatrizen[i].Einheitsmatrix ();    U[0].Setze_Dim (Vorgabe_Protos.Lese_Groesse (),		    Daten.Lese_Groesse ());    Berechne_U (Daten, Vorgabe_Protos, U[0]);  } else    U[0] = Zugehoerigkeit;  U[1].Setze_Dim (Vorgabe_Protos.Lese_Groesse (),		  Daten.Lese_Groesse ());/********************/  /* Schleifen-Anfang *//********************/  l = 0;  while ((ClusterFertig != TRUE) && (Iterationen < Max_Iterationen)) {    Iterationen++;/***********************/    /* I. v_i's berechnen *//***********************/    Result = Berechne_v (U[l], Daten);/***************************/    /* II. A[] etc. bestimmen *//***************************/    Berechne_Ai (Daten, U[l], Result);    if (Lese_Fehlerstatus () != KEINFEHLER) {      ClusterFertig = TRUE;      Reset_Fehlerstatus ();      Result. ~ DVektorArray ();      return (Result);    }/********************/    /* III. p bestimmen *//********************/    Berechne_p (U[l]);/***********************/    /* IV. U_neu bestimmen *//***********************/    Berechne_Faktor ();    l = (l + 1) % 2;    Berechne_U (Daten, Result, U[l]);    if (Lese_Fehlerstatus () != KEINFEHLER) {      ClusterFertig = TRUE;      Reset_Fehlerstatus ();      Result. ~ DVektorArray ();      return (Result);    }/*************************/    /*  V. ||U[l-1]-U[l]||   *//*************************/    if (Die_Norm.d (U[0], U[1]) <= Delta_U)      ClusterFertig = TRUE;  };  Zugehoerigkeit = U[l];};void GG_Clustering::Berechne_Ai (DVektorArray & Daten, DMatrix & U,			    DVektorArray & Cluster){  int i;  Berechne_Covarianz (Daten, U, AMatrizen, Cluster);  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    AMatrizen[i] = AMatrizen[i].Gauss_Inverse ();    if (Lese_Fehlerstatus () != KEINFEHLER)      break;  };};void GG_Clustering::Berechne_Faktor (){  int i;  for (i = 0; i < AMatrizen.Lese_Groesse (); i++)    Faktor[i] = p[i] / sqrt (AMatrizen[i].Determinante ());};int GG_Clustering::Berechne_Dist (DVektor & Dist, DVektor & Datum,			      DVektorArray & Cluster){  int Result = 0, i;  double Summe;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    Summe = Die_A_Norm.d_quadr (AMatrizen[i], Datum, Cluster[i]);    if (Summe < 1300) {      Dist[i] = exp (.5 * Summe) * Faktor[i];      if (Dist[i] == 0)	Result++;    } else      Dist[i] = MAXDOUBLE;  }  return (Result);};void GG_Clustering::Berechne_possib_U (DVektorArray & Daten,				  DVektorArray & Cluster, DMatrix & U){  int i, j;  double Buffer;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {	/* alle Cluster */    for (j = 0; j < Daten.Lese_Groesse (); j++) {      Buffer = Die_A_Norm.d_quadr (AMatrizen[i], Daten[j], Cluster[i]);      if (Buffer < 1400) {	Buffer = exp (.5 * Buffer) * Faktor[i];	U[i][j] = 1.0 / (1.0 + pow (Buffer / eta[i],					1.0 / (M - 1.0)));      } else	U[i][j] = 0;    }  }};void GG_Clustering::Mache_Possibilistisch (DVektorArray & Daten,				      DVektorArray & Cluster){  int l;  DMatrix U[2];  char Test = FALSE;  U[0] = Zugehoerigkeit;  U[1].DMatrix (U[0].Lese_Dim_m (), U[0].Lese_Dim_n (), NULL);  l = 0;  Berechne_p (U[l]);  if (eta.Lese_Dim () == 0) {	/* Am Anfang */    p.Setze_Dim (Cluster.Lese_Groesse ());    Berechne_Ai (Daten, U[l], Cluster);    Berechne_Faktor ();    eta = Berechne_eta (Daten, Cluster, U[l]);  }  if (Possib_Zaehler <= 2) {    while ((Test == FALSE) && (Iterationen < Max_Iterationen)) {      Iterationen++;      /*    v_i's berechnen    */      Cluster = Berechne_v (U[l], Daten);      l = (l + 1) % 2;/*************************/      /*    U_neu berechnen    *//*************************/      Berechne_possib_U (Daten, Cluster, U[l]);      if (Die_Norm.d (U[0], U[1]) < Delta_U) {	Test = TRUE;	Possib_Zaehler++;	if (Possib_Zaehler <= 2) {	  Berechne_p (U[l]);	  Berechne_Ai (Daten, U[l], Cluster);	  Berechne_Faktor ();	  eta = Berechne_eta (Daten, Cluster, U[l]);	} else {	  Fertig = TRUE;	}      }    };  }				/* if(Possib_Zaehler <= 2) */  Zugehoerigkeit = U[l];};DVektor GG_Clustering::Berechne_eta (DVektorArray & Daten,			     DVektorArray & Cluster, DMatrix & U)return Result (Cluster.Lese_Groesse (), 0, NULL);{  int i, k;  double Potenz, Ni, Buffer, Test;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    Buffer = 0;    Ni = 0;    for (k = 0; k < Daten.Lese_Groesse (); k++) {      Test = Die_A_Norm.d_quadr (AMatrizen[i], Daten[k], Cluster[i]);      if (Test < 1400) {	Test = exp (.5 * Test) * Faktor[i];      } else	Test = MAXDOUBLE;      Potenz = pow (U[i][k], M);      Buffer += Potenz * Test;      Ni += Potenz;    }    Result[i] = (K / Ni) * Buffer;  }}void GG_Clustering::Berechne_p (DMatrix & U){  double Teiler = 0.0, Buffer;  int i, k;  for (i = 0; i < U.Lese_Dim_m (); i++) {    p[i] = 0;    for (k = 0; k < U.Lese_Dim_n (); k++) {      Buffer = pow (U[i][k], M);      p[i] += Buffer;      Teiler += Buffer;    }  }  for (i = 0; i < U.Lese_Dim_m (); i++)    p[i] /= Teiler;};/**********************************************************/GG_parallel_Clustering::GG_parallel_Clustering (Guete_Typ Guete, int Soll_Iterationen,			char Possib){  sprintf (Name, "%s", "GG_parallel");};Cluster_Typ GG_parallel_Clustering::Lese_Typ (){  return (GG_parallel);};void GG_parallel_Clustering::Berechne_Ai (DVektorArray & Daten, DMatrix & U,				     DVektorArray & Cluster){/******* Maximum-Likelihood-Schaetzer *********/  int i, k, v;  double Summe;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {	/* fuer alle Cluster */    /* Zunaechst die Summen berechnen */    for (v = 0; v < Daten.Lese_Dim (); v++) {      Summe = 0;      for (k = 0; k < Daten.Lese_Groesse (); k++) {	Summe += pow (U[i][k], M) *	  (Daten[k][v] - Cluster[i][v]) *	  (Daten[k][v] - Cluster[i][v]);      }      AMatrizen[i][v][v] = Summe;    }				/* for(v=0 ; v < Daten.Lese_Dim() ; v++) */    Summe = 0;    for (k = 0; k < Daten.Lese_Groesse (); k++) {      Summe += pow (U[i][k], M);    }    for (v = 0; v < Daten.Lese_Dim (); v++) {      if (AMatrizen[i][v][v] == 0) {	Fehlermeldung ("GG_parallel_Clustering::Berechne_Ai(...)", INVERTIERFEHLER);	i = Cluster.Lese_Groesse ();	break;      } else {			/* Zuviele Cluster gesucht */	AMatrizen[i][v][v] = Summe / AMatrizen[i][v][v];      }    }  }				/* for(i=0 ; i < U.Lese_Dim_m() ; i++) */}void GG_parallel_Clustering::Berechne_Faktor (){  int i, j;  for (i = 0; i < AMatrizen.Lese_Groesse (); i++) {    Faktor[i] = 1;    for (j = 0; j < AMatrizen.Lese_Dim_m (); j++) {      Faktor[i] = Faktor[i] * AMatrizen[i][j][j];    }    Faktor[i] = 1.0 / (p[i] * Faktor[i]);  }};void GG_parallel_Clustering::Berechne_Form (DVektorArray & Daten,				       DVektorArray & Cluster){  parallel_Form_Berechnen (Daten, Cluster);};void GG_Clustering::Speichere_Buffer (){  ClusterBuffer = Cluster;  UBuffer = Zugehoerigkeit;  ABuffer = AMatrizen;  p_Buffer = p;  Faktor_Buffer = Faktor;};void GG_Clustering::Uebernehme_Buffer (){  Zugehoerigkeit = UBuffer;  Cluster = ClusterBuffer;  AMatrizen = ABuffer;  p = p_Buffer;  Faktor = Faktor_Buffer;};void GG_Clustering::Tausche_Buffer (){  Zugehoerigkeit.Tausche (UBuffer);  Cluster.Tausche (ClusterBuffer);  AMatrizen.Tausche (ABuffer);  p.Tausche (p_Buffer);  Faktor.Tausche (Faktor_Buffer);};void GG_Clustering::Loesche_Buffer (){  ClusterBuffer. ~ DVektorArray ();  UBuffer. ~ DMatrix ();  ABuffer. ~ DMatrixArray ();  p_Buffer. ~ DVektor ();  Faktor_Buffer. ~ DVektor ();};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一二三| 欧美久久一二三四区| 久久精品久久久精品美女| 成人一区二区视频| 国产成人av福利| 国产在线麻豆精品观看| 一区二区三区在线视频免费| 日韩一区二区免费高清| 欧美日韩高清一区| 欧美探花视频资源| 精品中文字幕一区二区| 亚洲国产视频a| 日本一区二区成人| 国产三级一区二区三区| 亚洲色图19p| 亚洲免费观看在线视频| 国产香蕉久久精品综合网| 国产精品少妇自拍| 欧美激情一区二区在线| 一区二区三区**美女毛片| 日本成人中文字幕| 成人激情文学综合网| 欧日韩精品视频| 欧美成人精品高清在线播放| 日本一区二区三区四区在线视频| 亚洲欧洲另类国产综合| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品一区二区久久精品爱涩 | 中文字幕在线视频一区| 天堂一区二区在线| 成人精品小蝌蚪| 欧美一区二区视频免费观看| 亚洲精品一区二区三区四区高清 | 美女视频黄免费的久久| 狠狠色丁香婷综合久久| 欧美日韩一级片网站| 日韩精品一区二区三区蜜臀| 午夜精品久久久久久久久久| 97国产精品videossex| 精品播放一区二区| 久久超级碰视频| 日韩亚洲欧美高清| 图片区小说区国产精品视频| 日本精品一级二级| 国产亚洲成av人在线观看导航| 久久国产精品一区二区| 欧美xxxxxxxxx| 激情文学综合网| 久久精品一区二区三区四区| 久久激情综合网| 久久女同精品一区二区| 国产真实乱子伦精品视频| 久久久久国产精品免费免费搜索| 久久精品免费观看| 久久网这里都是精品| 高清国产一区二区三区| 国产精品网站在线播放| 不卡一卡二卡三乱码免费网站| 中文字幕中文字幕在线一区 | 日韩一区二区三区电影| 久久爱另类一区二区小说| 国产婷婷色一区二区三区在线| 精品午夜久久福利影院| 国产精品久久毛片a| 在线看国产一区| 蓝色福利精品导航| 中文字幕高清不卡| 精品视频999| 粉嫩蜜臀av国产精品网站| 亚洲一二三专区| 久久久久久日产精品| 在线观看日韩一区| 久久99国产精品免费| 亚洲乱码国产乱码精品精小说| 91精品久久久久久久91蜜桃| 国产成都精品91一区二区三| 五月天欧美精品| 亚洲视频每日更新| 欧美tickling挠脚心丨vk| 一本大道久久精品懂色aⅴ| 黄一区二区三区| 一级中文字幕一区二区| 日韩欧美一区在线| 青青草97国产精品免费观看无弹窗版| 欧美一级免费观看| 欧美性极品少妇| 成人av影院在线| 国产在线观看免费一区| 香蕉久久一区二区不卡无毒影院 | 欧美视频日韩视频| 99国产精品久| gogogo免费视频观看亚洲一| 国产一区二区三区在线观看免费视频 | 成人综合在线视频| 国产麻豆91精品| 国产精品一区三区| 经典三级在线一区| 国产精品中文字幕一区二区三区| 老司机精品视频导航| 美女视频黄a大片欧美| 日韩成人免费电影| 亚洲第一狼人社区| 日本不卡视频一二三区| 久久国产精品99久久人人澡| 国产美女久久久久| 国产一区二区不卡在线 | 91精品国产高清一区二区三区 | 欧美成人性福生活免费看| 欧美一级艳片视频免费观看| 欧美高清性hdvideosex| 日韩午夜av电影| 久久这里都是精品| 亚洲欧洲日本在线| 亚洲一区二区三区在线播放| 日本不卡在线视频| 国产99久久久久| 欧美日韩中文国产| 精品国产电影一区二区| 久久久久久亚洲综合影院红桃| 国产精品色噜噜| 水野朝阳av一区二区三区| 人妖欧美一区二区| www.欧美日韩| 欧美一激情一区二区三区| 中文av一区二区| 亚洲韩国精品一区| 岛国一区二区在线观看| 欧美日韩国产一级片| 久久久久国产免费免费 | 亚洲成av人综合在线观看| 精品亚洲免费视频| 欧美在线视频全部完| 久久久久久久久岛国免费| 日韩激情中文字幕| 91丝袜美女网| 国产日韩综合av| 久久99精品久久久| 欧美日韩你懂的| 亚洲精品中文在线影院| 国产精品一区二区免费不卡| 6080午夜不卡| 一区二区欧美国产| 99re热这里只有精品免费视频| 欧美一级理论片| 三级不卡在线观看| 欧美三级电影网站| 亚洲一区二区三区四区五区中文| 国产成人精品亚洲午夜麻豆| 欧美一区二区三区啪啪| 亚洲一区日韩精品中文字幕| 成人免费视频视频在线观看免费| 日韩精品专区在线影院重磅| 日韩福利电影在线观看| 欧美精品九九99久久| 亚洲午夜免费视频| 欧美日韩国产综合草草| 五月天网站亚洲| 日韩午夜电影在线观看| 久久精品国产精品亚洲综合| 6080yy午夜一二三区久久| 欧美高清在线一区二区| 波多野结衣在线一区| 国产精品福利一区| 日本精品裸体写真集在线观看| 亚洲激情一二三区| 欧美日韩国产bt| 精品一区二区免费| 国产欧美精品区一区二区三区| 成人一级视频在线观看| 最新热久久免费视频| 欧美日韩一区视频| 国产麻豆成人精品| 亚洲国产精品久久久久秋霞影院| 欧美日高清视频| 国产精品91一区二区| 亚洲日本在线视频观看| 91精品国产综合久久精品性色| 精品制服美女丁香| 亚洲精品第一国产综合野| 日韩欧美国产综合| 色综合色综合色综合色综合色综合| 亚洲va欧美va天堂v国产综合| 91麻豆精品国产91久久久使用方法| 国产美女av一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 欧美丰满一区二区免费视频| 国产成人免费高清| 日韩精品五月天| 亚洲精品福利视频网站| 久久久精品国产免费观看同学| 一本大道av伊人久久综合| 国产剧情一区二区| 日日摸夜夜添夜夜添精品视频| 亚洲欧美视频在线观看视频| 久久精品一区八戒影视| 欧美老女人在线| 欧美午夜片在线看| www.亚洲免费av| 国产在线视频一区二区三区| 日韩在线卡一卡二|