%模式识别大作业——C-均值法
clear
[a,b]=ginput(15)
plot(a,b,'bx');
hold on
A=zeros(2,15); %定义15个点的坐标
for i=1:15
A(1,i)=a(i) %赋值
A(2,i)=b(i)
end
%选取三个三个点距离的乘积最大的三点作为初始聚类中心
Dis=zeros(15,15) %Dis矩阵表示两坐标的距离平方和
for i=1:15
for j=1:15
Dis(i,j)=(A(1,i)-A(1,j))*(A(1,i)-A(1,j))+(A(2,i)-A(2,j))*(A(2,i)-A(2,j))
end
end
max=0
for i=1:15
for j=1:15
for k=1:15
multi=Dis(i,j)*Dis(j,k)*Dis(k,i) %multi表示三个点距离的乘积的平方
if max<=multi
max=multi
fir=i %fir,sec,thr表示选取出来的三点
sec=j
thr=k
end
end
end
end
Z=zeros(2,2,3) %中间一个2表示要存储第k次和第k1次三组类心的坐标,3表示类数
Z(1,1,1)=A(1,fir) %定义三个初始聚类中心
Z(2,1,1)=A(2,fir)
Z(1,1,2)=A(1,sec)
Z(2,1,2)=A(2,sec)
Z(1,1,3)=A(1,thr)
Z(2,1,3)=A(2,thr)
D=zeros(3,15)%横坐标表示类数,纵坐标表示输入点个数
n=0
while ((Z(1,1,1)~=Z(1,2,1))&(Z(2,1,1)~=Z(2,2,1))&(Z(1,1,2)~=Z(1,2,2))&(Z(2,1,2)~=Z(2,2,2))&(Z(1,1,3)~=Z(1,2,3))&(Z(2,1,3)~=Z(2,2,3)))
t=mod(n,2) %t表示选取Z的第k次或者第k1次数据
for i=1:3
for j=1:15
D(i,j)=(Z(1,t+1,i)-A(1,j))*(Z(1,t+1,i)-A(1,j))+(Z(2,t+1,i)-A(2,j))*(Z(2,t+1,i)-A(2,j))
end
end
W=zeros(3,15) %存储三类每一行表示一个类别的个数,如W(2,4)=8表示第二类第四个数原输入的第8个数
k1=1
k2=1
k3=1
for j=1:15
if (D(1,j)<D(2,j))&(D(1,j)<D(3,j))
W(1,k1)=j
k1=k1+1
elseif (D(2,j)<D(1,j))&(D(2,j)<D(3,j))
W(2,k2)=j
k2=k2+1
else W(3,k3)=j
k3=k3+1
end
end
%计算类心
sum=zeros(2,3)
N=zeros(1,3)
for i=1:3
for j=1:15
if W(i,j)>0
c=W(i,j)
sum(1,i)=sum(1,i)+A(1,c)
sum(2,i)=sum(2,i)+A(2,c)
N(i)=N(i)+1
j=j+1
end
end
if t==0
t1=2
else t1=1
end
Z(1,t1,i)=sum(1,i)/N(i)
Z(2,t1,i)=sum(2,i)/N(i)
end
n=n+1
end
%按不同形状输出输入点
for i=1:k1-1
dian=W(1,i)
plot(a(dian),b(dian),'om')
end
for i=1:k2-1
dian=W(2,i)
plot(a(dian),b(dian),'ys')
end
C_Average_method.rar_C均值_C聚类改进_大作业 Matlab_改进c均值聚类_改进聚类
版权申诉
97 浏览量
2022-09-21
07:21:30
上传
评论
收藏 1KB RAR 举报
APei
- 粉丝: 64
- 资源: 1万+
最新资源
- 而且往往吾问无为谓吾问无为谓吾问无为谓呜呜呜呜呜呜呜呜呜
- 无人机自主解锁、起飞、offboard、点控的ros功能包
- base.apk
- PMV20XN-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于Vue的medical-vue医疗挂号系统设计源码
- Python解析网页.xmind
- PMV185XN-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- PMV170UN-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于Java的长理教务管理系统设计源码
- PMV16UN-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈