用matlab写一个三维散点聚类图代码
时间: 2023-12-30 21:02:19 浏览: 410
聚类分析代码(可直接运行)
好的,以下是使用matlab绘制三维散点聚类图的代码:
1. 首先生成随机数据
```matlab
data = randn(1000,3); % 生成1000*3的随机数据
```
2. 使用k-means进行聚类
```matlab
k = 5; % 聚类数
[idx,C] = kmeans(data,k); % 使用k-means进行聚类
```
3. 绘制聚类结果
```matlab
% 绘制所有散点
scatter3(data(:,1),data(:,2),data(:,3),'Marker','o','MarkerEdgeColor','b','MarkerFaceColor','b','MarkerFaceAlpha',.1,'MarkerEdgeAlpha',.1)
hold on
% 根据聚类结果,绘制不同颜色的散点
colors = lines(k);
for i = 1:k
scatter3(data(idx==i,1),data(idx==i,2),data(idx==i,3),'Marker','o','MarkerEdgeColor',colors(i,:),'MarkerFaceColor',colors(i,:))
end
% 绘制聚类中心
plot3(C(:,1),C(:,2),C(:,3),'kx','MarkerSize',10,'LineWidth',2)
hold off
% 设置图形属性
xlabel('x')
ylabel('y')
zlabel('z')
title('3D scatter plot with clustering')
grid on
box on
```
以上代码可以实现使用matlab绘制三维散点聚类图,其中k-means算法用于聚类,不同颜色用于区分不同类别的散点。
阅读全文