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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cluster.cc

?? 模糊聚類分析的源程序!
?? CC
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
};void Clustering::Berechne_fuer_neue_Daten (DVektorArray & Diese_Daten){  DVektorArray Proj_Daten, Proj_Cluster;  if ((Diese_Daten.Lese_Dim () != Die_waren_relevant.Lese_Dim ()) &&      (Cluster.Lese_Groesse () != 0)) {    Fehlermeldung ("Clustering::Berechne_fuer_neue_Daten(...)", DIMFEHLER);  } else {    if (Cluster.Lese_Groesse () != 0) {		/* gibt es was zu tun ? */      Zugehoerigkeit.Setze_Dim (Cluster.Lese_Groesse (), Diese_Daten.Lese_Groesse ());      Proj_Daten = Diese_Daten.Projiziere (Die_waren_relevant);      Proj_Cluster = Cluster.Projiziere (Die_waren_relevant);      if (Possibilistisch && ClusterFertig && Possib_Zaehler)	Berechne_possib_U (Proj_Daten, Proj_Cluster, Zugehoerigkeit);      else	Berechne_U (Proj_Daten, Proj_Cluster, Zugehoerigkeit);      if ((Art == OPTIMAL) && (Cluster.Lese_Groesse () > 2) && (!ClusterFertig)) {	/* Das vorherige Ergebnis */	Tausche_Buffer ();	Zugehoerigkeit.Setze_Dim (Cluster.Lese_Groesse (), Diese_Daten.Lese_Groesse ());	Proj_Cluster = Cluster.Projiziere (Die_waren_relevant);	Berechne_U (Proj_Daten, Proj_Cluster, Zugehoerigkeit);	Tausche_Buffer ();      }//      Cluster=Cluster.Deprojiziere(Die_waren_relevant);/* gibt es schon */      Berechne_Zuordnung ();      Berechne_Form (Diese_Daten, Cluster);    }  }};void Clustering::Speichern (char *Name){  FILE *File;  if ((File = fopen (Name, "w")) == NULL) {    Fehlermeldung ("Clustering::_File_speichern", DATEIOEFFNENFEHLER);  } else {    switch (Lese_Typ ()) {/** Typ speichern **/    case FCM:      fprintf (File, "FCM\n");      break;    case GK:      fprintf (File, "GK\n");      break;    case GK_parallel:      fprintf (File, "GK_parallel\n");      break;    case GG:      fprintf (File, "GG\n");      break;    case GG_parallel:      fprintf (File, "GG_parallel\n");      break;    }    switch (Art) {/** Art speichern **/    case KEINE:      fprintf (File, "KEINE\n");      break;    case OPTIMAL:      fprintf (File, "OPTIMAL\n");      break;    case ANZAHL:      fprintf (File, "ANZAHL\n");      break;    case KLASSEN:      fprintf (File, "KLASSEN\n");      break;    }    switch (Guete_Verfahren->Lese_Typ ()) {/** Typ speichern **/    case S:      fprintf (File, "S\n");      break;    case PK:      fprintf (File, "PK\n");      break;    case CS:      fprintf (File, "CS\n");      break;    case D1:      fprintf (File, "D1\n");      break;    case FHV:      fprintf (File, "FHV\n");      break;    case DPA:      fprintf (File, "DPA\n");      break;    case PD:      fprintf (File, "PD\n");      break;    default:      break;    }    fprintf (File, "%d %d %d %d %lf\n", Iterationen,	     Max_Iterationen, M, K, Delta_U);    if (Fertig)      fprintf (File, "1 ");    else      fprintf (File, "0 ");    if (ClusterFertig)      fprintf (File, "1 ");    else      fprintf (File, "0 ");    if (Possibilistisch) {      fprintf (File, "1 ");      fprintf (File, "%d ", Possib_Zaehler);      if (ClusterFertig && Possibilistisch && Possib_Zaehler) {	eta.Speichern (File);      }    } else      fprintf (File, "0 ");    Guete_Verfahren->Speichern (File);    Vorgabe_Cluster.Speichern (File);    Cluster.Speichern (File);    ClusterBuffer.Speichern (File);    Die_waren_relevant.Speichern (File);    Die_sind_relevant.Speichern (File);    Mein_Speichern (File);    fclose (File);  }};Clustering *Clustering_Laden (char *Name){  Clustering *Result = 0;  FILE *File;  char Typ_String[20];  if ((File = fopen (Name, "r")) == NULL) {    Fehlermeldung ("Clustering_Laden(char* Name)", DATEIOEFFNENFEHLER);    return (NULL);  }  do {    if (!(fscanf (File, "%20s", Typ_String)))      break;    if (!strcmp (Typ_String, "FCM"))      Result = new FCM_Clustering ();    else if (!strcmp (Typ_String, "GK"))      Result = new GK_Clustering ();    else if (!strcmp (Typ_String, "GK_parallel"))      Result = new GK_parallel_Clustering ();    else if (!strcmp (Typ_String, "GG"))      Result = new GG_Clustering ();    else if (!strcmp (Typ_String, "GG_parallel"))      Result = new GG_parallel_Clustering ();    else {      Fehlermeldung ("Clustering_Laden(char* Name)", DATEIFORMATFEHLER);      return (NULL);		/* Fehler */    }    if (!(fscanf (File, "%20s", Typ_String)))      break;    if (!strcmp (Typ_String, "KEINE"))      Result->Art = KEINE;    else if (!strcmp (Typ_String, "OPTIMAL"))      Result->Art = OPTIMAL;    else if (!strcmp (Typ_String, "ANZAHL"))      Result->Art = ANZAHL;    else if (!strcmp (Typ_String, "KLASSEN"))      Result->Art = KLASSEN;    else      break;			/* Fehler */    if (!(fscanf (File, "%20s", Typ_String)))      break;			/* Fehler */    delete Result->Guete_Verfahren;    if (!strcmp (Typ_String, "S"))      Result->Guete_Verfahren = new S_Guete;    else if (!strcmp (Typ_String, "PK"))      Result->Guete_Verfahren = new PK_Guete;    else if (!strcmp (Typ_String, "CS"))      Result->Guete_Verfahren = new CS_Guete;    else if (!strcmp (Typ_String, "D1"))      Result->Guete_Verfahren = new D1_Guete;    else if (!strcmp (Typ_String, "FHV"))      Result->Guete_Verfahren = new FHV_Guete;    else if (!strcmp (Typ_String, "DPA"))      Result->Guete_Verfahren = new DPA_Guete;    else if (!strcmp (Typ_String, "PD"))      Result->Guete_Verfahren = new PD_Guete;    else      break;			/* Fehler */    if (!(fscanf (File, "%d %d %d %d %lf\n", &(Result->Iterationen),		  &(Result->Max_Iterationen), &(Result->M),		  &(Result->K), &(Result->Delta_U))))      break;    if (!(fscanf (File, "%c %c %c", &(Typ_String[0]), &(Typ_String[1]),		  &(Typ_String[2]))))      break;    if (Typ_String[0] == '1')      Result->Fertig = TRUE;    else      Result->Fertig = FALSE;    if (Typ_String[1] == '1')      Result->ClusterFertig = TRUE;    else      Result->ClusterFertig = FALSE;    if (Typ_String[2] == '1') {      Result->Possibilistisch = TRUE;      if (!(fscanf (File, "%d ", &(Result->Possib_Zaehler))))	break;      if (Result->ClusterFertig && Result->Possibilistisch && Result->Possib_Zaehler) {	Result->eta.Laden (File);      }    } else      Result->Possibilistisch = FALSE;    if ((!Result->Guete_Verfahren->Laden (File)) ||	(!Result->Vorgabe_Cluster.Laden (File)) ||	(!Result->Cluster.Laden (File)) ||	(!Result->ClusterBuffer.Laden (File)))      break;    if (Result->Art == OPTIMAL) {      if (Result->Cluster.Lese_Groesse () == Result->ClusterBuffer.Lese_Groesse ())	Result->zu_berechnen = Result->Cluster.Lese_Groesse () + 1;      else	Result->zu_berechnen = Result->Cluster.Lese_Groesse ();    }    if ((!Result->Die_waren_relevant.Laden (File)) ||	(!Result->Die_sind_relevant.Laden (File)) ||	(!Result->Mein_Laden (File)))      break;    fclose (File);    return (Result);  } while (TRUE);  Fehlermeldung ("Clustering_Laden(char* Name)", DATEIFORMATFEHLER);  delete Result;  fclose (File);  return (NULL);};void Clustering::Berechne_Zuordnung (){  int DatenNr, ClusterNr;  Zuordnung.Setze_Dim (Zugehoerigkeit.Lese_Dim_n ());  if (Zugehoerigkeit.Lese_Dim_n () != 0) {    for (DatenNr = 0; DatenNr < Zugehoerigkeit.Lese_Dim_n (); DatenNr++) {	/* alle Daten zuordnen */      Zuordnung[DatenNr] = 0;	/* default */      for (ClusterNr = 1; ClusterNr < Zugehoerigkeit.Lese_Dim_m (); ClusterNr++) {	if (Zugehoerigkeit[ClusterNr][DatenNr] >	    Zugehoerigkeit[Zuordnung[DatenNr]][DatenNr])	  Zuordnung[DatenNr] = ClusterNr;      }    }  }};DVektorArray Clustering::Berechne_v (DMatrix & MatrixU,			DVektorArray & DieDaten)return Result (DieDaten.Lese_Dim (), MatrixU.Lese_Dim_m (), NULL);{  int i, j, k;  double SummeA, SummeB;  for (i = 0; i < MatrixU.Lese_Dim_m (); i++) {		/* alle Cluster */    SummeB = 0;    for (k = 0; k < DieDaten.Lese_Groesse (); k++) {      /*    E U_ik berechnen   */      SummeB += pow (MatrixU.Lese_i_j (i, k), M);    }    for (j = 0; j < DieDaten.Lese_Dim (); j++) {	/* alle Dimensionen */      SummeA = 0;      for (k = 0; k < DieDaten.Lese_Groesse (); k++)	SummeA += pow (MatrixU.Lese_i_j (i, k), M) 	          * (DieDaten.Lese_Vektor (k, j));      Result.Setze_Vektor (i, j, SummeA / SummeB);    }	/* for ( j = ... */  }   /* for (i = ... */}void Clustering::Berechne_U (DVektorArray & Daten,			DVektorArray & Cluster, DMatrix & U){  double Summe;  int i, j, k, Dim;  DVektor Dist (Cluster.Lese_Groesse (), 0, NULL);/**********************************************/  /* U fuer vorgegebene Prototypen berechnen    *//**********************************************/  for (k = 0; (Lese_Fehlerstatus () == KEINFEHLER) &&       (k < Daten.Lese_Groesse ()); k++) {    /* d_ik's  fuer ein k bestimmen */    Dim = Berechne_Dist (Dist, Daten[k], Cluster);    if (Dim > 0) {      /* Falls I_k != \emptyset */      for (i = 0; i < Cluster.Lese_Groesse (); i++)	if (Dist[i] == 0)	  U.Setze_i_j (i, k, 1.0 / ((double) Dim));	else	  U.Setze_i_j (i, k, 0);    }    /* if(Nulltest) */     else {      /* Falls I_k == \emptyset */      for (i = 0; i < Cluster.Lese_Groesse (); i++) {	if (Dist[i] == MAXDOUBLE)	  U.Setze_i_j (i, k, 0);	else {	  Summe = 0;	  for (j = 0; j < Cluster.Lese_Groesse (); j++)	    Summe += pow (Dist[i] / Dist[j], 1.0 / (M - 1.0));	  U.Setze_i_j (i, k, 1.0 / Summe);	}      }    }				/* else */  }				/* for(k=0 ; k < Daten.Lese_Groesse() ; k++) */};DVektor Clustering::Berechne_eta (DVektorArray & Daten,			  DVektorArray & Cluster, DMatrix & U)return Result (Cluster.Lese_Groesse (), 0, NULL);{  int i, k;  double Potenz, Ni, Buffer;  for (i = 0; i < Cluster.Lese_Groesse (); i++) {    Buffer = 0;    Ni = 0;    for (k = 0; k < Daten.Lese_Groesse (); k++) {      Potenz = pow (U[i][k], M);      Buffer += Potenz * Die_Norm.d_quadr (Daten[k], Cluster[i]);      Ni += Potenz;    }    Result[i] = (K / Ni) * Buffer;  }}void Clustering::Speichere_Buffer (){  ClusterBuffer = Cluster;  UBuffer = Zugehoerigkeit;};void Clustering::Uebernehme_Buffer (){  Zugehoerigkeit = UBuffer;  Cluster = ClusterBuffer;};void Clustering::Tausche_Buffer (){  Zugehoerigkeit.Tausche (UBuffer);  Cluster.Tausche (ClusterBuffer);};void Clustering::Loesche_Buffer (){  ClusterBuffer. ~ DVektorArray ();  UBuffer. ~ DMatrix ();};void Errechne_Covarianz (DVektorArray & Daten, DMatrix & U,		    DMatrixArray & CMatrix,		    DVektorArray & Cluster, double M){  DVektor DVektorBuffer;  int i, k;  double Summe, Buffer;  for (i = 0; i < U.Lese_Dim_m (); i++) {	/* fuer alle Cluster */    CMatrix[i].NullMatrix ();    Summe = 0.0;    for (k = 0; k < U.Lese_Dim_n (); k++) {      DVektorBuffer = Daten[k] - Cluster[i];      Buffer = pow (U.Lese_i_j (i, k), M);      DVektorBuffer *= sqrt (Buffer);      CMatrix[i] += DVektorBuffer.Produkt ();      Summe += Buffer;    }    // verhindere entartete Cluster    double minwert=MINFLOAT;    while (fabs(CMatrix[i].Determinante())<=0.001) {       int lauf;       double spur,wert;       spur=0.0;       for(lauf=0; lauf<CMatrix[i].Lese_Dim_n (); lauf++)	  spur+=CMatrix[i].Lese_i_j(lauf,lauf);       spur=spur/CMatrix[i].Lese_Dim_n ()*0.01;       if (fabs(spur)<(100.0*minwert))	  spur=100.0*minwert;       for(lauf=0; lauf<CMatrix[i].Lese_Dim_n (); lauf++) {	  wert=CMatrix[i].Lese_i_j(lauf,lauf)+spur;	  CMatrix[i].Setze_i_j(lauf,lauf,wert);       }    }    CMatrix[i] /= Summe;  }				/* for(i=0 ; i < U.Lese_Dim_m() ; i++) */};/**********************************************************//**********************************************************/FCM_Clustering::FCM_Clustering (Guete_Typ Guete, int Soll_Iterationen,		char Possib){  Possibilistisch = Possib;  sprintf (Name, "%s", "FCM");};Cluster_Typ FCM_Clustering::Lese_Typ (){  return (FCM);};DMatrixArray FCM_Clustering::Lese_Form (IVektor & Dimensionen, DVektorArray & Daten)return Result (Cluster.Lese_Groesse (), Dimensionen.Lese_Dim (),	       Dimensionen.Lese_Dim (), NULL);{  int i, j;  char Was_tun = TRUE;  if (Dimensionen.Lese_Dim () == 2) {    if (Dimensionen[0] == Dimensionen[1])      Was_tun = FALSE;  } else {    if ((Dimensionen[0] == Dimensionen[1]) ||	(Dimensionen[1] == Dimensionen[2]) ||	(Dimensionen[0] == Dimensionen[2]))      Was_tun = FALSE;  }  if (Was_tun) {    for (i = 0; i < Cluster.Lese_Groesse (); i++) {      for (j = 0; j < Dimensionen.Lese_Dim (); j++) {	if (Die_sind_relevant[Dimensionen[j]])	  Result[i][j][j] = Radien[i];	else	  Result[i][j][j] = 0;      }    }  }};DVektorArray FCM_Clustering::Mein_Clustern (DVektorArray & Daten,			       DVektorArray & Vorgabe_Protos)return Result (Daten.Lese_Dim (), Vorgabe_Protos.Lese_Groesse (), NULL);{  int l;  DMatrix U[2];  if (Zugehoerigkeit.Lese_Dim_m () != Vorgabe_Protos.Lese_Groesse ()) {    U[0] = DMatrix (Vorgabe_Protos.Lese_Groesse (), Daten.Lese_Groesse (), NULL);    Berechne_U (Daten, Vorgabe_Protos, U[0]);  } else    U[0] = Zugehoerigkeit;  U[1] = DMatrix (Vorgabe_Protos.Lese_Groesse (), Daten.Lese_Groesse (), NULL);  /* Schleifen-Anfang */  l = 0;  while ((ClusterFertig != TRUE) && (Iterationen < Max_Iterationen)) {    Iterationen++;/*************************/    /* II. v_i's berechnen   *//*************************/    Result = Berechne_v (U[l], Daten);/*************************/    /* III. U_neu bestimmen  *//*************************/    l = (l + 1) % 2;    Berechne_U (Daten, Result, U[l]);/*************************/    /* IV. ||U[l-1]-U[l]||   *//*************************/    if (Die_Norm.d (U[0], U[1]) <= Delta_U) {      ClusterFertig = TRUE;    }  };  Zugehoerigkeit = U[l];};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品国产热久久91蜜凸| 欧美经典一区二区| 欧美人成免费网站| 欧美日韩和欧美的一区二区| 在线观看欧美日本| 欧美性猛交xxxxxx富婆| 91久久精品网| 欧美日韩视频在线一区二区| 欧美日韩精品一区二区| 欧美一级欧美一级在线播放| 欧美一区二区精品在线| 精品国产在天天线2019| 久久精品视频一区二区三区| 欧美激情综合五月色丁香| 国产精品美女久久久久久久网站| 国产精品丝袜在线| 亚洲日本乱码在线观看| 亚洲一区二区视频在线观看| 亚洲sss视频在线视频| 免费亚洲电影在线| 国产在线麻豆精品观看| 高清不卡一区二区| 91麻豆6部合集magnet| 欧美日韩免费观看一区二区三区| 欧美丰满少妇xxxbbb| 欧美成人a∨高清免费观看| 国产香蕉久久精品综合网| 亚洲图片激情小说| 午夜欧美视频在线观看| 国产美女精品在线| 色哟哟一区二区三区| 欧美日韩国产精选| 久久综合狠狠综合久久综合88 | 欧美久久久久中文字幕| 91精品国产日韩91久久久久久| 精品国产一区久久| 日韩成人av影视| 韩国一区二区在线观看| 97久久久精品综合88久久| 7777精品伊人久久久大香线蕉| 久久久蜜臀国产一区二区| 亚洲精品日韩综合观看成人91| 日韩成人av影视| www.亚洲国产| 日韩一区二区中文字幕| 国产精品不卡在线观看| 免费观看在线综合| 91在线观看污| 日韩女同互慰一区二区| 亚洲人成小说网站色在线| 久久国产婷婷国产香蕉| av不卡免费电影| 精品日韩一区二区三区| 一区二区三区**美女毛片| 国内精品写真在线观看| 欧美亚洲国产一卡| 国产免费成人在线视频| 日本va欧美va精品| 色综合视频一区二区三区高清| 欧美一区二区免费视频| 亚洲精品欧美在线| 国产成人免费在线视频| 欧美日韩一区二区三区视频| 日本一区免费视频| 免费观看久久久4p| 欧美影院午夜播放| 亚洲欧洲日产国码二区| 精品在线一区二区三区| 欧美日韩另类一区| 亚洲激情在线播放| 粉嫩蜜臀av国产精品网站| 日韩欧美色综合网站| 亚洲国产综合视频在线观看| 不卡一区二区三区四区| 久久精品水蜜桃av综合天堂| 免费观看日韩电影| 欧美片在线播放| 亚洲精选视频在线| 97久久久精品综合88久久| 国产视频一区不卡| 精品一区二区三区在线播放| 这里只有精品视频在线观看| 亚洲午夜电影在线观看| jlzzjlzz欧美大全| 国产日韩欧美在线一区| 国产一区二区三区免费在线观看| 欧美一区二区播放| 午夜视黄欧洲亚洲| 欧美日韩激情一区| 亚洲高清三级视频| 色狠狠桃花综合| 综合久久久久久| 99精品久久99久久久久| 国产精品传媒视频| 成人精品国产一区二区4080| 国产精品色眯眯| 大桥未久av一区二区三区中文| 久久综合色8888| 国产一区二区三区视频在线播放| 日韩精品一区二区在线| 蜜臀精品久久久久久蜜臀| 91麻豆精品国产91久久久使用方法 | 91麻豆精品久久久久蜜臀 | 777色狠狠一区二区三区| 亚洲综合视频在线| 欧美色精品天天在线观看视频| 亚洲小说欧美激情另类| 欧美日韩一区三区四区| 天堂午夜影视日韩欧美一区二区| 欧美日韩免费视频| 日本不卡的三区四区五区| 日韩一卡二卡三卡| 国产毛片精品视频| 国产网红主播福利一区二区| 风间由美一区二区av101| 中文字幕精品一区二区精品绿巨人 | 久久久影院官网| 粉嫩av一区二区三区| 国产精品不卡一区二区三区| 91免费观看视频在线| 亚洲午夜电影网| 日韩一级片网站| 国产精品996| 亚洲美女免费视频| 777欧美精品| 国产精品996| 亚洲主播在线播放| 日韩欧美久久一区| 北条麻妃国产九九精品视频| 亚洲视频一区二区在线| 欧美日韩精品一区二区三区蜜桃| 麻豆成人在线观看| 国产精品久久久久天堂| 欧美色图12p| 经典一区二区三区| 最新不卡av在线| 欧美一区日韩一区| 成人激情av网| 水野朝阳av一区二区三区| 欧美精品一区二区不卡| 色一区在线观看| 全部av―极品视觉盛宴亚洲| 中文字幕欧美激情| 欧美精品123区| 国产精品亚洲第一区在线暖暖韩国| 亚洲欧美成人一区二区三区| 欧美一级在线免费| 95精品视频在线| 激情五月播播久久久精品| 综合色中文字幕| 欧美大片在线观看一区| 91视频91自| 蜜臀av一区二区三区| 亚洲欧美一区二区久久 | 午夜不卡在线视频| 国产精品视频观看| 欧美一区二区免费观在线| 波多野结衣的一区二区三区| 奇米色一区二区| 亚洲欧美日韩国产手机在线| 欧美不卡视频一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 精品一区二区免费视频| 一区二区三区免费观看| 久久―日本道色综合久久| 中文字幕二三区不卡| 日韩欧美国产一区二区在线播放 | 日韩精品一区二区三区中文精品| 成人高清视频在线观看| 捆绑变态av一区二区三区| 亚洲午夜精品久久久久久久久| 久久久亚洲午夜电影| 67194成人在线观看| 91美女片黄在线| 国产成人免费av在线| 美女视频免费一区| 亚洲一区二区免费视频| 亚洲图片你懂的| 国产精品入口麻豆九色| 久久综合九色欧美综合狠狠 | 国产精品全国免费观看高清| 欧美mv日韩mv| 欧美一级片免费看| 欧美色图在线观看| 在线亚洲欧美专区二区| 成人精品亚洲人成在线| 国产精品伊人色| 久久国产综合精品| 日本不卡一区二区三区高清视频| 一区二区三区不卡视频在线观看 | 成人精品小蝌蚪| 国产成人综合亚洲网站| 极品美女销魂一区二区三区| 天堂av在线一区| 丝袜美腿一区二区三区| 亚洲一区二区三区在线看| 一区二区三区四区在线| 专区另类欧美日韩| 中文字幕一区在线观看| 日韩毛片一二三区|