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

Conic fit using algebraic parameters based on Levenberg-Marquardt minimization scheme.

You are now following this Submission

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)

Input:
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

Output:
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 (2026). Fitting a conic to a given set of points using Levenberg-Marquardt method (https://www.mathworks.com/matlabcentral/fileexchange/32108-fitting-a-conic-to-a-given-set-of-points-using-levenberg-marquardt-method), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired: lm_plots

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0