[Date Index]
[Thread Index]
[Author Index]
Re: Map and functional constructs to replace iterative statements
*To*: mathgroup at smc.vnet.net
*Subject*: [mg96854] Re: Map and functional constructs to replace iterative statements
*From*: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
*Date*: Thu, 26 Feb 2009 07:55:23 -0500 (EST)
*References*: <go31ba$f47$1@smc.vnet.net>
Look at Gergory's question "Series of Percentage Changes" that by a
cosmic coincidence appeared today. It seems to answer your question.
But the following will also work
-100* Subtract[##]/#1& @@@ Partition[timeSeries, 2, 1]
Perhaps you should check for zero divisions.
Cheers -- Sjoerd
On Feb 25, 11:00 am, Andreas <aa... at ix.netcom.com> 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: Exporting data into a file, OpenWrite**
Next by Date:
**Re: question related to (-1)^(1/3)**
Previous by thread:
**Re: Map and functional constructs to replace iterative statements**
Next by thread:
**Re: Map and functional constructs to replace iterative statements**
| |