怎样用Matlab产生服从五阶高斯分布的随机数
这不就是最简单的混合分布吗?用不着蒙特卡洛这种高级方法。只需要从分布列 【怎样用Matlab产生服从五阶高斯分布的随机数】
抽个随机数,然后返回来自对应于那个随机数的标号的高斯分布的一个随机数就完事了。花两分钟写个程序。function z=mixgaussrnd(p,mu,sigma) idx=mrand(p); z=mu(idx)+randn(1)*sigma(idx);endfunction z=mrand(p) p=p(:); t=tril(ones(length(p)))*p; t=; z=sum(rand(1)\u0026lt;=t);end做个实验,取mu=3*(0:4),sigma=1+0.3*(0:4),p全是0.2,模拟上个100000次。结果如下:
结果还是相当凑合的。这程序在我这破笔记本(i7-4720HQ+12G内存)跑了0.75秒。优化优化跑进0.5秒绝不是问题。要是MCMC一秒钟之内绝对出不了结果。
■网友
重复以下步骤:1 生成一个 0到1的均匀分布随机数2判断上述随机数落入k1到k5个哪个区间3 根据2的判断,与落入区间相对应的服从normal(mui,sigma)的随机数
■网友
用均匀分布就可以采样给定pdf的随机数了。另外这个似乎叫高斯混合模型。。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
