Could someone explain this straight line function?

5 views (last 30 days)
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

Accepted Answer

Stephan Ciobanu
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:

More Answers (1)

David Hill
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!