MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119331] Re: Pure functions and Select[] sequential elements of list
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Tue, 31 May 2011 07:45:23 -0400 (EDT)

Here's an unusual solution:

Clear[f, g]
mList = {1, 2, 3, 4, 5, 7, 6, 8};
First@Last@
   Reap@ListConvolve[Most@mList, Reverse@Rest@mList, {-1, 1}, 0,
     Greater[##] && Sow@#1 &, List]

{7}

Bobby

On Mon, 30 May 2011 05:36:55 -0500, Scot T. Martin  
<smartin at seas.harvard.edu> wrote:

> 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 at excelitas.com]
> Sent: Sunday, May 29, 2011 07:38
> To: mathgroup at smc.vnet.net
> Subject: [mg119325] [mg119298] 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 at Excelitas.com<mailto:Paul.McHale at perkinelmer.com>
> www.excelitas.com<http://www.excelitas.com>
>
> [cid:image001.png at 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
>


-- 
DrMajorBob at yahoo.com


  • Prev by Date: Re: One slider for two animations
  • Next by Date: Re: Evaluation control in Compile[]
  • Previous by thread: Re: Pure functions and Select[] sequential elements of list
  • Next by thread: Re: Pure functions and Select[] sequential elements of list