主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

rand

説明

X = randは、区間 (0,1) の一様分布した乱数を 1 つ返します。

X = rand(n)は、nn列の乱数の行列を返します。

X = rand(sz1,...,szN)は、sz1x ... xszNの乱数の配列を返します。sz1,...,szNはそれぞれ次元サイズをます。たとえば,rand(3,4)は 3 行 4 列の行列を返します。

X = rand(sz)は、乱数の配列を返します。サイズ ベクトルszsize(X)を指定します。たとえば、rand([3 4])は 3 行 4 列の行列を返します。

X = rand(___,typename)は、データ型がtypenameの乱数の配列を返します。typenameの入力値は'single'または'double'です。の入力引数のいずれを使用できます。

X = rand(___,'喜欢',p)pと同様のを返します。いう同様とはオブジェクトがpと同じという意味です。typenameまたは'like'のどちらか一方のみを指定できます。

X = rand(s,___)は,のストリームのに,乱数ストリームsから数値を生成します。ストリームを作成するには、RandStreamを使用します。sの后,​​の构文にあるの引数组み合わせ('like'を含むものを除く) を指定します。この構文は、'like'入力をサポートしていません。

メモ

関数randへの'seed''state'および'twister'入力は推奨されません。代わりに関数RNGを使用します。詳細については、rand と randn の非推奨構文の置換を参照してください。

すべて折りたたむ

0 から 1 までの範囲の一様分布した乱数から成る 5 行 5 列の行列を生成します。

r = rand(5)
r =5×50.8147 0.0975 0.1576 0.1419 0.6557 0.9058 0.2785 0.9706 0.4218 0.0357 0.1270 0.5469 0.9572 0.9157 0.8491 0.9134 0.9575 0.4854 0.7922 0.9340 0.6324 0.9649 0.8003 0.9595 0.6787

区間 (-5,5) の一様分布した数値から成る 10 行 1 列のベクトルを生成します。

r = -5 + (5+5)*rand(10,1)
r =10×13.1472 4.0579 -3.7301 4.1338 1.3236 -4.0246 -2.2150 0.4688 4.5751 4.6489

一般に、区間 (a,b) のN個の乱数は、式r = a + (b-a).*rand(N,1)を使って生成できます。

関数randi(randではなく)を使用,10から50までまで范囲の一様分布たたたたたたたたつのつのランダムな整数整数生成。。。

r = randi([10 50],1,5)
r =1×543 47 15 47 35

区間 (0,1) の実数部と虚数部から成るランダムな複素数を 1 つ生成します。

a = rand + 1i*rand
a = 0.8147 + 0.9058i

乱数発生器の現在の状態を保存し、1 行 5 列の乱数のベクトルを作成します。

s = rng;r = rand(1,5)
r =1×50.8147 0.9058 0.1270 0.9134 0.6324

乱数発生器をsの状態に戻し、1 行 5 列の乱数のベクトルを新たに作成します。前と同じ値が得られます。

RNG(s); r1 = rand(1,5)
r1 =1×50.8147 0.9058 0.1270 0.9134 0.6324

乱数発生器の設定を指定するときは常に関数RNGを使用します (randまたはrandnは使用ない)。详细について,rand と randn の非推奨構文の置換を参照してください。

3 x 2 x 3 の乱数の配列を作成します。

X = rand([3,2,3])
x = x(:,:,1)= 0.8147 0.9134 0.9058 0.6324 0.1270 0.0975 x(::, :, :, :,2)= 0.2785 0.9649 0.5469 0.1576 0.1576 0.9575 0.9575 0.975 0.9706 x(:,:

単精度の乱数から成る 1 行 4 列のベクトルを作成します。

r = rand(1,4,'single')
r =1x4 single row vector0.8147 0.9058 0.1270 0.9134
class(r)
ans = 'single'

乱数の行列を既存の配列と同じサイズで作成します。

A = [3 2; -2 1]; sz = size(A); X = rand(sz)
X =2×20.8147 0.1270 0.9058 0.9134

上記の 2 行のコードを 1 行にまとめた一般的なパターンを次に示します。

X = rand(size(A));

単精度の乱数から成る 2 行 2 列の行列を作成します。

p = single([3 2; -2 1]);

pとサイズおよびデータ型が同じである乱数の配列を作成します。

X = rand(size(p),'like',p)
X =2x2 single matrix0.8147 0.1270 0.9058 0.9134
类(x)
ans = 'single'

Parallel Computing Toolbox™ がある場合、基となるデータ型にsingleを指定して 1000 行 1000 列の乱数の分散配列を作成します。distributedデータ型の場合、'like'构文はなデータに加えてとデータ型もクローンします。

p = rand(1000,'single','distributed');
Starting parallel pool (parpool) using the 'local' profile ... connected to 6 workers.

pとサイズ、主なデータ型および基となるデータ型が同じである乱数の配列を作成します。

X = rand(size(p),'like',p);
类(x)
ans = 'distributed'
underlyingType(X)
ans = 'single'

入力引数

すべて折りたたむ

正方行列サイズ整数値指定します。

  • n0の场合,Xは空の行列です。

  • nが負の場合、0として扱われます。

データ::single|double|int8|INT16|int32|int64|uint8|uint16|uint32|uint64

各次元のサイズ。整数値の個別の引数として指定します。

  • いずれかの次元のサイズが0の场合,Xは空の配列です。

  • いずれかのサイズ负の场合そのははは0として扱われます。

  • 2 番目より後の次元のサイズが 1 の場合、それらの次元はrandで無視されます。たとえばrand(3,1,1,1)では 3 行 1 列の乱数のベクトルが生成されます。

データ::single|double|int8|INT16|int32|int64|uint8|uint16|uint32|uint64

各次元のサイズ。整数値の行ベクトルとして指定します。このベクトルの各要素は対応する次元のサイズを示します。

  • いずれかの次元のサイズが0の场合,Xは空の配列です。

  • いずれかのサイズ负の场合そのははは0として扱われます。

  • 2 番目より後の次元のサイズが 1 の場合、それらの次元はrandで無視されます。たとえばrand([3 1 1 1])では 3 行 1 列の乱数のベクトルが生成されます。

例:SZ = [2 3 4]は、2 x 3 x 4 の配列を作成します。

データ::single|double|int8|INT16|int32|int64|uint8|uint16|uint32|uint64

作成するデータ型 (クラス)。'double'または'single'として指定するか、randをサポートする別のクラスの名前を指定します。

例:rand(5,'single')

作成する配列プロトタイプ。数値配列として指定します。

例:rand(5,'like',p)

データ::single|double
複素数のサポート:あり

乱数ストリーム。RandStreamオブジェクトとして指定します。

例:s = RandStream('dsfmt19937'); rand(s,[3 1])

ヒント

  • randで生成された数列はrandrandiおよびrandnで使用される一様疑似乱数発生器の内部設定値によって定義されます。共有乱数発生器は、RNGを使用して制御できます。

拡张机能

R2006Aよりに导入导入