用Matlab编程,已知两个点的坐标,怎么求直线的方程啊?
2022-09-29 · 百度认证:北京惠企网络技术有限公司官方账号
k=B(2)-A(2)/((B(1)-A(1));k是系数;b=A(2)-k*A(1);b是常数。(方程:y=k*x+b)。
设点1(x1,y1),点2(x2,y2)
a=polyfit([x1,x2],[y1,y2],1)
则方程为y=a(1)x+a(2)
例如:
function qiuzhixian(varargin)%求通过一点或两点的直线
%%%%使用方法:qiujzhixian([2 3]),qiujuli([2 3],[4 5]),
if nargin==0
disp('未输入,请至少输入一点坐标值')
end
if nargin==1
x1=varargin{1};
p=polyfit([x1(1) 0],[x1(2) 0],1);
eq=poly2sym(p);
disp(['输入只有一点,则求通过这点和原点的直线方程为:y = ' char(eq)])
end
if nargin==2
x1=varargin{1};
x2=varargin{2};
p=polyfit([x1(1) x2(1)],[x1(2) x2(2)],1);
eq=poly2sym(p);
disp(['输入有两点,则求通过这两点的直线方程为:y = ' char(eq)])
end
if nargin>2
disp('输入超过两个点,请至多输入两点坐标值')
end
end
扩展资料:
⑴点(x1,y1)关于点(x0,y0)对称的点:(2x0-x1,2y0-y1)
⑵点(x0,y0)关于直线Ax+By+C=0对称的点:
( x0-2A(Ax0+By0+C)/(A^2+B^2) ,y0-2B(Ax0+By0+C)/(A^2+B^2) )
⑶直线y=kx+b关于点(x0,y0)对称的直线:y-2y0=k(x-2x0)-b
⑷直线1关于不平行的直线2对称:定点法、动点法、角平分线法
参考资料来源:百度百科-直线方程