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