0
私は確率密度関数f(x)=(1/3)x^2、-1 <x< 2の分布から1000個の数値を抜き出して試行しています。私はまた、データに基づいてヒストグラムをプロットしたい。拒否法を使用したサンプリング
私の教科書には、拒否方法を使用するための以下の規則があります。
1. a≦x≦bに対して0≦f(x)≦cのような数字a、b、cを探します。境界ボックス は、x軸に沿ってaからbまで、y軸に沿って0からcまで伸びます。
2.乱数ジェネレータ または乱数のテーブルから、標準ユニフォームランダム変数UおよびVを取得します。
3. X = a +(b-a)UとY = cVを定義する。次に、Xはユニフォーム(a、b)分布を持ち、Yは ユニフォーム(0、c)であり、点(X、Y)はバウンディングボックス内で均等に分布している。これらのルールに基づいて
p
が定義されているいくつかのガイダンス
a=-1; b=2; c=2;
while p < 1000
U = rand; V = rand;
X = a+U*(b-a); Y = c*V; f = (1/3)*X^2;
if Y<=f
x(p)=X;
p = p+1;
end
end
histogram(x);