% POLYFIT POLYFIT Fit Polynomial To Data % % Usage % % The polyfit routine has the following syntax % % p = polyfit(x,y,n) % % where x and y are vectors of the same size, and % n is the degree of the approximating polynomial. % The resulting vector p forms the coefficients of % the optimal polynomial (in descending degree) that fit % y with x. % Copyright (c) 2002-2006 Samit Basu function p = polyfit(x,y,n) x = x(:); y = y(:); if (size(x,1) ~= size(y,1)) error('size mismatch on arguments to polyfit - they should be the same size'); end if (n < 0 | n > 200) error('invalid polynomial order in polyfit - must be between [1,200] inclusive'); end A = zeros(size(x,1),n+1); xp = x*0.0f+1.0f; for i=(n+1):-1:1 A(:,i) = xp; xp = xp.*x; end p = (pinv(A)*y)';