如何用MATLAB执行kmeams
时间: 2024-05-05 13:20:55 浏览: 31
要在MATLAB中执行k-means聚类算法,可以使用MATLAB自带的kmeans函数。这个函数的语法如下:
[idx,C] = kmeans(X,k)
其中,X是一个n行m列的矩阵,表示要进行聚类的数据,n是数据点的数量,m是每个数据点的维度;k是要聚类的类别数量;idx是一个n行1列的向量,表示每个数据点所属的类别编号;C是一个k行m列的矩阵,表示每个类别的质心坐标。
例如,下面的代码演示了如何使用kmeans函数对一个2维数据集进行聚类:
```matlab
% 生成随机数据
X = [randn(100,2)*0.75+ones(100,2);
randn(100,2)*0.5-ones(100,2)];
% 执行k-means聚类
[idx,C] = kmeans(X,2);
% 绘制结果
figure;
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(C(:,1),C(:,2),'kx',...
'MarkerSize',15,'LineWidth',3)
legend('Cluster 1','Cluster 2','Centroids',...
'Location','NW')
```
这段代码会生成一个包含200个数据点的随机数据集,然后使用kmeans函数将其分为2个类别,并绘制聚类结果的散点图。
阅读全文