Re: Taking a function as a parameter of a function
- To: mathgroup at smc.vnet.net
- Subject: [mg41929] Re: Taking a function as a parameter of a function
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Tue, 10 Jun 2003 04:46:59 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <bbq8jj$d7i$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, since x^2+y^2 is Plus[Power[x,2],Power[y,2]] that matches you pattern. Mathematica can't know that in a*x^2+b*y^2 x and y are you variables and a and b not. Anyway test[expr_] := Module[{var = Variables[expr], f}, f = Function[Evaluate[var], expr]; Table[f @@ (var + {i, i}), {i, 3}] ] will do what you want, as long has you have only two variables but the nonsens can be increased to any number of variables with test[expr_] := Module[{var = Variables[expr], n, f}, f = Function[Evaluate[var], expr]; n = Length[var]; Table[f @@ (var + Table[i, {n}]), {i, 3}] ] Regards Jens JustNImge wrote: > > Hi everyone I'm new to this group and new to Mathematica in general. > Actually I'm taking a class in it but we've had very little hands on > experience. > > Anyway, I was wondering if it was possible to take a function as a > parameter of another function. What I've been trying to do is make a > list of x^2+y^2 but increase x and y by one each time so I would have > (x+1)^2+(y+1)^2 etc. Actually the function I'm trying to write for my > class is more complicated than that but I'm trying to figure this out > first. When I try to do this, I get: > In[5]:= test[y1_[x_,y_]]:=Table[y1[x+i,y+i],{i,3}] > > In[6]:= test[x^2+y^2] > > 2 2 2 2 2 2 > Out[6]= {2 + x + y , 4 + x + y , 6 + x + y } > > Is it just not possible to take x and y as their own parameters like > this? > I'm sorry if this has been addressed before but when I browsed > subjects last night there didn't seem to be anything within the first > 100. > Thank you very much for any and all help. > JustNImge