Re: minimize avg distance to some points
- To: mathgroup at smc.vnet.net
- Subject: [mg38315] Re: minimize avg distance to some points
- From: Tom Burton <tburton at brahea.com>
- Date: Thu, 12 Dec 2002 01:33:00 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Hello,
On 12/10/02 1:21 AM, in article at4blv$emc$1 at smc.vnet.net, "Daniel Reeves"
<dreeves at umich.edu> wrote:
> Given a list of n-dimensional points, find a point that minimizes the
> average distance to all the given points.
>
> ...
>
> Solve[eqs, {z[1], z[2], z[3]}]
>
> But Mathematica chokes on that...
>
> Any ideas for a better algorithm to find the total-distance minimizing
> point (this should work for any dimensions; 16 in my case)?
Well, I happen to know the answer in three dimensions:
In[15]:=
centroid = Plus@@points/Length[points]
Out[15]=
11 13 15
{--, --, --}
2 2 2
In[16]:=
eqs /. Thread[Array[z,3]->centroid]
Out[16]=
{True, True, True}
Maybe you can extend this to n dimensions. I cannot do so, at least not
trivially. However, FindRoot worked nicely in the 16-dimensional examples I
tried.
Tom Burton