Как линеаризовать зигзагообразную линию в Matlab

Я должен линеаризовать зигзагообразную линию в Matlab. Я использовал команду 'line' в matlab для генерации линии наклона, но она не гладкая. Может кто-нибудь мне помочь.

Я сейчас использую следующий код

len = 3;
wid = 1;
ly  = 1;
lx  = 0.5;
th  = 60;
vertices = [lx      ly;
            lx+wid  ly;
            lx+wid  ly+len;
            lx      ly+len;
            lx      ly];
R=[ cos(th) sin(th);
   -sin(th) cos(th)];
w   = vertices*R;
wx1 = w(:,1);
wx1 = wx1';
wy1 = w(:,2);
wy1 = wy1';
h=line(wx1,wy1,'color','black');
axis([-10 10 -10 10])
axis off

2 ответа

Судя по вашему изображению, похоже, что на линии было применено сглаживание. Это должно было произойти, когда вы сохранили свой график в растровом /JPEG. Возможно, изображение, которое вы видите на осях, является плавным.

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

Вы устанавливаете x- и y-пределы одинаковыми

axis([-10 10 -10 10])

Но это не гарантирует одинаковое масштабирование, так как сама фигура может иметь разную ширину в зависимости от высоты.

Однако вы можете установить одинаковое масштабирование

axis equal
Другие вопросы по тегам