matlab kmeans
时间: 2023-08-30 21:11:15 浏览: 74
kmeans.rar_kmeans matlab_kmeans分割_kmeans图像_kmeans图像分割_kmeans聚类
K-means是一种聚类算法,可以将数据分成K个不同的组。在MATLAB中,可以使用kmeans函数实现K-means算法。kmeans函数的语法如下:
[idx, C] = kmeans(X, K)
其中,X是一个n x p的矩阵,表示n个样本的p个特征;K是所需的簇的数量;idx是n x 1的向量,表示每个样本所属的簇的编号;C是K x p的矩阵,表示每个簇的中心点。
下面是一个简单的示例,演示如何使用kmeans函数对数据进行聚类:
```matlab
% 生成随机数据
X = [randn(100,2)*0.75+ones(100,2);
randn(100,2)*0.5-ones(100,2)];
% 使用kmeans函数聚类
[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')
title 'K-means聚类结果'
hold off
```
该示例生成了一个包含200个样本的数据集,然后使用kmeans函数将数据分为2个簇。最后,通过绘制散点图来可视化聚类结果。
阅读全文