Re: message 50001?
- To: mathgroup at smc.vnet.net
- Subject: [mg50015] Re: message 50001?
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Thu, 12 Aug 2004 05:43:19 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <cfcqbg$42j$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, data = Table[If[i == 20, 100*Random[], Random[]], {i, 100}]; i = 1; MapIndexed[If[#1 > data[[i]], i = #2[[1]]] &, data]; {i, data[[i]]} or p = Position[#, peak = Max[#]] &[data]; {p[[1,1]], peak} Regards Jens "1.156" wrote: > > Mathematica wizards, I've managed to cripple together code to do something that > I feel must be doable more easily and/or faster. > > S is a list of reals containing a signal with a prominent peak in > amplitude. I simply want to find the index of the peak (x, the number of > entries into the list where the peak occurs). Here's what I did. > > For[i = 1, S[[i]] ? max[S], i++, x = i]; > > Can some suggest a better way, especially one not using a For loop? > > Thanks, Rob