早教吧 育儿知识 作业答案 考试题库 百科 知识分享

matlab作矩阵的聚类并做出图形.产生一个200×3值在10到100之间的随机矩阵,将200条记录聚类为5类,一距离最小为原则,每类并在三维图形中以不同的颜色和符号显示结果,聚类中心用红色的五角星

题目详情
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)