Re: Style Question: The Functional Way

• To: mathgroup at smc.vnet.net
• Subject: [mg115812] Re: Style Question: The Functional Way
• From: Ray Koopman <koopman at sfu.ca>
• Date: Fri, 21 Jan 2011 04:33:16 -0500 (EST)
• References: <ih967m\$okt\$1@smc.vnet.net>

```On Jan 20, 3:27 am, Just A Stranger <forpeopleidontk... at gmail.com>
wrote:
> Hello,
>
> So I'm trying to learn how to do things the functional way. As an
> exercise I'm trying to program a simple economics related table
> that gives revenue, marginal revenue, etc given a demand schedule
> (2 lists of numbers representing quantity and price respectively).
>
> The point is that I need a list of the differences in the given lists,
> from which I will be using to get marginal values (derivatives). I'll
> call it, say, DeltaList, and I was wondering if this would be a proper
>
> In[0]: DeltaList[L_] := Subtract @@@ Reverse /@ Partition[L, 2, 1]
>
> (DelatList: list -> list)
>
> Basically, it partitions the list into ordered pairs, reverses those
> ordered pairs to prep them for the subsequent Subtract application.
>
> in a functional way?
>
> Thank you. All of you have been most helpful in the past.

change all the signs after subtracting:

DeltaList2[L_] := - Subtract @@@ Partition[L, 2, 1]

Instead of partitioning, work with the entire vectors, lagged:

DeltaList3[L_] := Rest@L - Most@L

Or remember that there is already a built-in routine:

DeltaList4[L_] := Differences[L]

```

• Prev by Date: Re: Style Question: The Functional Way
• Next by Date: Re: Style Question: The Functional Way
• Previous by thread: Re: Style Question: The Functional Way
• Next by thread: Re: Style Question: The Functional Way