Re: Map[] and multiple args function
- To: mathgroup at smc.vnet.net
- Subject: [mg96237] Re: [mg96198] Map[] and multiple args function
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Tue, 10 Feb 2009 05:48:52 -0500 (EST)
- Reply-to: hanlonr at cox.net
Foo[x_, y_, z_] := x + 2*y + 3*z Total[Apply[Foo, {{1, 2, 3}, {4, 5, 6}}, 1]] 46 Total[Foo @@@ {{1, 2, 3}, {4, 5, 6}}] 46 Bob Hanlon ---- sagrailo at gmail.com wrote: ============= I know this has to be FAQ, but I'm just not able to find an answer anywhere, so - here it goes: I have a multiple-arguments function, say something like: Foo[x_, y_, z_] := x + 2*y + 3*z Now, I want to call this function number of times, over different sets of arguments, and then to sum results. I thought about storing argument triplets into some kind of list, and then employing sequence of Map[] and Apply[] to get the job done. After number of trials and errors, I came up with following piece of code doing the thing: Plus @@ Foo /@ {{1, 2, 3}, {4, 5, 6}} /. List -> Sequence but I even don't fully understand what's going here, and also I'm wondering is there a "better" way to accomplish this. So - any suggestion? Thanks.