导入现有的经纬度坐标的excel表格,对数据进行K-means聚类的可视化matlab代码,聚类个数设定为16,并且将聚类之后每个类所含的坐标的编号以及对应的聚类中心点的坐标分别导出
时间: 2024-06-03 09:12:10 浏览: 168
k-means聚类算法及matlab代码-K-Clustering_demo:使用Matlab实现K集群
以下是一个示例代码,可以导入现有的经纬度坐标的excel表格,对数据进行K-means聚类的可视化,聚类个数设定为16,并且将聚类之后每个类所含的坐标的编号以及对应的聚类中心点的坐标分别导出。
% 导入数据
data = xlsread('coordinates.xlsx');
% 设定聚类个数
k = 16;
% 进行K-means聚类
[idx, C] = kmeans(data, k);
% 绘制散点图
scatter(data(:,1), data(:,2), 10, idx, 'filled');
hold on;
% 绘制聚类中心点
scatter(C(:,1), C(:,2), 50, 'k', 'filled');
% 设置图像标签
xlabel('Longitude');
ylabel('Latitude');
title('K-means Clustering of Coordinates');
% 将聚类结果导出到Excel表格
xlswrite('clusters.xlsx', [{'Cluster ID', 'Longitude', 'Latitude'}; num2cell([idx, data])]);
% 将聚类中心点导出到Excel表格
xlswrite('centers.xlsx', [{'Cluster ID', 'Longitude', 'Latitude'}; num2cell([(1:k)', C])]);
阅读全文