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?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg65929] Re: [mg65919] How to extract functions from a list and call them with any argument?
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Mon, 24 Apr 2006 06:01:23 -0400 (EDT)
  • References: <200604231017.GAA11838@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 23 Apr 2006, at 19:17, 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
>

It would be much better if your list was really a list of functions,  
i.e.

funcs = {Sin, #1^3 & , Cos};

funcs[[1]][Pi]


0

funcs[[2]][3]

27

This suggests a solution to your problem: just convert your list of  
expressions into a list of functions.

exprs = {Sin[x], Cos[x], x^2};


funcs = Function /@ (exprs /. x -> #1)

{Sin[#1] & , Cos[#1] & , #1^2 & }

now you can proceed as above, e.g.

funcs[[1]][Pi]
0

funcs[[3]][4]
16

Andrzej Kozlowski
Tokyo, Japan


  • Prev by Date: Re: solving a set of inequalities
  • Next by Date: Re: How to remove extra empty lines generated when exporting to HTML?
  • 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?