Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To find intersection point of two lines ?

Asked by S on 6 Apr 2013
Latest activity Commented on by hu on 31 Oct 2013
      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 Comments

S

Products

No products are associated with this question.

1 Answer

Answer by Friedrich on 13 Apr 2013
Accepted answer

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*')

1 Comment

hu on 31 Oct 2013

How do you solve a special case when the slope is 0, Inf or –Inf?

Friedrich

Contact us