ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

randsample

構文

y = randsample(n,k)
y = randsample(population,k)
y = randsample(___,replacement)
y = randsample(n,k,true,w)
y = randsample(population,k,true,w)
y = randsample(s,___)

説明

y = randsample(n,k) は、1n の整数から非復元抽出で一様に無作為抽出した k 個の値を返します。

y = randsample(population,k) は、ベクトル population 内の値から非復元抽出で一様に無作為抽出した k 個の値が含まれているベクトルを返します。

y = randsample(___,replacement) は、replacementtrue の場合は復元抽出、replacementfalse の場合は非復元抽出で抽出した標本を返します。replacement は、上記の構文における入力引数の組み合わせの後に指定します。

y = randsample(n,k,true,w) は、非負の重み w が格納されている長さ n のベクトル を使用して、整数 iy のエントリとして選択される確率を決定します。

y = randsample(population,k,true,w) は、非負の重み w が格納されている、長さが population と同じベクトルを使用して、値 population(i)y のエントリとして選択される確率を決定します。

y = randsample(s,___) は、乱数発生にストリーム s を使用します。s オプションは、前の構文における入力引数より前に指定できます。sRandStream クラスのメンバーです。

すべて折りたたむ

110. の整数から単一の値を抽出します。

n = 10;
x = randsample(n,1)
x = 9

結果の再現性を得るため、乱数シードを作成します。

s = RandStream('mlfg6331_64'); 

ベクトル [10:20] から単一の値を抽出します。

population = 10:20;
y = randsample(s,population,1)
y = 17

再現性を得るため、乱数ストリームを作成します。

s = RandStream('mlfg6331_64');

指定した確率に従って、ACGT という系列から 48 個の文字を無作為に復元抽出します。

R = randsample(s,'ACGT',48,true,[0.15 0.35 0.35 0.15])
R = 
'GGCGGCGCAAGGCGCCGGACCTGGCTGCACGCCGTTCCCTGCTACTCG'

再現性を得るため、乱数ストリームを作成します。

s = RandStream('mlfg6331_64'); 

整数 1:10 から 5 つの値を復元抽出します。

y = randsample(s,10,5,true)
y = 5×1

     7
     8
     5
     7
     8

入力引数

すべて折りたたむ

抽出を行う範囲 (1n) の上限。正の整数を指定します。既定では、randsample は、1n の範囲にある値から非復元抽出で一様に無作為抽出します。

データ型: single | double

抽出元となる入力データ。ベクトルを指定します。既定では、randsamplepopulation 内の値から非復元抽出で一様に無作為抽出します。y の方向 (行または列) は population と同じです。

population が非負の整数値のみから構成される数値ベクトルであり、population の長さが 1 になる可能性がある場合、y = randsample(population,k) ではなく y = population(randsample(length(population),k)) を使用します。

例: y = randsample([50:100],20) は、50100 の整数から構成されるベクトル population から非復元抽出で一様に無作為抽出された 20 個の値が含まれているベクトルを返します。

データ型: single | double | logical | char | string | categorical

標本の個数。正の整数を指定します。

例: randsample(20,10) は、120 の整数から非復元抽出で一様に無作為抽出された 10 個の値が含まれているベクトルを返します。

データ型: single | double

復元抽出のインジケーター。false または true のいずれかを指定します。

例: randsample(10,2,true) は、110 の整数から復元抽出した 2 つの値を返します。

データ型: logical

抽出の重み。非負のスカラー値のベクトルを指定します。w の長さは、抽出対象の整数の範囲または population の長さと等しくなければなりません。ベクトル w には正の値が 1 つ以上含まれていなければなりません。w に負の値または NaN 値が含まれている場合、randsample はエラー メッセージを表示します。関数 randsample は、w(i)/sum(w) に比例する確率で抽出を行います。通常、w は確率のベクトルです。関数 randsample は、復元抽出のみについて重みの指定をサポートします。

例: [0.1 0.5 0.35 0.46]

データ型: single | double

乱数ストリーム。MATLAB の既定の乱数ストリームまたは RandStream を指定します。詳細については、乱数ストリームの作成と管理 (MATLAB)を参照してください。

例: s = RandStream('mlfg6331_64') は、乗法ラグ フィボナッチ発生器アルゴリズムを使用する乱数ストリームを作成します。

出力引数

すべて折りたたむ

標本。ベクトルまたはスカラーとして返されます。

  • k = 1 の場合、y はスカラーです。

  • k > 1 の場合、y は k 行 1 列のベクトルです。

ヒント

復元/非復元抽出によるデータの無作為抽出には、datasample を使用します。

拡張機能

R2006a より前に導入