2014-04-04 54 views

回答

0

接下来的天然替代品寻找到是冯·诺依曼的“接受 - 拒绝方法”。

如果你能找到在同一个空间定义为密度gf这样

  1. 你知道如何从g生成样品,并
  2. F(X)< = CG(X) ,对于一些c,对于所有x,

然后你很好去。

如果您搜索文献,人们必须已经做到了这一点。 VG广泛用于定价选项。

0

正在关注@Drake的想法:第一步,您可以使用来自here的Marsaglia和Tsang's Method。

这是产生伽玛随机数字代码:

function x=gamrand(alpha,lambda) 
% Gamma(alpha,lambda) generator using Marsaglia and Tsang method 
% Algorithm 4.33 
if alpha&gt;1 
    d=alpha-1/3; c=1/sqrt(9*d); flag=1; 
    while flag 
     Z=randn; 
     if Z&gt;-1/c 
      V=(1+c*Z)^3; U=rand; 
      flag=log(U)&gt;(0.5*Z^2+d-d*V+d*log(V)); 
     end 
    end 
    x=d*V/lambda; 
else 
    x=gamrand(alpha+1,lambda); 
    x=x*rand^(1/alpha); 
end 
+0

我谈论方差Gamma分布,而不是伽玛.. MATLAB中的函数gamrnd已经存在 – user3497665