Find first order (line) approx. for points p1, p2, p3
0001 0002 function [pl, vec] = findLine(p1, p2, p3) 0003 % Find first order (line) approx. for points p1, p2, p3 0004 x = [p1(1) p2(1) p3(1)]'; 0005 y = [p1(2) p2(2) p3(2)]'; 0006 0007 if (sum(x)/3) == x(1) 0008 pl = [x(1) 1]; 0009 vec = [0 1]; 0010 else 0011 p = polyfit(x,y,1); 0012 u = [min(x):0.01:max(x)]'; 0013 v = p(1)*u +p(2); 0014 vec = [u(length(u))-u(1) v(length(v))-v(1)]; 0015 pl = [u(1) v(1)]; 0016 end 0017 pl; 0018 vec;