【发布时间】:2012-04-08 13:44:07
【问题描述】:
以下代码生成具有给定成功概率的随机数:
n=[randi([0 1],1,8) ones(1,8)];
n= n(randperm(10));
如果上述行重复,将生成随机(不可预测的)值:
这是第一次运行的 n:
n = 1 0 1 0 0 1 1 1 1 1
这是第二次运行的 n:
n = 1 1 1 0 1 1 1 1 1 1
如何让生成器以更高的概率选择已选为失败(0)的数量?
也就是第二轮的人2、3、4输的概率更大。这并不意味着他们必须失败。
条目 1 到 10 是 10 个不同的用户输出。
好吧,让我们说始终最多 30% 的条目将为 0。在每次执行上述操作时。然而,这是随机完成的。所以 10 个中任意 3 个的最大值都可以为零。
我不想改变成功的概率。只是控制哪一个为零。
进一步澄清我想要什么:如果“随机”选择 3 为零,那么让之前选择的三个有更高的概率被选中而不被选中。
【问题讨论】:
-
如果你生成一半的向量作为向量,你已经有一个成功概率高于 0.5(实际上是 0.6)的样本。请让您的问题更清楚。
-
你是指2、4、5个人的概率吗?
标签: matlab probability