Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

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



  • Prev by Date: Many problems with 6.0, possibly java
  • Next by Date: Re: Problem inputting data into a table that is larger than a window
  • Previous by thread: Re: Many problems with 6.0, possibly java
  • Next by thread: Re: Transform list of numbers into pure functions using replace rule