Transform list of numbers into pure functions using replace rule
- To: mathgroup at smc.vnet.net
- Subject: [mg89457] Transform list of numbers into pure functions using replace rule
- From: Mac <mwjdavidson at googlemail.com>
- Date: Tue, 10 Jun 2008 03:39:46 -0400 (EDT)
Hello, I'm developed a program to invert satellite observations into geophysical variables such as forest biomass. One of the input parameters are the errors in the observation channels which can be either constant or a function. To be consistent the program expects all errors to be functions but they can also be constant functions e.g. if the error is 4 then the input parameter is "4&". I've however hit a problem with the replacement rule that allows me to transform all input errors into a function. The following works as expected in that constants in the list are transformed into virtual functions and functions in the list are left alone. In[40]:= If[NumberQ[#], ToExpression[ToString[#] <> "&"], #] & /@ {1, 2, 3 &, f[x]} Out[40]= {1 &, 2 &, 3 &, f[x]} However, I cannot find a replacement rule to do the same job. Here is one try: In[39]:= {1, 2, f[x]} /. x_ /; NumberQ -> Hold[x &] Out[39]= {1, 2, f[x]} Any help would be appreciated. Mac
- Follow-Ups:
- Re: Transform list of numbers into pure functions using replace rule
- From: "Szabolcs HorvÃt" <szhorvat@gmail.com>
- Re: Transform list of numbers into pure functions using replace rule