Re: Style Question: The Functional Way
- To: mathgroup at smc.vnet.net
- Subject: [mg115810] Re: Style Question: The Functional Way
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Fri, 21 Jan 2011 04:32:53 -0500 (EST)
- References: <ih967m$okt$1@smc.vnet.net>
It's a good start. You could also have tried DeltaList[L_] := Drop[RotateLeft[L] - L, -1] and probably countless others. Of course, Mathematica already has a function that does this, Differences. Cheers -- Sjoerd On Jan 20, 12:27 pm, 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). A simple task in a > spreadsheet. > > 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 "functional" > way to go about the task: > > 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. > > Is this the right way to think about this (painfully simple) problem in a > functional way? > > Thank you. All of you have been most helpful in the past.