matlab模糊聚類程序_第1頁(yè)
matlab模糊聚類程序_第2頁(yè)
matlab模糊聚類程序_第3頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、3數(shù)據(jù)標(biāo)準(zhǔn)化(1)數(shù)據(jù)矩陣設(shè)論域U二偽必匹,龐,滄,冷必壓必0,為1必2為被分類的對(duì)象,每個(gè)對(duì)象又由指標(biāo)Y=%,%,%,%,%,丫6,%,%9表示其性狀即Xi =冷,x2, x3, x4, x5,xi6,xi7,為 Xi9, XlOXll,冷分(i = 1,2,12)于是得到原是數(shù)據(jù)矩陣7525013421217821923843783295965372054132653133136212312181417869112781043694314723253611121124616A=101325352865241389428678820329169515872493048371463279112

2、692896979294993275464241723114918795121838(2)數(shù)據(jù)標(biāo)準(zhǔn)化將模糊矩陣的每一個(gè)數(shù)據(jù)壓縮到0,1上,采用平移.極差變換進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)B(i,k)=A(i,k)- mjn A(i,k)1 i nmaxA(i,k)- m.in A(i,k)(k=1,2,m)運(yùn)用matlab編程由函數(shù)Fisjbzh.m【見附錄3.4】的標(biāo)準(zhǔn)化矩陣是附錄3.4fun ctio n X=F_JISjBzh(cs,X)%模糊聚類分析數(shù)據(jù)標(biāo)準(zhǔn)化變換%X 原始數(shù)據(jù)矩陣; cs=0 ,不變換; cs=1 ,標(biāo)準(zhǔn)差變換 %cs=2, 極差變換 if(cs=0) return ;endn,m=s

3、ize(X);% 獲得矩陣的行列數(shù) if(cs=1) % 平移極差變換for(k=1:m) xk=0;for(i=1:n) xk=xk+X(i,k);end xk=xk/n;sk=0;for(i=1: n) sk=sk+(X(i,k)-xkF2;e nd sk=sqrt(sk/n);for(i=1:n) X(i,k)=(X(i,k)-xk)/sk;endendelse % 平移 * 極差變換for(k=1:m) xmin=X(1,k);xmax=X(1,k);for(i=1:n)if(xmin>X(i,k) xmin=X(i,k);end if(xmax<X(i,k) xmax=X

4、(i,k);end endfor(i=1:n) X(i,k)=(X(i,k)-xmin)/(xmax-xmin);end endend0000000.03190.028600.01560.13950.04840.18390.08650.01470.4043 02860.24310.23750.27910.45970.68970.35580.27940.57450.28570.16670.14370.09300.23390.35630.20190.32350.12770.42860.08330.53440.74420.88710.83911.00000.51471.00000.80000.312

5、50.05000.23260.27420.06900.11540.14710.25530.08570.09720.29380.31400.41130.54020.82690.75000.43621.00000.63890.06560.01160.04030.03450.07690.0147000.18750.50620.53490.45160.77010.47120.42650.51060.97141.00001.00001.00001.00001.00000.85581.00000.84040.74290.32640.26870.25580.41940.67820.23080.23530.2

6、4470.22860.32640.03440.02330.056500.00960.01470.191500.0417B=第二步:標(biāo)定(建立模糊相似矩陣)對(duì)標(biāo)定我們運(yùn)用了直接歐幾里得距離法:rij 1 c d(Xi,Xj)其中c為任意選區(qū)的參數(shù),它使得0 Nj <1,d(Xi,Xj)表示x與Xj的距離,d(Xi,Xj)Xjk)2運(yùn)用matlab軟件編寫F_jir.m函數(shù)【見附錄3.5】,取cs=8,的模糊相似矩陣附錄3.5 :(僅附錄了一段用到的程序)fun ctio n R=F _ji r(cs,X)%cs=8,直接歐幾里得距離法%cs=9,直接海明距離法(絕對(duì)值減數(shù)法)%cs=10,

7、直接切比雪夫距離法 elseif(cs<=10)C=0;for(i=1:n)for(j=i+1:n)d=0;%直接歐幾里得距離法if(cs=8)for(k=1:m)d=d+(X(i,k)-X(j,k)F2;endd=sqrt(d);%直接海明距離法elseif(cs=9)for(k=1:m)d=d+abs(X(i,k)-X(j,k);end%直接切比雪夫距離法elsefor(k=1:m)if(d<abs(X(i,k)-X(j,k)d=abs(X(i,k)-X(j,k);endendendif(C<d)C=d;endendendC=1/(1+C);for(i=1:n)for(j

8、=1:n)d=0;%直接歐幾里得距離法if(cs=8)for(k=1:m)d=d+(X(i,k)-X(j,k)F2;endd=sqrt(d);%直接海明距離法elseif(cs=9)for(k=1:m)d=d+abs(X(i,k)-X(j,k);end%直接切比雪夫距離法elsefor(k=1:m)if(d<abs(X(i,k)-X(j,k)d=abs(X(i,k)-X(j,k);endendendR(i,j)=1-C*d;endend1.00000.85960.67310.79950.37150.85961.00000.76380.81500.46340.67310.76381.000

9、00.81400.66940.79950.81500.81401.00000.53490.37150.46340.66940.53491.0000R0.86680.89730.77360.85340.48630.49300.56080.69610.67050.71040.93830.87460.69070.81050.39280.46020.54900.68120.62040.69050.27450.35410.56180.44490.78630.71510.78660.89070.84910.59980.94990.89720.70160.80630.40013)聚類(求動(dòng)態(tài)聚類圖)0.86

10、68 0.4930 0.9383 0.4602 0.2745 00.8973 04.656008.5409.087 0.3541 0.7866 0.8970.77360.69610.69070.68120.561800.85340.67050.81050.62040.444900.48630.71040.39280.69050.786301.00000.58010.87550.54940.388100.58011.00000.52160.80260.619900.87550.52161.00000.49590.297900.54940.80260.49591.00000.621400.3881

11、0.61990.29790.62141.000000.79910.67830.74460.68520.51610.89720.50910.93000.48020.30020<1> 傳遞閉包法根據(jù)標(biāo)定所得的模糊矩陣,只是一個(gè)模糊相似矩陣R,不一定具有傳遞性,即 R 不一定是模糊等價(jià)矩陣,還需要對(duì)其改造成模糊等價(jià)矩陣R' ,根據(jù)定理,用二次方法求傳遞閉包t (R), t ( R)就是所求模糊等價(jià)矩陣R',即:t (R)=R ' ,再讓 由大變到小,就可形成動(dòng)態(tài)聚類圖。通過(guò) matlab 軟件編的函數(shù) F_JIDtjl.m 【見附錄 3.6 】,得到動(dòng)態(tài)聚類圖或

12、者直接運(yùn)用 matlab 軟件編的函數(shù) F_Jlfx.m 【見附錄 3.7】,運(yùn)行 F_Jlfx(2,8,A) 得 動(dòng)態(tài)聚類圖是:附錄 3.6 :function F_JIDtjl(R)% 定義函數(shù)%模糊聚類分析動(dòng)態(tài)聚類%R 模糊相似矩陣m,n=size(R);% 獲得矩陣的行列數(shù)if(m=n|m=0) return ;endfor(i=1:n) R(i,i)=1;% 修正錯(cuò)誤for(j=i+1:n)if(R(i,j)<0) R(i,j)=0;elseif(R(i,j)>1) R(i,j)=1;endR(i,j)=round(10000*R(i,j)/10000;% 保留四位小數(shù)

13、R(j,i)=R(i,j);endendjs0=0;while(1)% 求傳遞閉包R1=Max_Min(R,R);% 【見附錄 3.6.1 】js0=js0+1;if(R1=R) break;else R=R1;endendImd(1)=1;k=1;for(i=1:n) for(j=i+1:n) pd=1;% 找出所有不相同的元素for(x=1:k)if(R(i,j)=Imd(x) pd=0;break;end;endif(pd) k=k+1;Imd(k)=R(i,j);endend;endfor(i=1:k-1) for(j=i+1:k)if(Imd(i)<Imd(j)% 從大到小排序

14、 x=Imd(j);Imd(j)=Imd(i);Imd(i)=x;end;end;endfor(x=1:k) %按Imd (x)分類,分類數(shù)為flsz(x),臨時(shí)用Sz記錄元素序號(hào)js=0;flsz(x)=0;for(i=1:n) pd=1;for(y=1:js) if(Sz(y)=i) pd=0;break;end;endif(pd)for(j=1:n)if(R(i,j)>=Imd(x) js=js+1;Sz(js)=j;end;end flsz(x)=flsz(x)+1;endendendfor(i=1:k-1)for(j=i+1:k)if(flsz(j)=flsz(i) flsz(

15、 j)=0;end;end;endfl=0;% 排除相同的分類for(i=1:k) if(flsz(i) fl=fl+1;Imd(fl)=Imd(i);end;endfor(i=1:n) xhsz(i)=i;endfor(x=1:fl)% 獲得分類情況:對(duì)元素分類進(jìn)行排序js=0;flsz(x)=0;for(i=1:n) pd=1;for(y=1:js) if(Sz(y)=i) pd=0;break;end;endif(pd) if(js=0) y=0;endfor(j=1:n) if(R(i,j)>=Imd(x) js=js+1;Sz(js)=j;end;endflsz(x)=flsz

16、(x)+1;Sz0(flsz(x)=js-y;endendjs0=0;for(i=1:flsz(x)for(j=1:Sz0(i) Sz1(j)=Sz(js0+j);endfor(j=1:n) for(y=1:Sz0(i)if(xhsz(j)=Sz1(y)js0=js0+1;Sz(js0)=xhsz(j);end;end;endendfor(i=1:n) xhsz(i)=Sz(i);endendfor(x=1:fl)% 獲得分類情況:每一子類的元素個(gè)數(shù)js=0;flsz(x)=0;for(i=1:n) pd=1;for(y=1:js) if(Sz(y)=i) pd=0;break;end;end

17、if(pd) if(js=0) y=0;endfor(j=1:n) if(R(i,j)>=Imd(x) js=js+1;Sz(js)=j;end;endflsz(x)=flsz(x)+1;Sz0(flsz(x)=js-y;endendjs0=1;for(i=1:flsz(x) y=1;for(j=1:flsz(x)if(Sz(y)=xhsz(js0)flqksz(x,i)=Sz0(j);js0=js0+Sz0(j);break;endy=y+Sz0(j);endendendF_dtjltx=figure('name',' 動(dòng)態(tài)聚類圖 ','colo

18、r','w');axis('off');Kd=30;Gd=40;y=fl*Gd+Gd;lx=80;text(24,y+Gd/2,' 心;for(i=1:n)text(lx-5+i*Kd-0.4*Kd*(xhsz(i)>9),y+Gd/2,int2str(xhsz(i);line(lx+i*Kd,lx+i*Kd,y,y-Gd);linesz(i)=lx+i*Kd;endtext(lx*1.5+i*Kd,y+Gd/2,' 分類數(shù) ');y=y-Gd;for(x=1:fl)text(8,y-Gd/2,num2str(Imd(x);

19、js0=1;js1=0;if(x=1)for(i=1:flsz(x)js1=flqksz(x,i)-1;if(js1) line(linesz(js0),linesz(js0+js1),y,y);endline(linesz(js0+js1)+linesz(js0)/2,(linesz(js0+js1)+linesz(js0)/2,y,y-Gd);linesz(i)=(linesz(js0+js1)+linesz(js0)/2;js0=js0+js1+1;endelse for(i=1:flsz(x)js1=js1+flqksz(x,i);js2=0;pd=0;for(j=1:flsz(x-1

20、)js2=js2+flqksz(x-1,j);if(js2=js1) pd=1;break;endend if(j=js0)line(linesz(js0),linesz(j),y,y);end line(linesz(js0)+linesz(j)/2,(linesz(js0)+linesz(j)/2,y,y-Gd);linesz(i)=(linesz(js0)+linesz(j)/2;js0=j+1;end;endtext(2*lx+n*Kd,y-Gd/3,int2str(flsz(x);y=y-Gd;end圖六:動(dòng)態(tài)聚類圖根據(jù)動(dòng)態(tài)聚類圖,選定不同的的值,將就可以得到不同的分類121110987S附錄3.5 :(僅附錄了一段用到的程序)fun ctio n R=F _ji r(cs,X)%cs=8,直接歐幾里得距離法%cs=9,直接海明距離法(絕對(duì)值減數(shù)法)%cs=10,直接切比雪夫距離法elseif(cs<=10)C=0;for(i=1: n)for(j=i+1: n)d=0;%直接歐幾里得距離法if(cs=8)for(k=1:m)d=d+(X(i,k)-X(j,k)F2;endd=sqrt(d);%直接海明距離法elseif(cs=9)for(k=1:m)d=d+abs(X(i,k)-X(j,k);end%直接切比雪夫距離法elsefor(k=1:m)if

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論