Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #2800

Re: Pure functions and Select[] sequential elements of list

From "Scot T. Martin" <smartin@seas.harvard.edu>
Newsgroups comp.soft-sys.math.mathematica
Subject Re: Pure functions and Select[] sequential elements of list
Date 2011-05-30 10:36 +0000
Organization Steven M. Christensen and Associates, Inc and MathTensor, Inc.
Message-ID <irvs00$8lt$1@smc.vnet.net> (permalink)

Show all headers | View raw


I agree that this kind of functionality is not easily accessed in Mathematica.  It seems to be a common need that requires some obscure formulation to get the needed effect, at least so far as I have figured out. Here are two examples of what I use:

1. I sometimes use Partition[...] first to get this effect:

mList  Partition[{1, 2, 3, 4, 5, 7, 6, 8}, 2, 1];
First /@ Select[mList, (#[[1]] > #[[2]]) &]

2. Pattern matching can also do the trick, though can be slow depending on the size of your task.

mList = {1, 2, 3, 4, 5, 7, 6, 8};
ReplaceList[mList, Rule[{___, firstValue: _, secondValue: _, ___} /; (firstValue> secondValue), firstValue]]



________________________________________
From: McHale, Paul [Paul.McHale@excelitas.com]
Sent: Sunday, May 29, 2011 07:38
Subject:  Pure functions and Select[] sequential elements of list

Hi,

Does anyone know of a way to use a pure function to access current and next element of list with uses like Select[]?  I know I might be dazed and confused, but I thought there was a way.  I.e.

mList={1,2,3,4,5,7,6,8};
Select[mList, (#? > #??)&]

Where #? Is element N and #?? Is element N+1.  I would expect the previous code (assuming N?, N?? were valid) to return 7.

Maybe there is no way to do this with a pure function.  I know there are many other ways.  This would be one more way to not require a looping construct to resolve this.  If someone knows of straightforward ways other than Table[] or For[], Do[]... looping contructs, I would appreciate it the general knowledge.  I constantly struggle against my C language beginning ;)

Best Regards,
Paul


Paul McHale  |  Electrical Engineer, Energetics Systems  |  Excelitas Technologies Corp.

Phone:   +1 937.865.3004   |   Fax:  +1 937.865.5170   |   Mobile:   +1 937.371.2828
1100 Vanguard Blvd, Miamisburg, Ohio 45342-0312 USA
Paul.McHale@Excelitas.com<mailto:Paul.McHale@perkinelmer.com>
www.excelitas.com<http://www.excelitas.com>

[cid:image001.png@01CB9136.E3D96D90]

Please consider the environment before printing this e-mail.
This email message and any attachments are confidential and proprietary to Excelitas Technologies Corp. If you are not the intended recipient of this message, please inform the sender by replying to this email or sending a message to the sender and destroy the message and any attachments.
Thank you

Back to comp.soft-sys.math.mathematica | Previous | Next | Find similar | Unroll thread


Thread

Re: Pure functions and Select[] sequential elements of list "Scot T. Martin" <smartin@seas.harvard.edu> - 2011-05-30 10:36 +0000

csiph-web