Я использовал K-средства для кластеризации данных в 8 разных кластерах, используя это [X,C] = kmeans(XX, 8]
, это означает, что у меня есть 8 центроидов, где их местоположения хранятся в C
«пример показан ниже X Y Z как coloumns». Я хочу связать 8 центроидов вместе, когда только центроиды скоплений, которые находятся близко друг к другу, связаны «имеют границы друг с другом», в то время как центроиды кластеров, которые не близки друг к другу, не связаны. Так что, если кто-нибудь может проконсультироваться?Присоединиться к соседним кластерным центроидам Matlab
C=
-0.214560757496055 0.208243029984219 1.27200000000000
-0.170247238295634 0.399735227073470 1.14600000000000
-0.0129089952656497 0.410839908819919 1.22700000000000
-0.244488865509381 0.0526915658425390 1.20200000000000
-0.391215149921094 0.258634052253200 1.23600000000000
-0.258542872172541 0.307469752761704 1.18100000000000
-0.346834999123269 0.413056286165176 1.16100000000000
-0.0885709275819744 0.278674381904261 1.23200000000000
Я использовал как это было предложено, но центроиды некоторых кластеров, но есть некоторые нежелательные соединения, которые построены между центроидой без соседних кластеров «, например, центр тяжести верхнего кластера с центроидой нижних кластеров ", как показано на рисунке, так что если вы можете, пожалуйста, сообщите
X=C(:,1);
Y=C(:,2);
Z=C(:,3);
dt = DelaunayTri(X,Y,Z);
tetramesh(dt,'FaceColor', 'none');
Возможно, посмотрите на триангуляцию Делоне: http://www.mathworks.com/help/matlab/ref/delaunay.html – Dan