To find intersection point of two lines ?
89 次查看(过去 30 天)
显示 更早的评论
x1=7.8;
x2=8.5;
y1=0.96;
y2=0.94;
p1 = polyfit([x1 x2], [y1 y2], 2);
b1= polyval(p1,1);
m1=polyval(p1,2)-b1;
x3=8.25;
x4=8.25;
y3=0;
y4=.99;
p2 = polyfit([x3 x4], [y3 y4], 2);
b2 = polyval(p2, 1);
m2 = polyval(p2, 2) - b2;
I got x value = -1.2867; from which co-ordinate this value corresponds to? Actually I want to compute intersection of two line with respect to x=[7.8 8.25 8.5]; y=[0.96 0.99 0.94]; over which those two lines are plotted?
x=[7.8 8.25 8.5];
y=[0.96 0.99 0.94];
p=polyfit(x,y,2);
f=polyval(p,x);
plot(x,y,'o',x,f,'-');
hold on;
line([7.8 8.5],[0.96 0.94]);
hold on;
line([8.25 8.25],[0 0.99]);
0 个评论
采纳的回答
Friedrich
2013-4-13
Hi,
not sure if I understand correctly what you want but is this what you are looking for?
%line1
x1 = [7.8 8.5];
y1 = [0.96 0.94];
%line2
x2 = [8.25 8.25];
y2 = [0 0.99];
%fit linear polynomial
p1 = polyfit(x1,y1,1);
p2 = polyfit(x2,y2,1);
%calculate intersection
x_intersect = fzero(@(x) polyval(p1-p2,x),3);
y_intersect = polyval(p1,x_intersect);
line(x1,y1);
hold on;
line(x2,y2);
plot(x_intersect,y_intersect,'r*')
3 个评论
更多回答(1 个)
Matt J
2022-7-6
编辑:Matt J
2022-7-6
How do you solve a special case when the slope is 0, Inf or –Inf?
%line1
x1 = [7.8 8.5];
y1 = [0.5 0.5];
XY1=[x1;y1];
%line2
x2 = [8.25 8.25];
y2 = [0 0.99];
XY2=[x2;y2];
xy_intersect=linexlines2D( XY1(:,1), XY1(:,2) , XY2(:,1), XY2(:,2))
plot(xy_intersect(1),xy_intersect(2),'ro')
line(x1,y1);
line(x2,y2);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!