2013-08-05 2 views
0

Я использовал 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'); 

res

+1

Возможно, посмотрите на триангуляцию Делоне: http://www.mathworks.com/help/matlab/ref/delaunay.html – Dan

ответ

2

так же, как заметил @Dan, вы ищете триангуляции Делоне, который является двойственным клеток Вороного.

Для получения более подробной информации см. https://en.wikipedia.org/wiki/Delaunay_triangulation. информация об авторских прав

From Wikipedia

Изображения: https://en.wikipedia.org/wiki/File:Delaunay_Voronoi.png

Черных точек являются кластерными "центрами". Черные линии - это триангуляция Делане (которая, вероятно, вы ищете), а красные линии и точки - диаграмма Вороного. Обычный способ вычисления дирарама Вороного состоит в том, чтобы сначала выполнить Triangulation Deleaunay, а затем пересечь ортогоналы соседних ребер.

+0

Я обновил вопрос, поэтому, если бы вы могли его проверить, пожалуйста, спасибо alot – Tak

+0

Там кажется, является ошибкой в ​​вычисленной триангуляции или способом ее использования. 'freeBoundary' не кажется подходящим; вы действительно хотите все края треугольника. –

+0

Я обновил вопрос, когда проблема заключается в том, что есть некоторые нежелательные соединения, которые создаются между центроидами соседних кластеров «например, центр тяжести кластера с центроидами нижних кластеров», не могли бы вы посоветовать? – Tak