2014-04-04 52 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