Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.soft-sys.math.mathematica > #2815
| From | DrMajorBob <btreat1@austin.rr.com> |
|---|---|
| Newsgroups | comp.soft-sys.math.mathematica |
| Subject | Re: Pure functions and Select[] sequential elements of list |
| Date | 2011-05-31 11:45 +0000 |
| Organization | Steven M. Christensen and Associates, Inc and MathTensor, Inc. |
| Message-ID | <is2kd4$qm0$1@smc.vnet.net> (permalink) |
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@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@excelitas.com]
> Sent: Sunday, May 29, 2011 07:38
> To: mathgroup@smc.vnet.net
> 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
>
--
DrMajorBob@yahoo.com
Back to comp.soft-sys.math.mathematica | Previous | Next | Find similar | Unroll thread
Re: Pure functions and Select[] sequential elements of list DrMajorBob <btreat1@austin.rr.com> - 2011-05-31 11:45 +0000
csiph-web