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