Re: functional routine for {a, b, c, ...} -> {a - b, b - c, c - ...}
- To: mathgroup at smc.vnet.net
- Subject: [mg24902] Re: functional routine for {a, b, c, ...} -> {a - b, b - c, c - ...}
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Sun, 20 Aug 2000 01:34:52 -0400 (EDT)
- References: <8nli50$9fa@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Maarten,
Drop[lst, -1] - Drop[lst, 1]
{a - b, b - c, c - d, d - e, e - f, f - g, g - h}
-- seems about as fast as ListCorrelate.
--
Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565
<Maarten.vanderBurgt at icos.be> wrote in message
news:8nli50$9fa at smc.vnet.net...
> Hallo,
>
> element.
> I found two ways for doing this:
>
> lst = {a, b, c, d, e, f, g, h};
>
> Table[lst[[i]] - lst[[i + 1]], {i, 1, Length[lst] - 1}]
> {a - b, b - c, c - d, d - e, e - f, f - g, g - h}
>
> ListCorrelate[{1, -1}, lst]
> {a - b, b - c, c - d, d - e, e - f, f - g, g - h}
>
> The first method is rather clumsy and the 2nd one is quite short, but not
> really obvious.
> Initally I was looking for a functional programming style routine.
> Something like: (#[[i]]-#[[i-1]])&/@lst.
> Who can tell me how to do this in a functional programming style?
>
> Thanks
>
> Maarten van der Burgt
> Leuven, Belgium
>
>
>