Re: Re: Re: Applying a list of functions to a list of arguments
- To: mathgroup at smc.vnet.net
- Subject: [mg57472] Re: [mg57444] Re: [mg57377] Re: [mg57309] Applying a list of functions to a list of arguments
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sun, 29 May 2005 01:03:30 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
f={f1,f2,f3};
#[a]&/@f
{f1(a),f2(a),f3(a)}
or
#@a&/@f
{f1(a),f2(a),f3(a)}
Bob Hanlon
>
> From: Murray Eisenberg <murray at math.umass.edu>
To: mathgroup at smc.vnet.net
> Date: 2005/05/28 Sat AM 05:39:07 EDT
> Subject: [mg57472] [mg57444] Re: [mg57377] Re: [mg57309] Applying a list of
functions to a list of arguments
>
> This problem also reminds me of a simpler one: Given
>
> f = {f1, f2, f3};
> a = (* some number *)
>
> what are nice ways of producing the following result?
>
> {f1[a], f2[a], f3[a]}
>
> Th
> Wolf, Hartmut wrote:
> >>-----Original Message-----
> >>From: D M Yates [mailto:yatesd at mac.com]
To: mathgroup at smc.vnet.net
> >
> >>Sent: Tuesday, May 24, 2005 11:13 AM
> >>Subject: [mg57472] [mg57444] [mg57377] [mg57309] Applying a list of functions to a list of arguments
> >>
> >>I have a list of functions, and a list of arguments:
> >>
> >>For example,
> >>f = {f1, f2, f3}
> >>a = {a1,a2,a3}
> >>
> >>I would like to return
> >>{f1[a1],f2[a2],f3[a3]}
> >>
> >>I thought this should easy, but am stumped. Obviously the lists are of
> >>equal, but arbitrary length, and the arguments may or may not
> >>be atomic
> >>expressions. In my particular case, the arguments are likely to be
> >>combinations of Real, and List[Real,...], but I hope this is
> >>irrelevant.
> >>
> >>Any suggestions?
> >>
> >>Many thanks,
> >>
> >>Derek Yates
> >>
> >>
> >
> >
> > This is indeed a FAQ.
> >
> > If you like to consider your list of arguments as a list of argument
> > lists (of one argument here):
> >
> > In[8]:= aa = Partition[a,1]
> > Out[8]= {{a1}, {a2}, {a3}}
> >
> > then
> >
> > In[9]:= MapThread[Apply,{f, aa}]
> > Out[9]= {f1[a1], f2[a2], f3[a3]}
> >
> >
> > else
> >
> > In[10]:= MapThread[#1@#2&,{f, a}]
> > Out[10]= {f1[a1], f2[a2], f3[a3]}
> >
> > --
> > Hartmut Wolf
> >
> >
>
> --
> 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
>
>