Re: average of the consecutive coin tosses

• To: mathgroup at smc.vnet.net
• Subject: [mg122004] Re: average of the consecutive coin tosses
• From: DrMajorBob <btreat1 at austin.rr.com>
• Date: Sat, 8 Oct 2011 05:35:56 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201110060818.EAA22381@smc.vnet.net>

```Darren,

With that code, every toss would be the same.

Bobby

On Fri, 07 Oct 2011 03:45:57 -0500, Darren Glosemeyer
<darreng at wolfram.com> wrote:

> On 10/6/2011 3:18 AM, michael partensky wrote:
>> Hi.
>>
>> What are the better ways of doing what this guy does very inefficiently
>> for
>> the average of the consecutive coin tosses:
>>
>> tr = (flips = 1; (#/flips++)&  /@ Accumulate[Table[toss, {1000}]]) //
>> N);
>>
>> where
>>
>> toss= RandomInteger[];
>>
>> Thanks
>> Michael
>
> When you want lots of random values, it is generally faster to get them
> all at once. In your example, we can also note that the denominators
> will just be a Range and take advantage of the listable nature of
> division, but we will want to make sure the values from Range are turned
> into floating point numbers to avoid exact arithmetic. Incorporating
> these ideas can make the computation much faster, as can be seen by
> timings for 1000 evaluations of each method:
>
> In[2]:= toss = RandomInteger[];
>
> In[3]:= Do[(flips = 1; (#/flips++) & /@ Accumulate[Table[toss, {1000}]]
> //N), {1000}]; // Timing
>
> Out[3]= {2.683, Null}
>
> In[4]:= Do[Accumulate[RandomInteger[1, 1000]]/N[Range[1000]], {1000}];
> // Timing
>
> Out[4]= {0.062, Null}
>
>
> Darren Glosemeyer
> Wolfram Research
>

--
DrMajorBob at yahoo.com

```

• Prev by Date: Re: Mathematica
• Next by Date: Schroedinger EQ
• Previous by thread: Re: average of the consecutive coin tosses
• Next by thread: Re: average of the consecutive coin tosses