Main Content

randerr

ビット エラー パターンの生成

説明

ビット エラー パターンは関数 randerr を使用して生成します。すべての構文に対して、randerr は出力の各行を個別に取り扱います。

out = randerr(m)mm 列のバイナリ行列を生成します。ここで、各行はランダムな位置に正確に 1 つだけ非ゼロのエントリをもちます。それぞれの順列は同じ確率をもちます。

out = randerr(m,n)mn 列のバイナリ行列を生成します。ここで、各行はランダムな位置に正確に 1 つだけ非ゼロのエントリをもちます。それぞれの順列は同じ確率をもちます。

out = randerr(m,n,errors)errors 入力を使用して、出力 mn 列のバイナリ行列に対する各行の非ゼロのエントリ数を決定します。

out = randerr(m,n,errors,seed) は、関数 rand の一様乱数発生器を初期化するためのシード値を指定します。

out = randerr(m,n,errors,randstream) は、関数 rand を使用して一様乱数ノイズ サンプルを生成するための乱数ストリーム オブジェクトを指定します。乱数ストリーム オブジェクトを指定するか、または既定の乱数ストリーム オブジェクトに対して関数 reset (RandStream) を使用すると、反復可能なノイズ サンプルを生成できます。

メモ

反復可能なノイズ サンプルを生成するには、randerr を呼び出すたびに同じシード入力値を使用するか、または乱数ストリーム入力をリセットしてから randerr を呼び出します。乱数ストリームのリセットの詳細については、RandStream オブジェクトを参照してください。

すべて折りたたむ

各行が同じ確率でゼロまたは 2 つの非ゼロ要素をもつ 8 行 7 列のバイナリ行列を生成します。

out = randerr(8,7,[0 2])
out = 8×7

     0     1     0     0     0     1     0
     0     1     0     0     0     1     0
     0     0     0     0     0     0     0
     0     0     0     0     0     1     1
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     1     0     0     0     1
     0     0     1     0     1     0     0

各行にゼロ個の非ゼロ要素ではなく 2 個の非ゼロ要素がある確率が 3 倍高い行列を生成します。

out = randerr(8,7,[0 2; 0.25 0.75])
out = 8×7

     0     0     0     0     1     0     1
     0     1     0     0     0     0     1
     0     0     1     0     0     1     0
     0     1     0     0     1     0     0
     1     0     0     0     1     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0
     0     0     0     0     0     0     0

シード入力値をもたず確率的誤差を含む行列 (反復不可の出力の場合) と、シード入力値をもち確率的誤差を含む行列 (反復可能な出力の場合) の生成を示します。

出力行列の次元、誤り数、シード値の入力パラメーターを指定します。

m = 2;
n = 8;
errors = 2;
seed = 1234;

関数 randerr を使用して、確率的誤差バイナリ行列を同じコマンドで 2 回生成します。バイナリ行列の出力値は、関数 randerr の実行ごとに同じになります。

out = randerr(m,n,errors,seed)
out = 2×8

     0     0     1     1     0     0     0     0
     0     1     0     1     0     0     0     0

out = randerr(m,n,errors,seed)
out = 2×8

     0     0     1     1     0     0     0     0
     0     1     0     1     0     0     0     0

シード値を変更して関数 randerr を 2 回呼び出します。バイナリ行列の出力値は、関数 randerr の実行ごとに同じになりますが、前のシード値を使用して出力されたバイナリ行列の値とは異なります。

seed = 345;
out = randerr(m,n,errors,seed)
out = 2×8

     0     0     0     0     1     0     1     0
     1     0     0     0     1     0     0     0

out = randerr(m,n,errors,seed)
out = 2×8

     0     0     0     0     1     0     1     0
     1     0     0     0     1     0     0     0

関数 randerr を使用して、確率的誤差バイナリ行列を同じコマンドで 2 回生成しますが、シード入力値は指定しません。行列の出力値は、関数 randerr の実行ごとに変わります。

out = randerr(m,n,errors)
out = 2×8

     0     1     0     0     0     1     0     0
     0     1     0     0     0     0     0     1

out = randerr(m,n,errors)
out = 2×8

     0     1     0     0     0     0     0     1
     0     0     0     1     0     1     0     0

入力引数

すべて折りたたむ

乱数バイナリ行列のサイズ。正の整数として指定します。

  • 入力 m のみを指定した場合、乱数バイナリ行列の出力のサイズは mm 列です。

  • 入力 m および n を指定した場合、乱数バイナリ行列の出力のサイズは mn 列です。

データ型: double

乱数バイナリ行列の列サイズ。正の整数として指定します。

データ型: double

非ゼロのエントリ数。次のいずれかの形式で指定します。

  • 整数として指定する場合、errors は各行の 1 の数を定義します。

  • 整数行ベクトルとして指定する場合、errors は各行に含まれる可能性のある 1 の数を定義します。このベクトルに含まれる 1 の数はそれぞれ同じ確率で現れます。

  • 2 行の行列として指定する場合、errors の最初の行は、出力行列の任意の行に含まれる可能性のある 1 の数 (整数) を定義します。2 番目の行は、対応する 1 の数それぞれの確率を指定します。errors の 2 行目の要素は、合計が 1 でなければなりません。

データ型: double

関数 rand で使用される一様乱数発生器を初期化するためのシード値。232 より小さい非負の整数値として指定します。

データ型: double

関数 rand を使用して一様乱数ノイズ サンプルを生成するための乱数ストリーム オブジェクト。RandStream オブジェクトとして指定します。乱数ストリーム オブジェクトを指定するか、または既定の乱数ストリーム オブジェクトに対して関数 reset (RandStream) を使用すると、反復可能なノイズ サンプルを生成できます。

出力引数

すべて折りたたむ

乱数バイナリ行列の出力。バイナリ値の行列として返されます。

  • 入力 m のみを指定した場合、この出力のサイズは mm 列です。

  • 入力 m および n を指定した場合、この出力のサイズは mn 列です。

データ型: double

バージョン履歴

R2006a より前に導入

参考

関数

オブジェクト