MATLAB Function Reference | ![]() ![]() |
表示
Y = rand(n) Y = rand(m,n) Y = rand([m n]) Y = rand(m,n,p,...) Y = rand([m n p...]) Y = rand(size(A)) rand s = rand('state')
詳細
関数 rand
は、区間(0
, 1
) 内で一様分布する乱数の配列を作ります。
Y = rand(n)
は、乱数を要素とする n
行n
列の行列を出力します。n
がスカラでない場合は、エラーメッセージが表示されます。
Y = rand(m,n)
、または、Y
= rand([m n])
は、乱数を要素とする m
行n
列の行列を出力します。
Y = rand(m,n,p,...)
、または、Y = rand([m n p...])
は、乱数を要素とする配列を作ります。
Y = rand(size(A))
は、乱数を要素とする A
と同じサイズの配列を出力します。
s = rand('state')
は、一様分布乱数発生器の現在の状態を含む、35 要素をもつベクトルを出力します。一様分布乱数発生器の状態を変更するためには、つぎの表のようにします。
rand('state',s) |
状態を s にリセットします。 |
rand('state',0) |
発生器を初期状態にリセットします。 |
rand('state',j) |
整数 j に対して、発生器を j 番目の状態にリセットします。 |
rand('state',sum(100*clock)) |
実行毎に異なる状態にリセットします。 |
注意
MATLAB 5 は、閉区間 内のすべての浮動小数点数を生成することができる、新しいマルチシードの乱数発生器を使います。理論的には、同じ値を繰り返す前に、
以上の値を生成することができます。MATLAB 4 は、シングルシードの乱数発生器を使っていました。
rand('seed',0 )
と rand('seed',j)
は、MATLAB 4 の発生器を使います。rand('seed')
は、MATLAB 4 の一様乱数発生器の現在のシードを出力します。rand('state',j)
と rand('state',s)
は、MATLAB 5 の発生器を使います。
例題
R = 0.2190 0.6793 0.5194 0.0535 0.0470 0.9347 0.8310 0.5297 0.6789 0.3835 0.0346 0.6711
つぎの条件文により、2 つの事象の間で同じ確率でランダムな選択が行われます。
if rand < .5 'heads' else 'tails' end
参考
randn
, randperm
, sprand
, sprandn
![]() | qz | randn | ![]() |