MathGroup Archive 2010

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

Search the Archive

Re: Counting number of numbers in a large list between two valus


On 12/5/2010 8:57 PM, Lyle wrote:
> tallydata[{x1_, x2_}] := Length[Select[data, x1<= #<= x2&]]
UnitStep can be quite fast and saves you from having to sort.

In[12]:= data = RandomVariate[NormalDistribution[], 20000000];

tallydata2[data_, {x1_, x2_}] :=
  Total[UnitStep[data - x1]*UnitStep[x2 - data]]

tallydata[data_, {x1_, x2_}] := Length[Select[data, x1 <= # <= x2 &]]

tallydata2[data, {2, 3}] // AbsoluteTiming

Out[14]= {1.4374356, 426159}

tallydata[data, {2, 3}] // AbsoluteTiming

Out[15]= {18.2491824, 426159}

Andy Ross
Wolfram Research


  • Prev by Date: Re: WolframAlpha[] give results but not parse!
  • Next by Date: Re: Counting number of numbers in a large list between two valus
  • Previous by thread: Counting number of numbers in a large list between two valus
  • Next by thread: Re: Counting number of numbers in a large list between two valus