MATLAB的Kmeans算法程序
时间: 2023-11-18 12:27:25 浏览: 89
下面是MATLAB的Kmeans算法程序示例:
```matlab
clc;
clear;
close all;
% 生成数据
data = [randn(100, 2)*0.75+ones(100, 2); randn(100,2)*0.5-ones(100,2)];
% 设置聚类数量
K = 2;
% KMeans算法
[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', 'NorthEast');
title(['KMeans Clustering with K=', num2str(K)]);
```
这段程序首先生成了一个二维数据集,然后使用KMeans算法将其分成两个类别,并将结果可视化出来。其中,`kmeans`函数用于执行KMeans算法,`idx`表示每个数据点所属的聚类类别,`C`表示聚类中心的坐标。程序运行后,会显示出一个图像,其中红点表示属于第一个聚类的数据点,蓝点表示属于第二个聚类的数据点,黑叉表示聚类中心的坐标。
阅读全文