Re: How to extract functions from a list and call them with any argument?
- To: mathgroup at smc.vnet.net
- Subject: [mg65928] Re: [mg65919] How to extract functions from a list and call them with any argument?
- From: "Szabolcs Horvát" <szhorvat at gmail.com>
- Date: Mon, 24 Apr 2006 06:01:21 -0400 (EDT)
- References: <200604231017.GAA11838@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 4/23/06, dmp55 at sympatico.ca <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 > > First I'd like to note that those, in you list are not functions, but expressions. If you's like to make a list of functions, you could use the following syntax: funclist = { Sin, #^3&, Cos[#]^2& } Here # stands for the argument of the function and you must append the "&" sign to the function definition. Note that you may use Sin instead of Sin[#]& In[4]:= funclist[[1]][t] Out[4]= Sin[t] In[5]:= funclist[[2]][t] Out[5]= t^3 Look up "Pure functions" in the Master Index of the Mathematica help browser. For your problem it may be a better solution to Replace[ ] x in the expressions: exprlist = {Sin[x], x^3, Cos[x]^2} In[7]:= exprlist[[1]] /. x -> t Out[7]= Sin[t] For example Cos[x]^2 /. x -> t replaces every occurrence of x in the left side of /. by t. Look up ReplaceAll[ ] in the help broswer. Szabolcs Horvát
- References:
- How to extract functions from a list and call them with any argument?
- From: dmp55@sympatico.ca
- How to extract functions from a list and call them with any argument?