Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: <Null> while building lists
  • Next by Date: Re: problem with RandomInteger
  • Previous by thread: Re: <Null> while building lists
  • Next by thread: Re: <Null> while building lists