File Exchange

Plot an ellipse in "center form"

version 1.0.0.0 (2.09 KB) by
Draws 2D and 3D ellipses that are given in "center form".

Updated 16 Nov 2007

Ellipse_plot(A,c)

This function draws an N-dimensional ellipse (N = 2,3) that is given in "center form":

(x - C)' A (x - C) <= 1

where C is the center of the ellipse, and A is an NxN positive definite symmetric matrix.

A and C could be the outputs of the function: "MinVolEllipse.m", which computes the minimum volume enclosing ellipsoid containing a set of points in an N-dimensional space. For example, you can use this function as follows:

P = rand(3,100);
t = 0.001;
[A , C] = MinVolEllipse(P, t)
figure
plot3(P(1,:),P(2,:),P(3,:),'*')
hold on
Ellipse_plot(A,C)

Cite As

Nima Moshtagh (2021). Plot an ellipse in "center form" (https://www.mathworks.com/matlabcentral/fileexchange/13844-plot-an-ellipse-in-center-form), MATLAB Central File Exchange. Retrieved .

Dimitrios Bousias

Uri Cohen

jack

If i multiply A with (1-epsilon) then the ellipse gets bigger which is not logical since i lower the eigen values by multiplying A with a number lower than one and if i multiply A with a number bigger than 1 then the ellipse gets smaller.

Is there a bug?
If not, can you please explain?

lan

wonderful！！

Sepehr Farhand

Kwame

Can you please show me an example of the function inputs? I keep getting errors about my inputs.

Ahmed Fasih

To plot just circles with "r" radius, pass in eye(2)*(r)^-2 as the covariance matrix. A plot function like this shouldn't change the plot more than it needs to: I disabled the "grid" and "axis" commands. It should also return handles to the plot objects it creates: I had to add this as well. But this code gets me 95% there, thanks.

LIAO xj

Jimmy

Error appears when I use your function.
I found that there is another ellipsoid.m in my external toolbox.
Maybe this ellipsoid.m is called instead of that in Matlab.
So, how to solve this problem?

Nima Moshtagh

Here is a link to the (unpublished) paper describing the algorithm and math behind the code:

Bismark Nkansah

Is it possible that in determining the minimum volume we can assign weights to the points such that the farther away a point is from the main 'cloud' the smaller its weight?
Thanks a lot.

Nima Moshtagh

Here is a paper describing the "minimum volume enclosing ellipse" algorithm and the math behind the code: http://www.seas.upenn.edu/~nima/papers/Mim_vol_ellipse.pdf

Tony Mei

Terrific!
Well, good programs! However, Nima, could you please show me some reference link to the mathematical basis of your algorithm ? Thanks a lot.

Santanu Ghorai

Earlier I was doing only maths! But this has given me the joy of visualization.

Gergely Takacs

Exactly what I was searching for! Thanks!:)

david torres

works like a charm

Blake Richards

I found it quite easy to use and read.

nima moshtagh

Function ellipsoid.m is an standard MATLAB command. It is included in version R13.

John Huddleston

The ellipsoid.m function is missing

[X,Y,Z] = ellipsoid(0,0,0,a,b,c,N);

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