Re: Capture values that Min(imize)
- To: mathgroup at smc.vnet.net
- Subject: [mg117762] Re: Capture values that Min(imize)
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Thu, 31 Mar 2011 03:58:51 -0500 (EST)
Since Sqrt is Listable this can be writen slightly more compactly. L = 14.95; cList = {2.2, 3.2, 6.9, 7.9}; err[f_, c_] := (f - 1/(2 Pi Sqrt[L c*10^-6]))/f Table[{f, cList[[Ordering[Abs[err[f, cList]], 1]]]}, {f, 15, 30}] == Table[{f, cList[[Ordering[Abs[err[f, #]] & /@ cList, 1]]]}, {f, Range[15, 30]}] True Bob Hanlon ---- Heike Gramberg <heike.gramberg at gmail.com> wrote: ============= I don't know if this is slicker, but what about Table[{f, cList[[Ordering[Abs[err[f, #]] & /@ cList, 1]]]}, {f, Range[15, 30]}] Heike On 29 Mar 2011, at 12:50, 1.156 wrote: > Hi, I finally found a way to get a list of c values from cList which > minimize the err at each freq, f as below: > > L=14.95;cList={2.2, 3.2, 6.9, 7.9}; > > err[f_,c_]:=(f-1/(2Pi Sqrt[L c*10^-6]))/f > > Table[{f,Select[cList,(Abs[err[f,#]]==Min[Abs[err[f,#]]&/@cList])&]},{f,15,30}] > > This works but looks horrible. Surely there's a slicker way to Minimize > on a list and retain the value that achieved the minimum. I did try to > stuff Reap/Sow in various places but everything I did threw error > messages. Thanks for any pointers, Rob >