Code covered by the BSD License  

Highlights from
Circle fit

image thumbnail

Circle fit


Izhak Bucher (view profile)


26 Jul 2004 (Updated )

Fit a circle to a set of measured x,y points.

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

function   [xc,yc,R,a] = circfit(x,y)
%   [xc yx R] = circfit(x,y)
%   fits a circle  in x,y plane in a more accurate
%   (less prone to ill condition )
%  procedure than circfit2 but using more memory
%  x,y are column vector where (x(i),y(i)) is a measured point
%  result is center point (yc,xc) and radius R
%  an optional output is the vector of coeficient a
% describing the circle's equation
%   x^2+y^2+a(1)*x+a(2)*y+a(3)=0
%  By:  Izhak bucher 25/oct /1991, 
    x=x(:); y=y(:);
   a=[x y ones(size(x))]\[-(x.^2+y.^2)];
   xc = -.5*a(1);
   yc = -.5*a(2);
   R  =  sqrt((a(1)^2+a(2)^2)/4-a(3));

Contact us