Re: <Null> while building lists
- To: mathgroup at smc.vnet.net
- Subject: [mg112205] Re: <Null> while building lists
- From: Andy <andyr at wolfram.com>
- Date: Sat, 4 Sep 2010 04:02:35 -0400 (EDT)
On 9/3/2010 5:09 AM, Alessandro wrote: > Hi group, > I'm sure I'll bang me on my head as soon as I will Press<Post > Message>, > but it's since yesterday that I'm struggling with this... > > I fast defined this awkward function, to collect the {index,value} of > the maxima of a list of reals (a Fourier transform): > > maxima[f_] := Block[{old = f[[1]], m = {}}, > For[i = 2, i< Length[f]/2, i++, > If[f[[i]]> old&& f[[i + 1]]< f[[i]], > AppendTo[m, {i, f[[i]]}]]; > old = f[[i]] > ] > m > ] > > Problem is, what I get is e.g. this: > >> maxima[f] >> {{14 Null, 10.8853 Null}, {21 Null, 3.34261 Null}, {28 Null, 1.47219 Null}} > I'm sure I do not have spaces anywhere (it happened something similar > due to this error, time ago), > so what's wrong? > > thanks for any help... > > > alessandro > > > > Missing a semicolon so Mathematica is seeing For[...] * m and For returns Null. maxima[f_] := Block[{old = f[[1]], m = {}}, For[i = 2, i < Length[f]/2, i++, If[f[[i]] > old && f[[i + 1]] < f[[i]], AppendTo[m, {i, f[[i]]}]]; old = f[[i]]]; m] -Andy