random
構文
説明
例
分布名とパラメーターを指定した 1 つの乱数の生成
平均 が 1、標準偏差 が 5 に等しい正規分布から 1 つの乱数を生成します。分布名 'Normal'
と分布パラメーターを指定します。
rng('default') % For reproducibility mu = 1; sigma = 5; r = random('Normal',mu,sigma)
r = 3.6883
分布オブジェクトを使用した 1 つの乱数の生成
正規分布オブジェクトを作成し、そのオブジェクトを使用して 1 つの乱数を生成します。
平均 が 1、標準偏差 が 5 に等しい正規分布オブジェクトを作成します。
mu = 1; sigma = 5; pd = makedist('Normal','mu',mu,'sigma',sigma);
分布から 1 つの乱数を生成します。
rng('default') % For reproducibility r = random(pd)
r = 3.6883
乱数発生器のリセット
乱数発生器の現在の状態を保存します。次に、レート パラメーター 5 をもつポアソン分布から乱数を生成します。
s = rng;
r = random('Poisson',5)
r = 5
乱数発生器の状態を s に戻してから、新しい乱数を作成します。値は前と同じです。
rng(s);
r1 = random('Poisson',5)
r1 = 5
既存の配列からのサイズのクローン
既存の配列と同じサイズをもつ、乱数の行列を作成します。形状パラメーター 2 および 0、スケール パラメーター 1、位置パラメーター 0 をもつ安定分布を使用します。
A = [3 2; -2 1];
sz = size(A);
R = random('Stable',2,0,1,0,sz)
R = 2×2
0.7604 -3.1945
2.5935 1.2193
上記の 2 行のコードを結合して 1 行にすることができます。
R = random('Stable',2,0,1,0,size(A))
R = 2×2
0.4508 -0.6132
-1.8494 0.4845
複数の乱数を生成する
既定のパラメーター値を使用してワイブル確率分布オブジェクトを作成します。
pd = makedist('Weibull')
pd = WeibullDistribution Weibull distribution A = 1 B = 1
この分布から乱数を生成します。
rng('default') % For reproducibility r = random(pd,10000,1);
100 個のビンを使用して、ワイブル分布を当てはめたヒストグラムを作成します。
histfit(r,100,'weibull')
乱数の多次元配列の生成
標準正規確率分布オブジェクトを作成します。
pd = makedist('Normal')
pd = NormalDistribution Normal distribution mu = 0 sigma = 1
分布から乱数の 2 x 3 x 2 の配列を生成します。
r = random(pd,[2,3,2])
r = r(:,:,1) = 0.5377 -2.2588 0.3188 1.8339 0.8622 -1.3077 r(:,:,2) = -0.4336 3.5784 -1.3499 0.3426 2.7694 3.0349
入力引数
name
— 確率分布名
文字ベクトルまたは string スカラーによる確率分布名
確率分布名。次の表のいずれかの確率分布名を指定します。
name | 分布 | 入力パラメーター A | 入力パラメーター B | 入力パラメーター C | 入力パラメーター D |
---|---|---|---|---|---|
'Beta' | ベータ分布 | 1 番目の形状パラメーター a | 2 番目の形状パラメーター b | — | — |
'Binomial' | 二項分布 | 試行回数 n | 各試行の成功確率 p | — | — |
'BirnbaumSaunders' | バーンバウム・サンダース分布 | スケール パラメーター β | 形状パラメーター γ | — | — |
'Burr' | ブール型 XII 分布 | スケール パラメーター α | 1 番目の形状パラメーター c | 2 番目の形状パラメーター k | — |
'Chisquare' または 'chi2' | カイ二乗分布 | 自由度 ν | — | — | — |
'Exponential' | 指数分布 | 平均値 μ | — | — | — |
'Extreme Value' または 'ev' | 極値分布 | 位置パラメーター μ | スケール パラメーター σ | — | — |
'F' | F 分布 | 分子の自由度 ν1 | 分母の自由度 ν2 | — | — |
'Gamma' | ガンマ分布 | 形状パラメーター a | スケール パラメーター b | — | — |
'Generalized Extreme Value' または 'gev' | 一般化極値分布 | 形状パラメーター k | スケール パラメーター σ | 位置パラメーター μ | — |
'Generalized Pareto' または 'gp' | 一般化パレート分布 | 裾の指数 (形状) パラメーター k | スケール パラメーター σ | しきい値 (位置) パラメーター μ | — |
'Geometric' | 幾何分布 | 確率パラメーター p | — | — | — |
'Half Normal' または 'hn' | 半正規分布 | 位置パラメーター μ | スケール パラメーター σ | — | — |
'Hypergeometric' または 'hyge' | 超幾何分布 | 母集団のサイズ m | 母集団内で対象となる特徴をもつ項目の個数 k | 抽出した標本の個数 n | — |
'InverseGaussian' | 逆ガウス分布 | スケール パラメーター μ | 形状パラメーター λ | — | — |
'Logistic' | ロジスティック分布 | 平均値 μ | スケール パラメーター σ | — | — |
'LogLogistic' | 対数ロジスティック分布 | 対数値の平均 μ | 対数値のスケール パラメーター σ | — | — |
'LogNormal' | 対数正規分布 | 対数値の平均 μ | 対数値の標準偏差 σ | — | — |
'Pearson' | Pearson Distribution | 平均値 μ | 標準偏差 σ | 歪度 γ | 尖度 κ |
'Nakagami' | 仲上分布 | 形状パラメーター μ | スケール パラメーター ω | — | — |
'Negative Binomial' または 'nbin' | 負の二項分布 | 成功回数 r | 1 回の試行における成功確率 p | — | — |
'Noncentral F' または 'ncf' | 非心 F 分布 | 分子の自由度 ν1 | 分母の自由度 ν2 | 非心度パラメーター δ | — |
'Noncentral t' または 'nct' | 非心 t 分布 | 自由度 ν | 非心度パラメーター δ | — | — |
'Noncentral Chi-square' または 'ncx2' | 非心カイ二乗分布 | 自由度 ν | 非心度パラメーター δ | — | — |
'Normal' | 正規分布 | 平均値 μ | 標準偏差 σ | — | — |
'Poisson' | ポアソン分布 | 平均値 λ | — | — | — |
'Rayleigh' | レイリー分布 | スケール パラメーター b | — | — | — |
'Rician' | ライス分布 | 非心度パラメーター s | スケール パラメーター σ | — | — |
'Stable' | 安定分布 | 1 番目の形状パラメーター α | 2 番目の形状パラメーター β | スケール パラメーター γ | 位置パラメーター δ |
'T' | スチューデントの t 分布 | 自由度 ν | — | — | — |
'tLocationScale' | t 位置-スケール分布 | 位置パラメーター μ | スケール パラメーター σ | 形状パラメーター ν | — |
'Uniform' | 一様分布 (連続) | 下限端点 (最小) a | 上限端点 (最大) b | — | — |
'Discrete Uniform' または 'unid' | 一様分布 (離散) | 最大観測可能値 n | — | — | — |
'Weibull' または 'wbl' | ワイブル分布 | スケール パラメーター a | 形状パラメーター b | — | — |
例: 'Normal'
pd
— 確率分布
確率分布オブジェクト
確率分布。次の表のいずれかの確率分布オブジェクトを指定します。
sz1,...,szN
— 各次元のサイズ (個別の引数)
整数値
各次元のサイズ。整数値として指定します。たとえば、5,3,2
を指定すると、指定した確率分布から 5 x 3 x 2 の乱数の配列が生成されます。
入力引数 A
、B
、C
、D
の 1 つ以上が配列である場合は、必要なスカラー拡張後の A
、B
、C
および D
の共通次元に一致する次元 sz1,...,szN
を指定しなければなりません。sz1,...,szN
の既定値は共通次元です。
単一の値
sz1
を指定した場合、R
はサイズsz1
行sz1
列の正方行列になります。いずれかの次元のサイズが
0
または負である場合、R
は空の配列になります。2 次元を超える場合、
random
はサイズ 1 の後続次元を無視します。たとえば、3,1,1,1
を指定すると、3 行 1 列の乱数のベクトルが生成されます。
例: 5,3,2
データ型: single
| double
sz
— 各次元のサイズ (行ベクトル)
整数の行ベクトル
各次元のサイズ。整数の行ベクトルとして指定します。たとえば、[5 3 2]
を指定すると、指定した確率分布から 5 x 3 x 2 の乱数の配列が生成されます。
入力引数 A
、B
、C
、D
の 1 つ以上が配列である場合は、必要なスカラー拡張後の A
、B
、C
および D
の共通次元に一致する次元 sz
を指定しなければなりません。sz
の既定値は共通次元です。
単一の値
[sz1]
を指定した場合、R
はサイズsz1
行sz1
列の正方行列になります。いずれかの次元のサイズが
0
または負である場合、R
は空の配列になります。2 次元を超える場合、
random
はサイズ 1 の後続次元を無視します。たとえば、[3 1 1 1]
を指定すると、3 行 1 列の乱数のベクトルが生成されます。
例: [5 3 2]
データ型: single
| double
出力引数
代替機能
random
は、名前name
によって指定された分布、または確率分布オブジェクトpd
のいずれも受け入れる汎用関数です。正規分布の場合はrandn
やnormrnd
、二項分布の場合はbinornd
など、分布特有の関数を使用する方が高速です。分布特有の関数の一覧については、サポートされている分布を参照してください。乱数を対話的に生成するには、乱数発生用ユーザー インターフェイス
randtool
を使用します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
入力引数
name
はコンパイル時の定数でなければなりません。たとえば、正規分布を使用するには、coder.Constant('Normal')
をcodegen
(MATLAB Coder) の-args
の値に含めます。コード生成では、確率分布オブジェクト (
pd
) の入力引数はサポートされません。
コード生成の詳細については、コード生成の紹介および一般的なコード生成のワークフローを参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は、GPU 配列を完全にサポートします。詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2023b: ピアソン分布のサポート
R2023b 以降では、random
でピアソン分布がサポートされます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)