matlab中kmeans函数的用法和示例
时间: 2024-01-26 14:04:38 浏览: 185
`kmeans` 函数是 Matlab 中用于进行 K-means 聚类分析的函数。它的基本用法如下:
```matlab
[idx, C] = kmeans(X, k)
```
其中,`X` 是一个 `m x n` 的矩阵,表示有 `m` 个样本,每个样本有 `n` 个特征;`k` 表示聚类的数量,`idx` 是一个 `m x 1` 的向量,表示每个样本所属的聚类类别;`C` 是一个 `k x n` 的矩阵,表示每个聚类中心的坐标。
以下是一个简单的示例:
```matlab
% 生成示例数据
rng('default');
X = [randn(100, 2)*0.75+ones(100, 2);
randn(100, 2)*0.5-ones(100, 2)];
% 进行聚类分析
[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','northwest')
title 'K-means Clustering'
hold off
```
该示例将生成一个包含两个聚类的二维数据集,并使用 `kmeans` 函数进行聚类分析。最后,将结果可视化。
阅读全文