Re: BinCounts
- To: mathgroup at smc.vnet.net
- Subject: [mg60938] Re: BinCounts
- From: Bill Rowe <readnewsciv at earthlink.net>
- Date: Tue, 4 Oct 2005 01:25:03 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
On 10/3/05 at 4:06 AM, Alberto.Verga at laposte.net (Alberto Verga) wrote: >Why does BinCounts[] give lists with unpredictable Dimensions[]? >With[{n = 205}, ll = RandomArray[NormalDistribution[0, 1], {n}]; >Dimensions[BinCounts[ll, {Min[ll], Max[ll], (Max[ll] - >Min[ll])/n}]]] >You may try different values of n (or the same n and different >samples of the random numbers), and verify that the lenght of the >list depends on the random realization: somtimes you get n, >somtimes n+1. The problem is machine precision arithmetic. That is: In[53]:= With[{n = 205},ll = RandomArray[NormalDistribution[0, 1], {n}]; {Dimensions[BinCounts[ll, {Min[ll], Max[ll], (Max[ll] - Min[ll])/n}]], {Min[ll], Max[ll], (Max[ll] - Min[ll])/n}}] Out[53]= {{205}, {-3.302584971143743, 2.7338025952981977, 0.029445793007033857}} In[54]:= Ceiling[-Subtract @@ Most[Last[%]]/Last[Last[%]]] Out[54]= 205 In[58]:= With[{n = 205},ll = RandomArray[NormalDistribution[0, 1], {n}]; {Dimensions[BinCounts[ll, {Min[ll], Max[ll], (Max[ll] - Min[ll])/n}]], {Min[ll], Max[ll], (Max[ll] - Min[ll])/n}}] Out[58]= {{206}, {-2.4474345430719238, 2.3650239930276675, 0.023475407493168735}} In[59]:= Ceiling[-Subtract @@ Most[Last[%]]/Last[Last[%]]] Out[59]= 206 Or in other words when the nearest machine precision number to the bin range divied by the bin width is less than or equal to n you get n bins. Otherwise you get n+1 bins. -- To reply via email subtract one hundred and four