- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab应用聚类分析
1.function[X]=F_JlSjBzh(cs,X)
%%模糊聚类分析数据标准化变换
%%X原始数据矩阵;cs=0,不变换;cs=1,标准差变换:cs=2,极差变换
if(cs==0)return;end
[n,m]=size(X);%%获得矩阵的行列数
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)-xk)^2;end
sk=sqrt(sk/n);
for(i=1:n)X(i,k)=(X(i,k)-xk)/sk;end
end
else%%平移·极差变换
for(k=1:m)xmin=X(1,k);xmax=X(1,k);
for(i=1:n)
if(xminX(i,k))xmin=X(i,k);end
if(xmaxX(i,k))xmax=X(i,k);end
end
for(i=1:n)X(i,k)=(X(i,k)-xmin)/(xmax-xmin);end
end
end
2. function F_JlDtjl(R)%%定义函数
%%模糊聚类分析动态聚类
%%R模糊相似矩阵
[m,n]=size(R);%%获得矩阵的行列数
if(m~=n|m==0)return;end
for(i=1:n)R(i,i)=1;%%修正错误
for(j=i+1:n)
if(R(i,j)0)R(i,j)=0;elseif (R(i,j)1)R(i,j)=1;end
R(i,j)=round(10000*R(i,j))/10000;%%保留4位小数
R(j,i)=R(i,j);
end
end
js0=0;
while(1)%%求传递闭包
R1=Max_Min(R,R);
js0=js0+1;
if(R1==R) break;
else R=R1;end
end
lmd(1)=1;k=1;
for(i=1:n)for(j=i+1:n)pd=1;%%找出所有不相同的元素
for(x=1:k)if(R(i,j)==lmd(x))pd=0;break;end;end
if(pd)k=k+1;lmd(k)=R(i,j);end
end;end
for(i=1:k-1)for(j=i+1:k)if(lmd(i)lmd(j))%%从大到小排序
x=lmd(j);lmd(j)=lmd(i);lmd(i)=x;
end;end;end
for(x=1:k)%%按lmd(x)分类,分类数为flsz(x),临时用Sz记录元素序号
js=0;flsz(x)=0;
for(i=1:n)pd=1;
for(y=1:js)if(Sz(y)==i)pd=0;break;end;end
if(pd)
for(j=1:n)if(R(i,j)=lmd(x))js=js+1;Sz(js)=j;end;end
flsz(x)=flsz(x)+1;
end
end
end
for(i=1:k-1)for(j=i+1:k)if(flsz(j)==flsz(i))flsz(j)=0;end;end;end
fl=0;%排除相同的分类
for(i=1:k)if(flsz(i))fl=fl+1;lmd(fl)=lmd(i);end;end
for(i=1:n)xhsz(i)=i;end
for(x=1:fl)%%获得分类情况:对分类元素进行排序
js=0;flsz(x)=0;
for(i=1:n)pd=1;
for(y=1:js)if(Sz(y)==i)pd=0;break;end;end
if(pd)if(js==0)y=0;end
for(j=1:n)if(R(i,j)=lmd(x))js=js+1;Sz(js)=j;end;end
flsz(x)=flsz(x)+1;
Sz0(flsz(x))=js-y;
end
end
js0=0;
for(i=1:flsz(x))
for(j=1:Sz0(i))Sz1(j)=Sz(js0+j);end
for(j=1:n)for(y=1:Sz0(i))if(xhsz(j)==Sz1(y))js0=js0+1;Sz(js0)=xhsz(j);end;end;end
end
for(i=1:n)xhsz(i)=Sz(i);end
end
for(x=1:fl)%%获得分类情况:每一子类的元素个数
js=0;flsz(x)=0;
for(i=1:n)pd=
文档评论(0)