134 views (last 30 days)

Evan
on 17 Jul 2013

Edited: Evan
on 17 Jul 2013

P = [1 5.2; 2 0; 3 0; 4 0; 5 9.9; 6 0; 7 0; 8 12.1];

posP = find(P(:,2)); %find where y values aren't zero.

C = polyfit(P(posP(1:2),1),P(posP(1:2),2),1); %fit line to first and second nonzero

Y = polyval(C,P(posP(3),1)); %find value on line at x-value of third nonzero

if Y == P(posP(3),2)

disp('The third point falls on the line')

elseif Y > P(posP(3),1)

disp('The third point falls above the line')

elseif Y < P(posP(3),1)

disp('The third point falls below the line')

end

Sign in to comment.

Iain
on 17 Jul 2013

This is the raw maths...

point1 = [x1 y1];

point2 = [x2 y2];

point3 = [x3 y3];

m = (y2 - y1) / (x2 - x1);

c = y2 - m*x2;

y3_est = m*x3 + c;

if y3_est > y3

disp('point below line')

elseif y3_est == y3

disp('colinear')

else

disp('point above line')

end

Sign in to comment.

Kiran Sagar
on 17 Jul 2013

Frame an equation between two of the points of the form y=mx+c. then replace x with the x-cordinate of the point to be checked, compare the resultant y with the point's y cordinate. that's it. supposing your two points forming the line are the first and last rows of the matrix A, and the test point as one of the in between points, here is a probable code:

A = [1 5.2;

2 0;

3 0;

4 0;

5 9.9;];

m = (A(5,2)-A(1,2))/(A(5,1)-A(1,1));

c = A(1,2)-m*A(1,1);

y_test = m*A(2,1)+c;

if y_test<A(2,2)

%%%%%your statements %%%%%

else

%%%%%your statements%%%

end

Sign in to comment.

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 5 Comments

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160283

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160283

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160289

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160289

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160303

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160303

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160310

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160310

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160334

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/82369-draw-a-line-between-two-points#comment_160334

Sign in to comment.