主要内容

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

randperm

整数のランダム置換

説明

p = randperm (nは,要素の重複しない1からnまでの整数のランダム置換を含む行ベクトルを返します。

p = randperm (nkは1からnまでの範囲で無作為に選択したk個の一意の整数を含む行ベクトルを返します。

p = randperm (年代___は,既定のグローバルストリームの代わりに,乱数ストリーム年代から,整数のランダム置換を生成します。ストリームを作成するには,RandStreamを使用します。年代の後に,上記の構文にある任意の引数の組み合わせを指定します。

すべて折りたたむ

1から6までの整数のランダム置換を生成します。randpermの入力はサンプリング区間の最大の整数を示します(区間の最小の整数は1)。

r = randperm (6)
r =1×66 . 3 . 5 . 5 . 5 . 5 . 5 . 5 . 5 . 5 . 5 . 5

1から8までの整数から4つの一意の整数を無作為に選択し,そのランダム置換を生成します(要素の重複なし)。

r1 = randperm (8,4)
r1 =1×46 4 7 3

4つの一意の整数のランダム置換をもう1つ生成します。

r2 = randperm (8,4)
r2 =1×48 7 5 4

乱数発生器の現在の状態を保存し,1から8までの整数のランダム置換を作成します。

s =提高;r = randperm (8)
r =1×86 3 7 8 5 1 2 4

乱数発生器を年代の状態に戻し1から8までの整数のランダム置換を新たに作成します。置換は前と同じになります。

Rng (s) r1 = randperm(8)
r1 =1×86 3 7 8 5 1 2 4

関数rngを使用して,乱数発生器の設定を指定できます。

入力引数

すべて折りたたむ

サンプリング区間内の整数の数。正の整数として指定します。randpermは1からnまでの整数値を並べ替えます。

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

選択される整数の数。正の整数として指定します。また、kn以下でなければなりません。

データ型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

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

例:s = RandStream(“dsfmt19937”);randperm (s, 10)

ヒント

  • randpermで生成される数列は,兰德兰迪randnおよびrandpermで使用される一様疑似乱数発生器の内部設定値によって定義されます。その共有の乱数発生器を制御するには,関数rngを使用します。

  • randpermによって返される配列には,整数の置換が含まれます(整数値の重複なし)。この動作は,非復元抽出と呼ばれることがあります。重複する値が必要な場合は,関数兰迪を使用します。

  • randperm (n)randperm (n, n)は,いずれも1からnまでの整数の置換を生成しますが,置換内で異なるランダムな順序を与えることができます。nの値が大きい場合は,randperm (n, n)の方がrandperm (n)よりも高速です。

拡張機能

C / c++コード生成
MATLAB®编码器™を使用してCおよびc++コードを生成します。

R2006aより前に導入