用Matlab编程,已知两个点的坐标,怎么求直线的方程啊?
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对称:定点法、动点法、角平分线法
参考资料来源:百度百科-直线方程
2024-08-07 广告
k为拦缺线性系数粗汪,b为常系简凳辩数。
k=12
b=-3
A是一个0-1对称方阵,如果第i个点和第j个点相连,那么A(i,j)=A(j,i)=1,如果不相连,那么A(i,j)=A(j,i)=0
B是2列的矩阵,第i行就是第i个点的坐芦尘标
下面的链接是一个例子
—————————————陵肢—————陪汪禅——————
还有就是这两天这个图我已经见过n次了,希望做数模竞赛的朋友用自己的实力比赛,即使使用最一般的plot函数,加几个循环照样可以轻松绘制的。
k=(B(1,2)-A(1,2))/(B(1,1)-A(1,1))