Re: Controlled evaluation of functions
- To: mathgroup at smc.vnet.net
- Subject: [mg56808] Re: [mg56763] Controlled evaluation of functions
- From: Chris Chiasson <chris.chiasson at gmail.com>
- Date: Fri, 6 May 2005 03:00:50 -0400 (EDT)
- References: <200505051002.GAA22030@smc.vnet.net>
- Reply-to: Chris Chiasson <chris.chiasson at gmail.com>
- Sender: owner-wri-mathgroup at wolfram.com
Use
myrule=k[x_]->x^2
Then whenever you decide to evaluate k, append
/.myrule
to the end of the statement.
On 5/5/05, Brett Patterson <muckle.moose at gmail.com> wrote:
> Consider the following behaviour:
>
> In[1]:= f[i_, x_] := Sin[i x]
>
> In[2]:= g[x_] = Table[f[i, x], {i, 3}]
>
> Out[2]= {Sin[x], Sin[2 x], Sin[3 x]}
>
> In[3]:= {3, 0, 1} . g[y]
>
> Out[3]= 3 Sin[y] + Sin[3 y]
>
> This is what I want to do, but using my own function instead of Sin.
> However, this is the result:
>
> In[4]:= k[x_] := x^2 (* This is my alternative to Sin *)
>
> In[5]:= f[i_, x_] := k[i x]
>
> In[6]:= g[x_] = Table[f[i, x], {i, 3}]
>
> Out[6]= {x^2, 4 x^2, 9 x^2} (* I want {k[x], k[2 x], k[3 x]} *)
>
> In[7]:= {3, 0, 1} . g[y]
>
> Out[7]= 12 y^2 (* I want 3 k[y] + k[3 y] *)
>
> How can I get the function k to behave like Sin, so that it is not
> evaluated?
>
> Note that in my real application, k is a lot more complex and has
> conditions on its arguments, etc.
>
> Thanks!
>
> Brett Patterson
>
>
--
Chris Chiasson
http://chrischiasson.com/
1 (810) 265-3161
- References:
- Controlled evaluation of functions
- From: "Brett Patterson" <muckle.moose@gmail.com>
- Controlled evaluation of functions