Как линеаризовать зигзагообразную линию в 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