Matlab 用 exprnd 函数生成符合指数分布的随机数


实验中需要用 exprnd 函数生成大量符合指数分布的随机数样本。于是 help exprnd 

exprnd Random arrays from exponential distribution.
    R = exprnd(MU) returns an array of random numbers chosen from the
    exponential distribution with mean parameter MU.  The size of R is
    the size of MU.
 
    R = exprnd(MU,M,N,...) or R = exprnd(MU,[M,N,...]) returns an
    M-by-N-by-... array.


里边有个参数 Mu,虽然可以看到 MU 是 mean parameter,应该是期望值。即 下列常见的指数分布概率密度函数

  技术文章  

之中的 lambda 的倒数。搜了一下网上有人讲,但是,因为他做实验的样本数目太少,妄自揣测,最后的结论讲错了,遗憾。

为了谨慎,我自己来做实验验证一下吧:

1)代码;2)效果;3)结论。

1) 

CNT_number = 100000;
Mu = 20;

for i=1:CNT_number
     a(i)=exprnd(Mu);
end
plot(a);
mean = sum(a) /CNT_number


2) 输出为:

 mean =

   19.9985

技术文章

3) 
exprnd 函数中参数 MU 指的是确实是 指数分布期望值。


Davy_H

2014-7-14



Matlab 用 exprnd 函数生成符合指数分布的随机数,布布扣,bubuko.com

文章来自:http://blog.csdn.net/davyhwang/article/details/37760655
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3