Рисование полигона вокруг групп точек данных в MATLAB

У меня есть ряд точек данных, каждая из которых принадлежит определенному кластеру (группа). Я должен потянуть полигон вокруг каждого из этих кластеров. Кто-либо знает, как сделать это?

Не имеет значения, если я использую или не использую фактические точки данных для рисования полигона. Мне просто нужны они, чтобы быть перенесенным в полигон.

6
задан MatlabDoug 12 May 2010 в 18:35
поделиться

2 ответа

Попробуйте использовать функцию convhull . Он возвращает индексы из точек в вашем наборе данных, которые будут определять выпуклую оболочку. Вам нужно будет сделать это для каждого кластера, который вы строите.

Например:

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

Это даст вам многоугольник, индексы которого совпадают с выбросами ваших кластеров.

7
ответ дан 10 December 2019 в 02:43
поделиться

Я не уверен, есть ли предварительно сделанное решение для этого, так как я не слишком знаком с MATLAB, однако это звучит так, как будто вам нужно выпуклое решение корпуса.

Надеюсь, это укажет вам правильное направление.

1
ответ дан 10 December 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: