MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Determine the radius of the minimum sized circle that encompasses all the points.

Per Smallest Sphere Paper this question was first addressed by Sylvester in 1857, Megiddo in 1982, and optimized by Emo Welzl in 1991.

**Input:** Points (eg [0 0;0 1;2 0]) Minimum of 3 points

**Output:** r (radius of optimally centered circle)

**Example:** [0 0;0 1;2 0] yields [xc,yc,r] [1 .5 1.118] Output r=1.118

**Theory:**
Best Circumcircle may occur in two ways:

1) Center of Line connecting pair with maximum separation, or

2) A circle utilizing three points from the set

**Related Challenges:**

**Warning:** Rounding Errors may cause solution errors. Usage of 10*eps(r) may be appropriate.

4 correct solutions
18 incorrect solutions

Last solution submitted on Oct 26, 2013

1 player likes this problem

1 player likes this solution

1 Comment

Richard Zapor
on 10 Jul 2013

Another astounding solution by Tim using complex numbers and for loops that create vectors. Example of for loop vectorization: for i=nchoosek(3:6,2)',i,end. Very nice mthod.

3 Comments