给出K-means算法在matlab中应用的代码
时间: 2023-09-02 18:09:03 浏览: 89
asd.rar_K.
K-means算法是一种非常常用的聚类算法,Matlab中也提供了相应的函数可用于实现该算法。下面是一个简单的K-means算法的Matlab代码示例:
```
% 生成数据
data = [randn(100,2)+ones(100,2); randn(100,2)-ones(100,2)];
% K-means聚类
K = 2; % 设置聚类的数目
[idx, C] = kmeans(data, K);
% 可视化结果
figure;
plot(data(idx==1,1), data(idx==1,2), 'r.', 'MarkerSize', 12);
hold on;
plot(data(idx==2,1), data(idx==2,2), 'b.', 'MarkerSize', 12);
plot(C(:,1), C(:,2), 'kx', 'MarkerSize', 15, 'LineWidth', 3);
legend('Cluster 1', 'Cluster 2', 'Centroids', 'Location', 'NW');
title 'K-means Clustering';
```
这里我们先生成一组二维数据,然后使用Matlab的kmeans函数对数据进行聚类,该函数将返回每个数据点所属的聚类编号和每个聚类的中心位置。最后我们可以将聚类结果可视化出来,其中红色和蓝色的点表示两个不同的聚类,黑色的叉表示聚类的中心。
阅读全文