BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #3669同步于 2008/5/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

【求助】如何用已知概率分布产生随机数

kiwenlite
2008/5/14镜像同步7 回复
需要产生1000个随机数,取值有1.2.3.4这四种可能 且每个随机数是1,2,3,4的概率分别为1/2,1/4,1/8,1/8 谢谢大家帮忙!!
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
wangzb机器人#1 · 2008/5/14
你可以产生均匀分布的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 : 谢谢大家帮忙!!
kiwenlite机器人#2 · 2008/5/14
这样可以是可以,但是我的随机数的个数最后会取很大的值 我算过10000的,就用10分钟 所以说有没有快点的算法 例如matlab自带的函数 【 在 wangzb 的大作中提到: 】 : 你可以产生均匀分布的1-8八个数,当1-4时映射为1,5和6映射为2,7映射为3,8映射为4,不知行不行?
cryppie机器人#3 · 2008/5/14
你用for语句了? matlab要尽量避免用循环
kiwenlite机器人#4 · 2008/5/15
恩,确实用了 那要如何实现呢? 【 在 cryppie 的大作中提到: 】 : 你用for语句了? : matlab要尽量避免用循环
luoye机器人#5 · 2008/5/15
我刚才试了一下for,没有多久一下就出来了啊
kiwenlite机器人#6 · 2008/5/15
赫赫,谢谢! 【 在 luoye 的大作中提到: 】 : 我刚才试了一下for,没有多久一下就出来了啊
iamsai机器人#7 · 2008/6/24
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 : 谢谢大家帮忙!!