在MATLAB中进行聚类分析通常使用自带的kmeans
函数。以下是一个简单的示例代码:
% 生成一些示例数据
data = rand(100, 2);
% 设置聚类的数量
k = 3;
% 进行k-means聚类分析
[idx, C] = kmeans(data, k);
% 将每个数据点归类到对应的簇
cluster1 = data(idx == 1, :);
cluster2 = data(idx == 2, :);
cluster3 = data(idx == 3, :);
% 绘制聚类结果
scatter(cluster1(:,1), cluster1(:,2), 'r');
hold on
scatter(cluster2(:,1), cluster2(:,2), 'g');
scatter(cluster3(:,1), cluster3(:,2), 'b');
scatter(C(:,1), C(:,2), 100, 'k', 'filled');
hold off
在这个示例中,我们生成了一个包含100个数据点的随机数据集,并将其分成3个簇。然后使用kmeans
函数进行聚类分析,得到每个数据点的类别索引idx
和每个簇的中心点C
。最后,我们将每个数据点根据其类别绘制出来,并在图中标记出每个簇的中心点。