Main Content

normrnd

説明

r = normrnd(mu,sigma) は、平均パラメーター mu および標準偏差パラメーター sigma をもつ正規分布から乱数を生成します。

r = normrnd(mu,sigma,sz1,...,szN) は、正規乱数の配列を生成します。ここで、sz1,...,szN は各次元のサイズを示します。

r = normrnd(mu,sigma,sz) は、正規乱数の配列を生成します。ここで、ベクトル szsize(r) を指定します。

すべて折りたたむ

標準正規分布から 1 つの乱数値を生成します。

rng('default') % For reproducibility
r = normrnd(0,1)
r = 0.5377

乱数発生器の現在の状態を保存します。次に、平均 3 および標準偏差 10 をもつ正規分布から、正規乱数が格納されている 1 行 5 列のベクトルを作成します。

s = rng;
r = normrnd(3,10,[1,5])
r = 1×5

    8.3767   21.3389  -19.5885   11.6217    6.1877

乱数発生器の状態を s に戻してから、新しい 1 行 5 列の乱数のベクトルを作成します。前と同じ値になります。

rng(s);
r1 = normrnd(3,10,[1,5])
r1 = 1×5

    8.3767   21.3389  -19.5885   11.6217    6.1877

既存の配列と同じサイズをもつ、正規分布に従う乱数が格納されている行列を作成します。

A = [3 2; -2 1];
sz = size(A);
R = normrnd(0,1,sz)
R = 2×2

    0.5377   -2.2588
    1.8339    0.8622

上記の 2 行のコードを結合して 1 行にすることができます。

R = normrnd(1,0,size(A));

入力引数

すべて折りたたむ

正規分布の平均。スカラー値、またはスカラー値の配列を指定します。

複数の分布から乱数を生成するには、配列を使用して musigma を指定します。musigma の両方が配列である場合、サイズが同じでなければなりません。mu または sigma のいずれかがスカラーである場合、normrnd はもう一方の引数と同じサイズの定数配列にスカラー引数を拡張します。r の各要素は、mu および sigma 内の対応する要素によって指定された分布から生成された乱数です。

例: [0 1 2; 0 1 2]

データ型: single | double

正規分布の標準偏差。非負のスカラー値、または非負のスカラー値の配列を指定します。

sigma がゼロである場合、出力 r は常に mu と等しくなります。

複数の分布から乱数を生成するには、配列を使用して musigma を指定します。musigma の両方が配列である場合、サイズが同じでなければなりません。mu または sigma のいずれかがスカラーである場合、normrnd はもう一方の引数と同じサイズの定数配列にスカラー引数を拡張します。r の各要素は、mu および sigma 内の対応する要素によって指定された分布から生成された乱数です。

例: [1 1 1; 2 2 2]

データ型: single | double

各次元のサイズ。整数として指定します。たとえば、5,3,2 を指定すると、確率分布から 5 x 3 x 2 の乱数の配列が生成されます。

mu または sigma のいずれかが配列である場合は、必要なスカラー拡張後の musigma の共通次元に一致する次元 sz1,...,szN を指定しなければなりません。sz1,...,szN の既定値は共通次元です。

  • 単一の値 sz1 を指定した場合、r はサイズ sz1sz1 列の正方行列になります。

  • いずれかの次元のサイズが 0 または負である場合、r は空の配列になります。

  • 2 次元を超える場合、normrnd はサイズ 1 の後続次元を無視します。たとえば、3,1,1,1 を指定すると、3 行 1 列の乱数のベクトルが生成されます。

例: 5,3,2

データ型: single | double

各次元のサイズ。整数の行ベクトルとして指定します。たとえば、[5,3,2] を指定すると、確率分布から 5 x 3 x 2 の乱数の配列が生成されます。

mu または sigma のいずれかが配列である場合は、必要なスカラー拡張後の musigma の共通次元に一致する次元 sz を指定しなければなりません。sz の既定値は共通次元です。

  • 単一の値 [sz1] を指定した場合、r はサイズ sz1sz1 列の正方行列になります。

  • いずれかの次元のサイズが 0 または負である場合、r は空の配列になります。

  • 2 次元を超える場合、normrnd はサイズ 1 の後続次元を無視します。たとえば、[3,1,1,1] を指定すると、3 行 1 列の乱数のベクトルが生成されます。

例: [5,3,2]

データ型: single | double

出力引数

すべて折りたたむ

正規乱数。スカラー値、または sz1,...,szNsz のいずれかによって指定された次元数のスカラー値の配列として返されます。r の各要素は、mu および sigma 内の対応する要素によって指定された分布から生成された乱数です。

代替機能

  • normrnd は正規分布専用の関数です。Statistics and Machine Learning Toolbox™ には、さまざまな確率分布をサポートする汎用関数 random もあります。random を使用するには、NormalDistribution 確率分布オブジェクトを作成し入力引数として渡すか、確率分布名とそのパラメーターを指定します。分布専用の関数 normrnd は汎用関数 random より高速です。

  • 標準正規分布から乱数を生成するには、randn を使用します。

  • 乱数を対話的に生成するには、乱数発生用ユーザー インターフェイス randtool を使用します。

参照

[1] Marsaglia, G, and W. W. Tsang. “A Fast, Easily Implemented Method for Sampling from Decreasing or Symmetric Unimodal Density Functions.” SIAM Journal on Scientific and Statistical Computing. Vol. 5, Number 2, 1984, pp. 349–359.

[2] Evans, M., N. Hastings, and B. Peacock. Statistical Distributions. 2nd ed. Hoboken, NJ: John Wiley & Sons, Inc., 1993.

拡張機能

バージョン履歴

R2006a より前に導入