2017-06-15 21 views
0

我已经创建了一个矩阵A,以下面的方式:MATLAB,对3D 6个分区执行k均值坐标

A = [X; Y; D] 

XY,和D是表示所述一组X,Y的1 X 93列表,我想在其上执行k-means的Z坐标。

我想,但在调用时k均值这样对6个分区集群:

kmeans(A,6) 

我得到的错误:

Error using kmeans (line 262) 
X must have more rows than the number of clusters. 

为什么会出现这种错误出现在哪里?如果我正在接近在三维矩阵上执行k-均值的问题,那么接近它的另一种方法是什么?

:3个分区集群将工作 - 任何更高行不通

+2

kmeans(A',6)'。 'A'必须是'n'x'p' –

回答

1

正如你可以看到in the document,每列显示变量,每行显示的观察。当前A是一个3x93矩阵。这意味着你在空间维度上有3次观察。因此,你应该串联三个矩阵如下所示:

newA = [X.' Y.' D.']; // a matrix with 93x3 dimensions 

然后敷在newAkmeans(newA, 6) K-means算法。