Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Evaluation Question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg76475] Re: [mg76448] Evaluation Question
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Wed, 23 May 2007 05:08:37 -0400 (EDT)
  • References: <200705220656.CAA20144@smc.vnet.net>

On 22 May 2007, at 15:56, 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
>
>

Let's first create your list of points:

points = Sort[(IntegerDigits[#1, 2, 3] & ) /@ Range[8]]
{{0, 0, 0}, {0, 0, 1}, {0, 1, 0}, {0, 1, 1},
    {1, 0, 0}, {1, 0, 1}, {1, 1, 0}, {1, 1, 1}}

Let's define two funcitons:

f[a_, b_, c_] := a + b + c
g[a_, b_, c_] := a*b - c

This is how you can compute the values of f at all points:

  f @@@ points
  {0, 1, 1, 2, 1, 2, 2, 3}

This is how to get the values of g at all points:

g @@@ points
{0, -1, 0, -1, 0, -1, 1, 0}


And this is how to get both the values of f and of g at once:

Transpose[Apply[Through[{f, g}[##]] &, points, {1}]]

{{0, 1, 1, 2, 1, 2, 2, 3}, {0, -1, 0, -1, 0, -1, 1, 0}}

So you can first define your points, then a list of functions, and  
then use the above method to apply your list of functions to your  
list of points.

Andrzej Kozlowski


  • Prev by Date: Re: Hankel transformation // Fourier transformation for a circular function
  • Next by Date: Re: Re: Re: v. 6, third argument to rectangle
  • Previous by thread: Re: Evaluation Question
  • Next by thread: Re: Evaluation Question