Could someone explain this straight line function?

4 views (last 30 days)
Jack Rimmer on 14 Jan 2021
Answered: David Hill on 14 Jan 2021
I found this bit of code in another help thread:
func = @(x)a(1) + (a(2)-b(2))/(a(1)-b(1))*(x-a(1));
I have gotten it to work in matlab fine but I dont actually understand what it is doing on a mathimatical level.
Could someone explain so I solve some errors im having with similar functions?
Thanks

Stephan Ciobanu on 14 Jan 2021
Hi!
a(1) % extracts the first element of array a
a(2) % extracts the second element of array a
if a is an array: with
and b, similarly, with
func is:

David Hill on 14 Jan 2021
It is point-slope form of a line. If the points are a=[x2, y2] and b=[x1, y1], then:
m=(a(2)-b(2))/(a(1)-b(1));%slope
func =@(x) m*(x-a(1))+a(2);%above equation seems to be wrong, should be +a(2)
func =@(x) m*(x-b(1))+b(2);%same thing just using other point

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!