MathGroup Archive 2007

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

Search the Archive

Re: Functions with data hidden in them

  • To: mathgroup at smc.vnet.net
  • Subject: [mg81848] Re: Functions with data hidden in them
  • From: Szabolcs Horvát <szhorvat at gmail.com>
  • Date: Fri, 5 Oct 2007 04:43:00 -0400 (EDT)
  • References: <fe28v5$muq$1@smc.vnet.net>

Neil Stewart wrote:
> The Interpolation[] function somehow "hides" the data passed to it in the
> InterpolationFunction object that it returns. In the example below, when
> f[1] is evaluated it is using information from the list data, but does not
> have the list data passed to it as parameter.
> 
> In[1]:= data = {{1, 1}, {2, 2}, {3, 3}}
> 
> In[2]:=  f = Interpolation[data]
> 
> In[3]:= f[1]
> Out[3]= 1
> 
> How can I write my own function that stores data inside itself in the same
> way that Interpolation does? I'm aiming to write a functions that takes a
> number as a parameter and consults a large data set to return a number. I'm
> not sure where to start - any ideas very welcome!
> 

An example:

power[n_][x_] := x^n

power[5] is a function that raises its argument to the 5th power.  5 is 
the data "hidden" inside it.

Format[power[_]] := "--power--"
(* Suppresses printing of the "hidden" data *)

f = power[5]
(* Now f[2] gives 32 *)

-- 
Szabolcs


  • Prev by Date: Re: Re: Re: Simplifying Log[a] + Log[expr_] -
  • Next by Date: Re: Functions with data hidden in them
  • Previous by thread: Functions with data hidden in them
  • Next by thread: Re: Functions with data hidden in them