【发布时间】:2019-03-07 08:42:34
【问题描述】:
我希望能够在 MatLab 中生成 N 个伪随机数序列,其泊松分布均值为 M。 N 个数字的总和应该是 T。 N、M 和 T 始终为正数或零,并且是用户为任何函数指定的参数。
显然,如果 T 相对于 N 来说很小,那么实现总 T 可能会出现问题。在这种情况下,函数可能只返回值T 然后是 N-1 个零或错误代码。但是,在大多数情况下,T>>N 的可能性很大。
我一直在尝试基于http://matlabtricks.com/post-44/generate-random-numbers-with-a-given-distribution 提供的具有给定分布的随机数生成方法的变化,并在每一步尝试各种标准化,但没有成功。
【问题讨论】:
-
我认为不可能有 独立 泊松变量和规定的总和。甚至可能不是依赖,因为泊松随机变量可以任意大。篡改总和会破坏分布
-
好的,我明白你在说什么。如果伪随机数的值限制在(比如说)平均值的 6 个标准差之内,也许有一种解决方法。 (6{\sigma} 的值源自高斯近似方法。)显然,某处(可能在函数外部)将不得不检查是否可以在该条件下达到 T。