返回信息流需要产生1000个随机数,取值有1.2.3.4这四种可能
且每个随机数是1,2,3,4的概率分别为1/2,1/4,1/8,1/8
谢谢大家帮忙!!
这是一条镜像帖。来源:北邮人论坛 / matlab / #3669同步于 2008/5/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
【求助】如何用已知概率分布产生随机数
kiwenlite
2008/5/14镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
你可以产生均匀分布的1-8八个数,当1-4时映射为1,5和6映射为2,7映射为3,8映射为4,不知行不行?
【 在 kiwenlite 的大作中提到: 】
: 需要产生1000个随机数,取值有1.2.3.4这四种可能
: 且每个随机数是1,2,3,4的概率分别为1/2,1/4,1/8,1/8
: 谢谢大家帮忙!!
这样可以是可以,但是我的随机数的个数最后会取很大的值
我算过10000的,就用10分钟
所以说有没有快点的算法
例如matlab自带的函数
【 在 wangzb 的大作中提到: 】
: 你可以产生均匀分布的1-8八个数,当1-4时映射为1,5和6映射为2,7映射为3,8映射为4,不知行不行?
randVar = randsrc(1, 1000, [1, 2, 3, 4; 1/2, 1/4, 1/8, 1/8]);
【 在 kiwenlite 的大作中提到: 】
: 需要产生1000个随机数,取值有1.2.3.4这四种可能
: 且每个随机数是1,2,3,4的概率分别为1/2,1/4,1/8,1/8
: 谢谢大家帮忙!!