最代码广告位
Edson188的gravatar头像
Edson1882014-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
最代码最近下载分享源代码列表最近下载
带伞啊水水 LV15月16日
星星
Zhangjifeng LV32019年1月4日
星星星星星星
12345623333 LV12017年11月11日
星星
scylar LV12017年5月14日
星星
wzg1861 LV32017年4月26日
星星星星星星
wyx065747 LV642015年12月24日
皇冠
longhua2003 LV122015年10月24日
月亮月亮月亮
whuang022 LV22014年11月30日
星星星星
wichita LV22014年10月16日
星星星星
liyblyy LV22014年10月7日
星星星星
最代码最近浏览分享源代码列表最近浏览
带伞啊水水 LV15月16日
星星
wei112233 LV154月20日
月亮月亮月亮星星星星星星
asdasasfasa2019年12月27日
暂无贡献等级
65152145 LV12019年4月22日
星星
Zhangjifeng LV32019年1月4日
星星星星星星
cchen LV102018年8月16日
月亮月亮星星星星
黄199701 LV42018年7月6日
月亮
liaowei LV22018年6月24日
星星星星
longhuasl20152018年4月18日
暂无贡献等级
huangliu LV42018年3月14日
月亮
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友