如何生成具有指定平均值和SD的正随机数列表? 我知道如何用R中的rnorm来做它但是它不是正面的,因为它是从正态分布中采样的,如果我是对的。
我的首选语言是matlab,但R中的脚本也可以。 感谢。
答案 0 :(得分:0)
我不是真的,但maby这个功能可以帮助你:
function Y=rand_std(mean,SD)
while 1==1
X=rand*2*mean;
Y=rand;
if Y<1/(SD*sqrt(2*pi))*exp(-(X-mean)^2/(2*SD^2))
return;
end
end
end
答案 1 :(得分:0)
这实际上取决于基础分布。
使用R = normrnd(mu,sigma)
,您可以生成具有指定均值和标准差的正态分布随机数。
R = lognrnd(mu,sigma)
生成对数正态分布随机数。
您还可以查看this,您可以在其中指定分配。
请确保检查它是否确实是正面的,例如
mu = 10;
sigma = 1;
R = normrnd(mu,sigma,1,500);
%R(R<=0) = resample