java实现指数分布

来源:互联网 发布:田亮 知乎 编辑:程序博客网 时间:2024/05/05 23:53

 

 

 

指数分布的概率密度函数:y=lamda*exp(-lamda*x)    x>=0  

由此可以计算概率分布函数:y=1-exp(-lamda*x)    x>=0   
 y
  X<x的概率,其取值在区间(01)内  
首先,把y当作是在(01)区间的均匀分布的随机变量。   
然后,求y=1-exp(-lamda*x)的逆函数,x=-(1/lamda)*ln1y)   
z1y,显然z也是(01)区间的均匀分布的随机变量,于是就有x=-(1/lamda)*lnz)。   
 z
可以通过(double)   rand()   /   RAND_MAX计算。原因是rand()   是随机分布函数。       
最终满足指数分布的变量x,就可以通过x=-(1/lamda)*lnz)计算。   

原创粉丝点击