Re: How to extract functions from a list and call them with any argument?
- To: mathgroup at smc.vnet.net
- Subject: [mg65925] Re: How to extract functions from a list and call them with any argument?
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Mon, 24 Apr 2006 06:01:16 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <e2fkto$bp7$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
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