Re: Thread? Through? Operate?
- To: mathgroup at smc.vnet.net
- Subject: [mg32399] Re: Thread? Through? Operate?
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Sat, 19 Jan 2002 01:16:33 -0500 (EST)
- References: <a28b6v$h3h$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Johannes, The following seem to be faster fns={f,g,h}; args={a,b,c}; Thread[Unevaluated[#1[#2]&[#1,#2]]]&[fns,args] {f[a],g[b],h[c]} MapThread[#[#2]&,{fns,args}] {f[a],g[b],h[c]} Inner[#1[#2] &, fns, args, List] {f[a],g[b],h[c]} I use the outer function in the first one to put the evaluated fns and args inside Thread. We can make the other two into stand-alone functins in the same way, for example MapThread[#[#2]&,{#1,#2}]&[fns,args] {f[a],g[b],h[c]} -- Allan --------------------- Allan Hayes Mathematica Training and Consulting Leicester UK www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565 "Johannes Ludsteck" <johannes.ludsteck at wiwi.uni-regensburg.de> wrote in message news:a28b6v$h3h$1 at smc.vnet.net... > Dear MathGroup members, > I have a list of n unnamed functions > > f = {expr1 &, expr2 &,... ,exprn &} > (each function has exactly one arguement. > and a list of n arguments. > > arg = {arg1, arg2,... ,argn} > > I simply want to apply each function expri & > to the respective argument argi in order > to obtain the list of function values fi. > Is there no more elegant way than the following one? > > Map[#[[1]][#[[2]]]&, Transpose[{f,arg}] > > Thanks, > Johannes > > <><><><><><><><><><><><><><><><><><> > Johannes Ludsteck > Institut fuer Volkswirtschaftslehre > Lehrstuhl Prof. Dr. Moeller > Universitaet Regensburg > Universitaetsstrasse 31 > 93053 Regensburg > Tel +49/0941/943-2741 >