Mathematica,增加2n + 1,不是说3

时间:2011-04-02 02:39:06

标签: random wolfram-mathematica

这就是我所拥有的。

RandomChoice[{.5, .5} -> {Heads, Tails}, 3]

然后我写

RandomChoice[{.5, .5} -> {Heads, Tails}, 5]

如何以2n + 1的增量增加此功能?

2 个答案:

答案 0 :(得分:2)

我将您的请求解释为表示您想要函数2n + 1,增量为2.因此值将为:3,5,7,9,1 ...如果这是正确的解释,那么以下应该工作:

Table[RandomChoice[{heads, tails}, 2 n + 1], {n, 1, 10}]

因此,{1,2,3,4,5,6,7,8,9,10}域的f(n)= 2 n + 1

您可以通过以下方式获得相同的结果:

Table[RandomChoice[{heads, tails}, n], {n, 3, 21, 2}]

这使得增量为2更加清晰。但是它的功能不同。目标与之前相同,但域现在与目标集相同:{3,5,7 ... 21}

答案 1 :(得分:1)

这就是你想要的东西吗?

For[i = 1, i < 5, i++, Print[RandomChoice[{.5, .5} -> {Heads, Tails}, 2i+1]]]

这会给出一个示例输出:

{Heads, Tails, Tails}
{Tails, Tails, Heads, Heads, Tails}
{Tails, Tails, Heads, Tails, Heads, Heads, Tails}
{Heads, Heads, Tails, Tails, Heads, Tails, Heads, Tails, Tails}

这也是做同样的事情:

Do[Print[RandomChoice[{.5, .5} -> {Heads, Tails}, 2i+1]], {i, 4}]

我不知道是否有一种更优雅/更有效的方法,因为我是Mathematica的新手 - 但我相信有人会评论是否存在。