给定几个初始点的聚类matlab代码示例
时间: 2024-05-15 08:19:52 浏览: 61
聚类算法的matlab代码
以下是使用k-means算法对给定初始点进行聚类的Matlab代码示例。
假设我们有一个包含100个随机生成的二维数据点的矩阵X。
```
X = rand(100,2);
```
我们可以使用k-means算法将这些数据点分为k个簇。在这个例子中,我们将k设置为3。
```
k = 3;
[idx, C] = kmeans(X, k);
```
这里,idx是一个向量,包含每个数据点所属的簇的索引,C是k个簇的质心。
我们可以使用plot函数将每个数据点标记为其所属的簇。
```
figure;
hold on;
scatter(X(idx==1,1), X(idx==1,2), 'r');
scatter(X(idx==2,1), X(idx==2,2), 'g');
scatter(X(idx==3,1), X(idx==3,2), 'b');
scatter(C(:,1), C(:,2), 'k', 'filled');
```
这里,我们使用scatter函数绘制每个数据点,其中同一簇的点使用相同的颜色。我们还使用scatter函数在图表中标记每个簇的质心。
完整的Matlab代码如下所示:
```
X = rand(100,2);
k = 3;
[idx, C] = kmeans(X, k);
figure;
hold on;
scatter(X(idx==1,1), X(idx==1,2), 'r');
scatter(X(idx==2,1), X(idx==2,2), 'g');
scatter(X(idx==3,1), X(idx==3,2), 'b');
scatter(C(:,1), C(:,2), 'k', 'filled');
```
阅读全文