模糊聚类matlab程序Word格式文档下载.doc
- 文档编号:4643190
- 上传时间:2023-05-03
- 格式:DOC
- 页数:4
- 大小:33.50KB
模糊聚类matlab程序Word格式文档下载.doc
《模糊聚类matlab程序Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《模糊聚类matlab程序Word格式文档下载.doc(4页珍藏版)》请在冰点文库上搜索。
switchwayforr_ij
case1,%-----------------------------------相关系数法
fori=1:
numrows,
forj=1:
meani=mean(DATAFORCLUS(i,:
));
meanj=mean(DATAFORCLUS(j,:
simiR(i,j)=sum((DATAFORCLUS(i,:
)-meani).*(DATAFORCLUS(j,:
)-meanj))/...
(sqrt(sum((DATAFORCLUS(i,:
)-meani).^2))*sqrt(sum((DATAFORCLUS(j,:
)-meanj).^2)));
end
end
case2,%-----------------------------------夹角余弦法
simiR(i,j)=sum(DATAFORCLUS(i,:
).*DATAFORCLUS(j,:
))/...
(sqrt(sum(DATAFORCLUS(i,:
).*DATAFORCLUS(i,:
)))*sqrt(sum(DATAFORCLUS(j,:
))));
end
%-------改造成等价关系----------%
sign=0;
numselfmul=1;
simiRk=eye(numrows);
equi_tem=simiR;
whilesign==0,
fori=1:
forj=1:
forc=1:
rij_temp(c)=min([equi_tem(i,c)equi_tem(c,j)]);
simiRk(i,j)=max(rij_temp);
end
%--------------%
ifsum(sum(simiRk-equi_tem,1))~=0,
numselfmul=numselfmul+1;
equi_tem=simiRk;
else
sign=1;
break
end
ifsign==1,
disp('
从相似矩阵到等价矩阵改造成功!
!
else
从相似矩阵到等价矩阵改造失败!
equiR=simiRk;
numclass=input('
请输入聚类数:
'
%---------在不同的截集水平进行聚类--------------%
clasc=0;
comp_vec(1,1:
numrows)=0;
index=0;
tip=0;
alpha=0;
temnumeachclass=0;
while(tip==0),
%alpha=input('
请输入进行分类的截集水平λ:
%alpha=0.5;
%调试
if(alpha<
0||alpha>
1),
error('
您输入的截集水平λ不符合分类要求->
执行结束!
comp_arr=ones(numrows)*alpha;
result_arr=(equiR>
=comp_arr);
%--------------------result_arr判断矩阵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%捡菜算法
ifsum(comp_vec(1,:
)==result_arr(i,:
))<
numrows,%-----------说明没有归类
temnumeachclass=0;
%numeachclass(clasc)=index-temnumeachclass;
temsave=result_arr(i,:
ifsum(result_arr(j,:
)==temsave)==numrows,
index=index+1;
class(index)=j;
result_arr(j,:
)=0;
%--------------------说明已经被归类
temnumeachclass=temnumeachclass+1;
end
clasc=clasc+1;
nec(clasc)=temnumeachclass;
else
continue;
end
ifclasc>
=numclass,
tip=1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%当模糊分类的数目小于等于所给出的类数时退出循环体
disp('
成功!
clearclass;
clearnumeachclass;
clearnec;
clasc=0;
index=0;
temnumeachclass=0;
alpha=alpha+0.01;
%----取聚类结果----%
num=0;
n=0;
fori=1:
clasc,
forj=1:
nec(i),
num=num+1;
n=n+1;
CLUS(n,:
)=DATAFORCLUS(class(num),:
n=n+1;
CLUS(n,:
)=inf;
%formatsingle(CLUS)
lenexport=size(CLUS,1);
lenexport,
RESULT(i,:
)=sprintf('
%15.2f'
CLUS(i,:
RESULT
在命令窗口输入
data=[5532;
2344;
3254;
3542;
2554];
julei(data)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 matlab 程序
![提示](https://static.bingdoc.com/images/bang_tan.gif)