Edson188的gravatar头像
Edson188 2014-09-23 15:08:10

java swing开发C类模糊均值算法

数据及文件都打包好了,放心下载你值得拥有,如果做过精密仪器和医学相关的软件的人对这类算法应该很是不陌生,学习看看就成,可以用到企业管理和网站决策中..  

C类模糊均值算法用途很广,对图像分割,医学上脊椎骨,癌细胞分裂,无人机热图像分析

商业决策或企业管理,数据挖掘正是在这一背景下诞生的,数据挖掘(DataMining),废话不多说了。

/*
       C-均值算法核心程序
 */

public void starts ort(String[][] aaa,int datal,double emax_, int c_){
// String[][] aaa为数据数组  datal为数据长度  emax_为误差   int c_为分类数
    int n=datal,c=c_,k=-1;
    int i,j,p,q,temp;	//颜色8限制c的大小
    double emax=emax_,e=300.0;
    double sub,temp1,temp2,min;
    double wk1[][]=new double[n][2];
    double wk2[][]=new double[n][2];
    int d[][]=new int[n][c];
    String  choosecolor[]={"BALCK","RED","GREEN","ORANGE","CYAN","YELLOW","PINK","BLUE"};
    for(i=0;i<c;i++){
       wk1[i][0]=Double.parseDouble(aaa[i][1]);
       wk1[i][1]=Double.parseDouble(aaa[i][2]);
       for(j=0;j<c;j++)
          d[i][j]=(i==j)?1:0;
    }
    for(p=0;p<=20||e>emax;p++){//
        for(j=0;j<n;j++){
	    min=1000.0;
            for(i=0;i<c;i++){
                sub=Math.abs(Double.parseDouble(aaa[j][1])-wk1[i][0])+Math.abs(Double.parseDouble(aaa[j][2])-wk1[i][1]);
                 if(min>sub){min=sub; k=i;}
            }
            for(q=0;q<c;q++)  d[j][q]=(q==k)?1:0;
        }
        for(i=0;i<c;i++){
           temp=0;
           temp1=temp2=0.0;
           for(j=0;j<n;j++){
	      temp1+=d[j][i]*Double.parseDouble(aaa[j][1]);
	      temp2+=d[j][i]*Double.parseDouble(aaa[j][2]);
              temp+=d[j][i];
           }
           wk2[i][0]=temp1/temp;  wk2[i][1]=temp2/temp;
        }
        e=0.0;
        for(i=0;i<c;i++){
           e+=Math.abs(wk2[i][0]-wk1[i][0])+Math.abs(wk2[i][1]-wk1[i][1]);
           wk1[i][0]=wk2[i][0];  wk1[i][1]=wk2[i][1];
        }
    }
    text2.setText("  ");
    text2.append("分类结果如下:");
    for(i=0;i<c;i++){
       text2.append("\n第"+(i+1)+"类中包含(以"+choosecolor[i+1]+"表示):\n");
       for(j=0;j<n;j++){
          if(d[j][i]==1) {
          	text2.append("("+aaa[j][1]+","+aaa[j][2]+")     ");
          	aaa[j][3]=String.valueOf(i+1);
          }
       } 
    }
    table.repaint();
  }
  public void newfile() {	//新建数据文件
    int n = JOptionPane.showConfirmDialog(this, "是否保存" + fname.getText() + "?",
                                          "确认对话框", JOptionPane.YES_NO_OPTION);
    if (n == JOptionPane.YES_OPTION) 
      savefile();
    fname.setText("数据区当前文件:新建数据文件.dat");
    for (int i = 0; i < 100; i++) {
      for (int j = 0; j < 4; j++) {
        if (j == 0) {
          text1.a[i][j] = String.valueOf(i + 1);
          aa[i][j] = text1.a[i][j];
        }
        else {
          text1.a[i][j] = "0";
          aa[i][j] = "0";
        }
      }
    }
    table.repaint();
    issavefile = false;
    text1.tag = false;
    text1.repaint();
  }
}

java swing开发C类模糊均值算法


打赏

文件名:Cwinavg.rar,文件大小:86.384K 下载
  • /
      • /Cwinavg
        • /Cwinavg/.classpath
        • /Cwinavg/.project
          • /Cwinavg/.settings
            • /Cwinavg/.settings/org.eclipse.jdt.core.prefs
          • /Cwinavg/bin
            • /Cwinavg/bin/MyDialog$1.class
            • /Cwinavg/bin/MyDialog$2.class
            • /Cwinavg/bin/MyDialog.class
            • /Cwinavg/bin/MyJPanel.class
            • /Cwinavg/bin/MyWindow$1.class
            • /Cwinavg/bin/c.dat
            • /Cwinavg/bin/hanbiao1.jpg
最代码最近下载分享源代码列表最近下载
ccqq123456  LV2 2020年11月1日
带伞啊水水  LV1 2020年5月16日
Zhangjifeng  LV3 2019年1月4日
12345623333  LV1 2017年11月11日
scylar  LV1 2017年5月14日
wzg1861  LV3 2017年4月26日
wyx065747  LV67 2015年12月24日
longhua2003  LV12 2015年10月24日
whuang022  LV2 2014年11月30日
wichita  LV2 2014年10月16日
最代码最近浏览分享源代码列表最近浏览
xp95323  LV14 2023年11月27日
javarain  LV12 2022年8月11日
myh7719  LV2 2022年6月13日
liys1234  LV9 2022年4月23日
随便取个名字_哈哈  LV27 2021年11月26日
zwbshuai  LV13 2020年11月20日
ccqq123456  LV2 2020年11月1日
带伞啊水水  LV1 2020年5月16日
wei112233  LV15 2020年4月20日
asdasasfasa 2019年12月27日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友