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(); } }
猜你喜欢
请下载代码后再发表评论
文件名: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
- /Cwinavg
相关代码
最近下载
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日
暂无贡献等级