Re: Giving several functions the same argument

*To*: mathgroup at smc.vnet.net*Subject*: [mg109625] Re: Giving several functions the same argument*From*: Murray Eisenberg <murray at math.umass.edu>*Date*: Sat, 8 May 2010 07:08:54 -0400 (EDT)

Use Through. E.g.: Through[{Sin, Cos}[Pi]] {0, -1} f = (2 # &); g = (#^2 &); Through[{f, g}[3]] {6, 9} On 5/7/2010 6:28 AM, Simon Pearce wrote: > Hi Mathgroup, > > > > I have a list of pure functions, which I wish to apply to the same > argument. I can't seem to be able to thread the list of functions over > the argument in a simple way, all the commands like Apply and Map etc > take a single function. I can do it using Table and Part, but it seemed > like there should be a simple command that I'm missing. > > > > For example: > > > > In[1]:= functs = {Sin[#1]&, Cos[#1]&}; > > > > In[2]:= functs[x] > > > > Out[2]= {Sin[#1]&, Cos[#1]&}[x] > > > > I want to get the result {Sin[x],Cos[x]} out, without having to use > something of the form: > > > > In[3]:= Table[functs[[i]][x], {i, 1, 2}] > > > > Out[3]= {Sin[x], Cos[x]} > > > > Which seems like it'd be less efficient when I try and use it on long > lists of functions. > > > > Thanks, > > Simon > -- Murray Eisenberg murray at math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305