MathGroup Archive 2009

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

Search the Archive

Re: Map and functional constructs to replace iterative statements

  • To: mathgroup at smc.vnet.net
  • Subject: [mg96884] Re: Map and functional constructs to replace iterative statements
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Thu, 26 Feb 2009 08:00:54 -0500 (EST)
  • Organization: Uni Leipzig
  • References: <go31ba$f47$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de

Hi,

percentChange[previousValue_, currentValue_] :=
  100*(currentValue - previousValue)/previousValue

timeSeries = Table[RandomReal[{-1, 1}], {10}]

percentChange @@@ Partition[ timeSeries, 2, 1]

??

Regards
   Jens

Andreas wrote:
> I have begun to replace Table, Do, While, or For, but in my thinking with Map, Inner, Outer and other functional programming constructs as I learn more about Mathematica.
> 
> But, I'm stuck.  I need to figure out how to use Map (or some related approach) when a function needs both a current value and a previous value in a time series, such as a percentage change function (or perhaps more generally stated, when I need to refer to previous values in a series or even previous calculations).  But first a simple case:
> 
> percentChange[currentValue_, previousValue_] := 100 * ( currentValue - previousValue) / previousValue
> 
> I know how to apply this iteratively, but how can I do it with Map or some other functional construct?
> 
> Say I have a list: timeSeries 
> 
> I thought to try something like this:
> 
> Map[percentChange[?,?], timeSeries] 
> 
> but I don't know how what to put in for "?".
> 
> Any help much appreciated.
> 
> Thx.
> 


  • Prev by Date: Re: Counting Categories
  • Next by Date: Re: Exporting data into a file, OpenWrite
  • Previous by thread: Re: Map and functional constructs to replace iterative statements
  • Next by thread: Re: Map and functional constructs to replace iterative statements