作业帮 > 综合 > 作业

matlab作矩阵的聚类并做出图形.产生一个200×3值在10到100之间的随机矩阵,将200条记录聚类为5类,一距离最

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 09:30:39
matlab作矩阵的聚类并做出图形.产生一个200×3值在10到100之间的随机矩阵,将200条记录聚类为5类,一距离最小为原则,每类并在三维图形中以不同的颜色和符号显示结果,聚类中心用红色的五角星表示
%生成随机数据
clear;clc;
a=10*(1:2:9);
b=[0,sort(randint(1,4,[1,199])),200];
idx=randperm(200);
for n=1:5
X(idx((b(n)+1):b(n+1)),:)=unifrnd(a(n),a(n)+10,b(n+1)-b(n),3);
end
%聚类
Z=clusterdata(X,'maxclust',5);
%绘图
for n=1:5
Y(n,:)=mean(X(Z==n,:));
end
scatter3(X(:,1),X(:,2),X(:,3),10,Z);
hold on;
plot3(Y(:,1),Y(:,2),Y(:,3),'rp','markerfacecolor','r','markersize',10)