Euclidian projection on ellipsoid and conic

Projecting a point on ellipsoid or conic in n-dimensional space

You are now following this Submission

Find the projection of point P in R^n on the ellipsoid

E = { x = x0 + U*(z.*radii) : |z| = 1 }, where U is orthogonal matrix of the orientation of E, radii are the axis lengths, and x0 is the center.

Or on generalized conic E = { x : x'*A*x + b'*x + c = 0 }.

The projection is the minimization problem:
min | x - P | (or max | x - P|) for x in E.

Method: solve the Euler Lagrange equation with respect to the Lagrange multiplier, which can be written as polynomial equation (from an idea by Roger Stafford)

Cite As

Bruno Luong (2026). Euclidian projection on ellipsoid and conic (https://www.mathworks.com/matlabcentral/fileexchange/27711-euclidian-projection-on-ellipsoid-and-conic), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

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

Fix a bug, Introducing an adjustable tolerance value for parabola detection

1.3.0.0

Cosmetic changes + Script for test example for 2D conic projection

1.2.0.0

Extend to generalized conic (ellipsoid, paraboloid, hyperboloid, etc...)

1.0.0.0