image thumbnail

Fitting a conic to a given set of points using Levenberg-Marquardt method

version (2.77 KB) by Hui Ma
Conic fit using algebraic parameters based on Levenberg-Marquardt minimization scheme.


Updated 6 Jul 2011

View License

A general conic can be uniquely describe by the following equation up to a scale factor: Ax^2+Bxy+Cy^2+Dx+Ey+F=0
Then (A,B,C,D,E,F) is often called algebraic parameter vector of the conic.

Usage: [ParA,RSS,iters,code] = fit_conicLMA(XY,ParAini,LambdaIni)

Child functions:
Residuals_ellipse, Residuals_hyperbola, AtoG( can be found from previous submissions) , JmatrixLMA (included in the main function)

XY:given points<XY(i,1),XY(i,2)> i=1 to n
ParAini = [A,B,C,D,E,F]'- the initial parameter vector
LambdaIni: the initial value of the control parameter Lambda

ParA: vector of algebraic parameters of the conic found
RSS: the Residual Sum of Squares (the sum of squares of the distances)
iters:# of iterations
code: type of the conic:
1 - ellipse
2 - hyperbola
3 - parabola
-1 - degenerate cases
0 - imaginary ellipse
4 - imaginary parallel lines
(in practice, only ellipses and hyperbolas should turn up)

Cite As

Hui Ma (2022). Fitting a conic to a given set of points using Levenberg-Marquardt method (, MATLAB Central File Exchange. Retrieved .

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

Inspired: lm_plots

Community Treasure Hunt

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

Start Hunting!