polyfit线坐标-Matlab

时间:2018-11-14 22:12:49

标签: matlab

我基于两点计算了一条线,如何将所有线坐标(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 :(得分:3)

了解有关 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')

答案 1 :(得分:1)

如果有两个点(x1,y1)和(x2,y2),则可以通过切片直接获得线坐标:

%env KAGGLE_USERNAME=$username

n = 100; xx=x1:(x2-x1)/n:x2 yy=y1:(y2-y1)/n:y2 的位置指定了多少个坐标点。 nxx是在线上存储和坐标的两个数组。

您还可以通过

绘制线条
yy