【发布时间】:2010-03-14 12:36:23
【问题描述】:
我需要生成给定数量的 N 个给定大小的向量,每个向量都符合 0 和 1 的均匀分布。
这就是我目前正在做的事情,但我注意到分布在半 1 和半 0 处强烈达到峰值,这对我正在做的事情没有好处:
a = randint(1, sizeOfVector, [0 1]);
unifrnd function 看起来很有希望满足我的需求,但我无法理解如何输出该大小的二进制向量。
我是否可以使用unifrnd 函数(如果可以的话,将如何感激!)或者有没有其他更方便的方法来获得这样一组向量?
任何帮助表示赞赏!
注意 1:只是为了确定 - 这是要求的实际内容:
随机选择 N 个给定大小的向量 均匀分布在 [0;1] 上
注意 2:我正在为元胞自动机生成初始配置,这就是为什么我只能有二进制值 [0;1]。
【问题讨论】:
-
您确定
[0; 1]不是指0 到1 之间所有实数的区间 吗? -
另外,如果你从集合
{0, 1}中统一绘制n数字,可以预期其中大约一半是0,一半是1。这就是统一的想法毕竟分布。 -
我确定 - 我正在为元胞自动机生成初始配置,并且只有 2 个状态:ON/OFF [0, 1]
-
@Thomas 很有趣,所以你是说我已经有了统一分布?