2016-11-09 7 views
-1

指定された平均とSDで正の乱数リストを生成するにはどうすればよいですか? 私はRのrnormでそれを行う方法を知っていますが、私が正しいとすれば、それは正規分布からサンプリングされているので肯定的ではありません。固定平均とSDで正の乱数を生成

私の好みの言語はmatlabですが、RのスクリプトもOKです。ありがとう。

+1

私はそれが本当に何を意味していると思っています。 rpois、runif、r ...何でもできます。 – ira

+0

さて、私はsd = 0〜sd = 500で異なるリストの数を生成したいので、異なるデータリストの式の振る舞いをチェックできます。 – user2032717

+0

sd = 0は単なる定数です。 sd = 500の場合は、ディストリビューションの1つを選択する必要があります。 rpois(n、lambda = 500)は平均500とsd = 500のポアソン分布からn個の数値を与えます。一様分布の場合、長さ1732.051のユニフォームを使って500の標準偏差を得ることができます。 – ira

答えて

0

それは本当に基本的な分布に依存します。

R = normrnd(mu,sigma)を使用すると、指定した平均と標準偏差で正規分布乱数を生成できます。

R = lognrnd(mu,sigma)は、対数正規分布乱数を生成します。

thisを参照して、配信を指定することもできます。

実際に正であるかどうかを確認してください。

mu = 10; 
sigma = 1; 
R = normrnd(mu,sigma,1,500); 
    %R(R<=0) = resample 
+0

ありがとう、それは私もそれが負の数を持っているが、Rの関数のように頻繁ではありませんそれをしますかそれは、平均とsdは正確ではありません。 – user2032717

0

私はSHUREないんだけど、は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