vector3d.calcCluster edit page

seperate directions into clusters

Syntax

[cId,center] = calcCluster(vec,'halfwidth',2.5*degree)
[cId,center] = calcCluster(vec,'numCluster',n,'method','hierarchical')
[cId,center] = calcCluster(vec,'maxAngle',omega,'method','hierarchical')

Input

vec vector3d
n number of clusters
omega maximum angle

Output

cId list of clusters ids
center center of the clusters

Example

%generate vector data of up to 5 clusters
vin = vector3d.rand(5);
sF2 = calcDensity(vin,'halfwidth',10*degree);
v   = sF2.discreteSample(800);

find clusters and their centers

[cId,center] = calcCluster(v,'numCluster',5,'method','hierarchical');

visualize the result

plot(v,cId)
hold on
plot(center,'add2all','MarkerSize',10,'MarkerFaceColor','k')
hold off
%check the accuracy of the recomputed centers
min(angle_outer(center,vin)./degree)
ans =
   10.4473    0.7218    0.3485    0.6109   12.2760