【发布时间】:2017-04-16 14:50:20
【问题描述】:
我正在尝试从具有给定密度 f(x) = (1/3)* X^2 在 -1
X=rand(0,1000); Y=rand(1,10000);
a=-1;
b=2;
c=2;
f = (1/3).*X.^2;
for i = 1:length(X)
while(Y(i) > f )
U = rand; V = rand;
X(i) = a+(b-a)*U;
Y(i) = c*V;
end
end
hist(X);
X
【问题讨论】:
-
这可能是一个错误吗?第一行应该是
X=rand(1,1000);? -
@mpaskov 我认为这有效!非常感谢!
-
如前所述,
f的最大值在 2 处达到,等于 4/3。如果您将c设置为 4/3,您的采样效率会更高
标签: matlab statistics probability probability-density