Re: Coin Toss Sim
- To: mathgroup at smc.vnet.net
- Subject: [mg122409] Re: Coin Toss Sim
- From: Heike Gramberg <heike.gramberg at gmail.com>
- Date: Thu, 27 Oct 2011 06:34:13 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201110262139.RAA00063@smc.vnet.net>
You get a bad count because you're using SetDelayed (:=) to define
which has the effect that the r.h.s. of g is reevaluated every time you
call g. In this case that means that you generate a new list of coin
tosses whenever you call g. So when you call {g,s} you are in fact using
a different list to count the heads from the one you output. To solve
this you should use Set (=) for defining g instead, e.g.
y[n_] := Block[{g, s},
g = RandomChoice[{"head", "tail"}, n];
s = Count[g, "head"];
{g, s}]
Heike.
On 26 Oct 2011, at 23:39, pooleman133 wrote:
> I am new to mathematica and am trying to make a coin flipping
simulation however mo code isn't working. When I tell it to count the
number of head it gives me a bad count. The code I am using is listed
below any help would be greatly appreciated.
>
> y[n_] := Block[{g, s},
>
>
> g := RandomChoice[{"head", "tail"}, n];
> s := Count[g, "head"];
> {g, s}
> ]
>
- References:
- Coin Toss Sim
- From: pooleman133 <poolebc221@gmail.com>
- Coin Toss Sim