File Exchange

## Plot an ellipse in "center form"

version 1.0 (2.09 KB) by

Draws 2D and 3D ellipses that are given in "center form".

4.38462
13 Ratings

Updated

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)

Uri Cohen

jack

### jack (view profile)

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

### Kwame (view profile)

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

Ahmed Fasih

### Ahmed Fasih (view profile)

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

### Jimmy (view profile)

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

### Nima Moshtagh (view profile)

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

Bismark Nkansah

### Bismark Nkansah (view profile)

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

### Nima Moshtagh (view profile)

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

### Tony Mei (view profile)

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);

 21 Aug 2007 modifying the file name. 5 Feb 2007 Updated the input arguments of the function. Also, added some comments to the code.
MATLAB 6.5 (R13)