用matlab写一段k_means代码
时间: 2023-04-06 15:01:38 浏览: 107
K-means算法的Matlab实现代码(使用文档+源代码),k-means算法例题,matlab源码.zip
5星 · 资源好评率100%
好的,我可以回答这个问题。以下是一个简单的 MATLAB K-Means 算法的代码示例:
% 设置数据集
data = [1 1; 1.5 2; 3 4; 5 7; 3.5 5; 4.5 5; 3.5 4.5];
% 设置聚类数
k = 2;
% 随机初始化聚类中心
centroids = data(randperm(size(data, 1), k), :);
% 迭代聚类
for i = 1:10
% 计算每个点到聚类中心的距离
distances = pdist2(data, centroids);
% 找到每个点所属的聚类
[~, clusters] = min(distances, [], 2);
% 更新聚类中心
for j = 1:k
centroids(j, :) = mean(data(clusters == j, :));
end
end
% 绘制聚类结果
figure;
scatter(data(:, 1), data(:, 2), [], clusters, 'filled');
hold on;
scatter(centroids(:, 1), centroids(:, 2), 100, 'k', 'filled');
hold off;
希望这个代码示例能够帮到你。
阅读全文