координаты прямой линии - Matlab - PullRequest
0 голосов
/ 15 ноября 2018

Я рассчитал линию на основе двух точек. Как мне сохранить все координаты линии (x и y) в двух отдельных массивах?

Сценарий:

x1=50;
x2=130;
y1=30;
y2=200;
coefficients = polyfit([x1, x2], [y1, y2], 1);
a = coefficients (1);
b = coefficients (2);
plot([x1, x2], [y1, y2],  'b','LineWidth',2)

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Читайте о polyval . Вы можете сгенерировать очки, как показано в приведенном ниже коде:

x1=50;
x2=130;
y1=30;
y2=200;
p = polyfit([x1, x2], [y1, y2], 1);

N = 100 ;  % can be changed 
xi = linspace(x1,x2,N) ;
yi = polyval(p,xi) ;

plot(xi,yi,'.-r')

В качестве альтернативы вы также можете использовать наклон / перехват, полученный из polyfit , чтобы получить координаты.

x1=50;
x2=130;
y1=30;
y2=200;
p = polyfit([x1, x2], [y1, y2], 1);

N = 100 ;  % can be changed 
xi = linspace(x1,x2,N) ;
yi = p(2)+p(1)*xi ;
plot(xi,yi,'.-r')
0 голосов
/ 15 ноября 2018

Если у вас есть две точки, (x1, y1) и (x2, y2), вы можете напрямую получить координаты линии, разрезая:

n = 100;
xx=x1:(x2-x1)/n:x2
yy=y1:(y2-y1)/n:y2

Где n указывает, сколько точек координат. xx и yy - это два массива и координаты на линии.

Вы также можете построить линию по

plot(xx,yy)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...