2010-05-11 15 views
6

Ho una serie di datapoints ciascuno dei quali appartiene ad un determinato gruppo (gruppo). Ho bisogno di disegnare un poligono attorno a ciascuno di questi cluster. Qualcuno sa come farlo?Disegnare un poligono attorno gruppi di punti dati in MATLAB

Non importa se usare o non usare i datapoint effettivi per disegnare il poligono. Ho solo bisogno che siano avvolti in un poligono.

risposta

7

Prova la funzione convhull. Restituisce gli indici dai punti del tuo set di dati che definiranno lo scafo convesso. Dovrai farlo per ogni cluster che traccia.

Ad esempio:

x=rand(1,100); %#generate x and y data for your clusters 
y=rand(1,100); 
k=convhull(x,y); %#generate indices marking the outermost points 

hold on 
plot(x,y,'b.') %# plot your cluster points 
plot(x(k),y(k),'r-') %# plots only k indices, giving the convex hull 

questo vi darà un poligono i cui indici coincidono con i valori anomali dei cluster.

1

non sono sicuro se c'è una soluzione pre-made per questo come io non sono troppo familiarità con MATLAB, ma questo suona come voi bisogno di una soluzione convesso.

Spero che questo si punta nella direzione giusta.

1

convhull funziona solo se si dispone di una forma convessa (come un ellissoide). Se la distribuzione dei dati ha curve concave, come una forma a banana, allora convhull non funzionerà. Fortunatamente MATLAB ha una funzione per gestire questo: alphashape

a seconda del valore "alfa", si ottengono più o meno sfaccettature nel poligono risultante.

volta si ha la coordinate x, y delle faccette, è possibile tracciarli direttamente, ma il poligono avranno facce piane, o:

invece di interpolazione, è possibile definire un x, y, z griglia all'interno del quale visualizzare i dati e chiedere, è x, y nella forma alfa? Se lo è, dare un valore z = 1 e se non dare un valore z = 0. poi semplicemente contorno della griglia in cui z = 1.

è anche possibile utilizzare impoly per disegnare il poligono manualmente

hobbyspline sullo scambio di file Matlab consente inoltre di smussare i bordi di un poligono

Problemi correlati