层次聚类 maltab代码并绘图
时间: 2024-02-18 22:12:49 浏览: 108
基于Matlab实现层次聚类(源码).rar
下面是一个使用层次聚类算法进行三维聚类的Matlab代码,并将聚类结果用图形展示出来:
```matlab
% 生成随机数据
data = rand(100, 3);
% 使用层次聚类算法进行聚类
Y = pdist(data);
Z = linkage(Y, 'ward');
T = cluster(Z, 'maxclust', 3);
% 绘制聚类结果图形
figure;
scatter3(data(:,1),data(:,2),data(:,3),10,T);
title('Hierarchical Clustering Results');
xlabel('X');
ylabel('Y');
zlabel('Z');
```
在上面的代码中,我们使用Matlab的pdist函数计算每两个数据点之间的距离,并将结果存储在Y变量中。然后,我们使用linkage函数计算层次聚类的结果,并将结果存储在Z变量中。最后,我们使用cluster函数将层次聚类的结果划分为3个聚类,并将结果存储在T变量中。然后,我们使用scatter3函数绘制了每个数据点,并用不同的颜色表示它们所属的聚类。同时,我们添加了标题、坐标轴标签,使图形更加清晰易懂。
阅读全文