       Re: average of the consecutive coin tosses

• To: mathgroup at smc.vnet.net
• Subject: [mg121946] Re: average of the consecutive coin tosses
• From: Darren Glosemeyer <darreng at wolfram.com>
• Date: Fri, 7 Oct 2011 04:45:57 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201110060818.EAA22381@smc.vnet.net>

```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:= toss = RandomInteger[];

In:= Do[(flips = 1; (#/flips++) & /@ Accumulate[Table[toss, {1000}]]
//N), {1000}]; // Timing

Out= {2.683, Null}

In:= Do[Accumulate[RandomInteger[1, 1000]]/N[Range], {1000}];
// Timing

Out= {0.062, Null}

Darren Glosemeyer
Wolfram Research

```

• Prev by Date: Mathematica
• Next by Date: Re: How to simplify a finite sum plus the next element?
• Previous by thread: Re: average of the consecutive coin tosses
• Next by thread: Re: average of the consecutive coin tosses