MathGroup Archive 2006

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

Search the Archive

Re: How to extract functions from a list and call them with any argument?


dmp55 at sympatico.ca wrote:
> I have a list of functions, i.e.,
> 
> funclist = {Sin[x], x^3, Cos[x]^2}.
> 
> I can extract each of the functions, like
> 
> In[1]:=funclist[[1]]
> Out[1]=Sin[x]
> 
> , but I don't know how to call these functions with a general argument.
> If I type
> 
> In[2]:=funclist[t][[1]]
> 
> , I get
> 
> Out[2]=t
> 
> instead of Sin[t] (or t^3 or Cos[t]^2)
> 
> What I would like is to extract a function from the list and to call it
> with any argument, as it was defined in a standard way:
> f[x_]:=Sin[x].
> 
> Dom
> 
You can either use replacement rules (In[2], In[3]) or define your 
functions as pure functions (In[4]). For instance

In[1]:=
funclist = {Sin[x], x^3, Cos[x]^2};

In[2]:=
funclist[[1]] /. x -> t

Out[2]=
Sin[t]

In[3]:=
funclist[[2]] /. x -> 3

Out[3]=
27

In[4]:=
funclist2 = {Sin[#1] & , #1^3 & , Cos[#1]^2 & };

In[5]:=
funclist2[[1]][t]

Out[5]=
Sin[t]

In[6]:=
funclist2[[2]][3]

Out[6]=
27

Best regards,
Jean-Marc


  • Prev by Date: Re: matrix operations -- shared data vs copied
  • Next by Date: Re: How to extract functions from a list and call them with any argument?
  • Previous by thread: Re: How to extract functions from a list and call them with any argument?
  • Next by thread: Re: How to extract functions from a list and call them with any argument?