strange function that defines a function---how do I do it?
- To: mathgroup at smc.vnet.net
- Subject: [mg15209] strange function that defines a function---how do I do it?
- From: belotto at vassar.edu (Benjamin Lotto)
- Date: Tue, 22 Dec 1998 04:01:40 -0500
- Organization: Vassar College Dept of Mathematics
- Sender: owner-wri-mathgroup at wolfram.com
Working with Mathematica 3.0:
Suppose I define
makefunction[var_, expr_]:=f[var_?NumberQ]:=NIntegrate[expr,{x,0,1}]
Then I can do something like
z=x^2
makefunction[x,z]
and it will be just as if I typed
f[x_?NumberQ]:=NIntegrate[x^2,{x,0,1}]
In fact, entering
?f
at this point yields
"Global`f"
f[(x_)?NumberQ] := NIntegrate[x^2, {x, 0, 1}]
OK, now suppose I have a list of variables x1 up through xn. Suppose
they're in a list:
list={x1,x2,...,xn}
I want something like "makefunction" above so that when I type
makefunction[list,expr]
it will be just as if I typed
f[x1_?NumberQ,x2_?NumberQ,...,xn_?NumberQ]:=expr
analogous to the above. Can anyone help me?
Thanks in advance. Y'all out there have been very helpful in the past.