       Re: Evaluation Question

• To: mathgroup at smc.vnet.net
• Subject: [mg76464] Re: Evaluation Question
• From: Albert <awnl at arcor.net>
• Date: Wed, 23 May 2007 05:02:55 -0400 (EDT)
• References: <f2u57d\$k2n\$1@smc.vnet.net>

```hoffmannick wrote:
> Can anyone help me solve the following problem?
>
> I have a function of 3 variables, let's say
> f[a_, b_, c_] = a + b + c
>
> Now I need to evaluate the function at some given points.  To evaluate
> at a single point I would do
> f[0,0,1]
>
> For the point (0,0,1)
>
> Now here is the main question.
> I need to evaluate this function at the points (0,0,0) through (1,1,1)
> That would be the points:
> 0,0,0
> 0,0,1
> 0,1,0
> 0,1,1
> 1,0,0
> 1,0,1
> 1,1,0
> 1,1,1
>
> I'm testing these for approx 32 different functions.  Is there an easy
> way that I can define the function and then have it test all the
> points for me?  It will always be those finite points listed above.
>
> I looked into the mathematica documentation and it said how to do this
> with a function of a single variable, but it didn't say how to do it a
> function of more than one variable.
>
> I really appreciate your help
>
>
I think the easiest for this case is to use a special Form of Apply:

In:=
f[a_, b_, c_] = a + b + c
Out=
a + b + c
In:=
points = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}}
Out=
{{0, 0, 0}, {1, 0, 0}, {0, 1, 0}}
In:=
Apply[f, points, {1}]
Out=
{0, 1, 1}

that's a shortcut for it:

In:=
f @@@ points
Out=
{0, 1, 1}

this also works, but is more elaborate for multiple arguments:

In:=
Map[Apply[f, #] &, points]
Out=
{0, 1, 1}
In:=
f @@@ points
Out=
{0, 1, 1}

hth,

albert

```

• Prev by Date: Re: Plot[], Show[] and ; in Version 6
• Next by Date: Re: Bitmap data extraction (matrix of matrix)
• Previous by thread: Re: Evaluation Question
• Next by thread: Re: Evaluation Question