Re: <Null> while building lists
- To: mathgroup at smc.vnet.net
- Subject: [mg112211] Re: <Null> while building lists
- From: jeremy duncan <jeremydcn at yahoo.com>
- Date: Sun, 5 Sep 2010 05:26:12 -0400 (EDT)
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;] I appended ; after final m. Maybe that is it? Jeremy --- On Sat, 4/9/10, Andy <andyr at wolfram.com> wrote: > From: Andy <andyr at wolfram.com> > Subject: [mg112205] Re: <Null> while building lists > To: mathgroup at smc.vnet.net > Received: Saturday, 4 September, 2010, 6:02 PM > 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 > >