Fitting an ellipse to a given set of points

Version 1.0.0.0 (2.46 KB) by Hui Ma
Ellipse fits using geometric parameters based on Levenberg-Marquardt minimization scheme.
758 Downloads
Updated 6 Jul 2011

View License

The most accurate and robust fit minimizes geometric (orthogonal) distances from the observed points to the fitting curve. Our goal is to minimize the sum of squares of orthogonal distances. The Levenberg-Marquardt algorithm requires the computation of the distances and their derivatives with respect to the ellipse parameters. So this method is generated by using implicit differentiation for computing
Jacobian matrix.

Usage: [ParG,RSS,iters] = fit_ellipseLMG(XY,ParGini,LambdaIni)

Child functions:
Residuals_ellipse(from previous submission) , JmatrixLMG (included in the main function)

Input:
XY:given points<XY(i,1),XY(i,2)> i=1 to n
ParGini = [Center(1:2), Axes(1:2),Angle]'
LambdaIni: the initial value of the control parameter Lambda

Output:
ParG: parameter vector of the ellipse found
RSS: the Residual Sum of Squares (the sum of squares of the distances)
iters:# of iterations

Cite As

Hui Ma (2024). Fitting an ellipse to a given set of points (https://www.mathworks.com/matlabcentral/fileexchange/32106-fitting-an-ellipse-to-a-given-set-of-points), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0