2017-04-03 2 views
0

Ich habe eine Reihe von zweidimensionalen Vektoren in Matlab. Wenn ich sie im zweidimensionalen Raum mit Hilfe von Streuung zeichne, füllen sie einen Bereich, der nicht konvex ist. Gibt es eine Möglichkeit, einfach nur die Grenze des Gebiets zu zeichnen? Ich habe versucht, hist plus contour oder convex hull, aber sie tun nicht die Arbeit.Zeichnen Sie nur den Rand des Streudiagramms in Matlab

+1

'Konvexe Hülle()' (https://www.mathworks.com/help/matlab/ref/delaunaytriangulation.convexhull.html) scheint, wie die Antwort auf Ihre Frage. Könnten Sie bitte Ihren Code für diesen Versuch hinzufügen? –

Antwort

0

Von Matlab-Hilfe:

x = gallery('uniformdata',[10,1],0); 
y = gallery('uniformdata',[10,1],1); 
DT = delaunayTriangulation(x,y); 
k = convexHull(DT) 
figure 
plot(DT.Points(:,1),DT.Points(:,2), '.','markersize',10); 
hold on 
plot(DT.Points(k,1),DT.Points(k,2),'r') 
hold off 
Verwandte Themen