نمايش پست تنها
قديمي ۰۷-۱۴-۱۳۸۹, ۱۲:۳۰ بعد از ظهر   #1 (لینک دائم)
Astaraki Female
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,337 تشكر در 3,127 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Wink الگوریتم خوشه بندی c میانگین

این یک پیاده سازی از الگوریتم خوشه بندی C میانگین است که در ++C توسط صالح حاجی آقازاده انجام شده است.

كد:
#include<iostream.h>
#include<conio.h> 
#include<complex.h> 
int c,m,n;
double epsilon=0.0;
double u[50][50]={0.0};
double v[50]={0.0};
double x[50]={0.0};
void splash()
{
 clrscr();
 cout<<"Fuzzy c-mean alghoritm ( algoritmeh khosheh-bandieh c miangin).\n\n";
 cout<<"Marahele piadeh-sazi:\n";
 cout<<"1- Megdar dehieh avalieh barayeh m,c,u0 barayeh hadseh khoshehayeh avalieh.\n";
 cout<<"2- Marakezeh khosheha mohasebeh mishavand (vi ha).\n";
 cout<<"3- Mohasebeyeh matrise taalog az roye khoshehayeh mohasebeh shodeh dar 2.\n";
 cout<<"4- Agar ||UL+1-UL|| <=epsilon angah payan, vagarna az marhaleh 2 edameh midahim.\n" ;
 cout<<"\nPress enter to continue...";
 getch();
}
void begir_nemoneha()
{
 clrscr();
 for (int i=1;i<=n;i++)
 {
  cout<<"Lotfan megdare nemoneyeh "< for (int i=1;i<=c;i++)
 {
  for (int k=1;k<=n;k++)
  {
   cout<<"Lotfan mizan taalogeh nemoneh "< for (int i=1;i<=c;i++)
 {
  for (int k=1;k<=n;k++)
  {
   cout< }
}
int algoritm()
{
 int time=1;
 double z1=0.0,z2=0.0;
 double k_old=0.0;
 while (1)
 {
  for (int k=1;k<=n;k++)
  {
   z1=z1+(pow(u[time][k],m)*x[k]);
   z2=z2+pow(u[time][k],m);
  }
  v[time]=z1 / z2;
  z1=0.0;
  z2=0.0;
  for (k=1;k<=n;k++)
  {
   for (int j=1;j<=c;j++)
   {
    z1=z1+pow((pow(x[k]-v[time],2)/pow(x[k]-v[j],2)),(2/m-1));
   }
   u[time][k]=1/z1;
   z1=0.0;
   if (u[time][k]-k_old   k_old=u[time][k];
  }
  time=time+1;
 }
 return 0;
}
int main()
{
 splash();
 clrscr();
 cout<<"Lotfan tedaeh khosheha ra vared konid (c) : ";
 cin>>c;
 cout<<"Lotfan megdareh m ra dar tabeh hadaf moshakhas konid (m=2 tosieh mishavad) : ";
 cin>>m;
 cout<<"Lotfan tedadeh nemoneha ra vared konid (n) : ";
 cin>>n;
 cout<<"Lotfan epsilon (0-1) ra vared konid : ";
 cin>>epsilon;
 begir_nemoneha();
 init_u0();
 algoritm();
 print_u();
 getch();
 return 0;
}
Astaraki آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online