生成具有固定均值和SD的正随机数

时间:2016-11-09 09:09:00

标签: r matlab random

如何生成具有指定平均值和SD的正随机数列表? 我知道如何用R中的rnorm来做它但是它不是正面的,因为它是从正态分布中采样的,如果我是对的。

我的首选语言是matlab,但R中的脚本也可以。 感谢。

2 个答案:

答案 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