Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Poisson Integer Generator

ポアソン分布のランダムな整数を生成する

  • Poisson Integer Generator block

ライブラリ:
Communications Toolbox / Comm Sources / Random Data Sources

説明

Poisson Integer Generator ブロックは、ポアソン分布を使用してランダムな整数を生成します。非負の整数 k が生成される確率は λkexp(λ)/(k!) です。ここで、λ は "ポアソン パラメーター" として知られている正の数です。

このブロックを使用してバイナリ送信チャネルのノイズを生成する場合、一般に [ポアソン パラメーター (ラムダ)] パラメーターには 1 より大幅に小さい値を設定します。

すべて展開する

さまざまな $\lambda$ の値について、ポアソン整数 (k) を生成してその分布をプロットします。

doc_poisson_gen_src モデルは、ヒストグラムのプロットが示すように、$\lambda$ の値に基づくポアソン分布をもつ整数を生成します。このモデルでは、$\lambda$ にさまざまな値を設定し、サンプル時間およびフレームあたりのサンプル数に共通の値を設定して、Poisson Integer Generatorブロックを構成します。このモデルでは、ブロックを構成するため、ワークスペース変数 spf および Ts を割り当て、コールバック関数 InitFcn を使用してそれらを初期化します。詳細については、モデル コールバック (Simulink)を参照してください。

モデルを実行し、$\lambda$ の各値についてポアソン分布の出力をプロットします。

制限

  • このブロックを For Each Subsystem (Simulink) で使用するには、Source of initial seed[Auto] に設定し、モデルのシミュレーション モードを [標準] または [アクセラレータ] に設定しなければなりません。これにより、実行のたびに独立したノイズ サンプルが必ず生成されます。

端子

出力

すべて展開する

ランダムな整数出力。スカラー、ベクトルまたは行列として返されます。この端子はブロックで名前なしになります。データ型を設定するには、[出力データ型] パラメーターを使用します。

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

ポアソン パラメーター λ。正のスカラー、または正のスカラー値の行ベクトルとして指定します。

  • このパラメーターをスカラー値に設定した場合、出力ベクトル内のすべての要素は同一のポアソン パラメーターを共有します。

  • このパラメーターを行ベクトルに設定した場合、要素の数は、ブロックから出力される独立チャネルの数に対応します。

乱数発生器の初期シードのソース。次のいずれかとして指定します。

  • Auto –– ブロックはグローバル乱数ストリームを使用します。関数 parsim (Simulink) を使用する場合は、ヒントを参照してください。

  • Parameter –– ブロックは乱数発生器シードを [初期シード] に設定します。

詳細については、RandStream を使用したグローバル ストリームの管理乱数発生器を参照してください。

乱数発生器の初期シード値。非負の整数として指定します。このパラメーターが定数である場合、結果のシーケンスは繰り返し可能です。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[初期シードのソース][Parameter] に設定します。

正のスカラーは、出力信号の各サンプル間の時間を秒単位で指定します。[サンプル時間] を -1 に設定すると、出力信号は下流からサンプル時間を継承します。[サンプル時間] パラメーターと [フレームあたりのサンプル数] パラメーターの関係の詳細については、サンプル タイミングを参照してください。

出力信号の 1 チャネル内のフレームあたりのサンプル。正の整数として指定します。[サンプル時間][フレームあたりのサンプル数] の関係の詳細については、サンプル タイミングを参照してください。

出力のデータ型。doubleuint8uint16uint32、または boolean として指定します。

実行するシミュレーションのタイプ。[コード生成] または [インタープリター型実行] として指定します。

  • コード生成 — 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は [インタープリター型実行] オプションを使用した場合よりも速くなります。

  • インタープリター型実行 — MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、起動時間が短縮されますが、以降のシミュレーションの速度は [コード生成] オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。

詳細については、シミュレーション モード (Simulink)を参照してください。

ブロックの特性

データ型

double | integer

多次元信号

いいえ

可変サイズの信号

いいえ

詳細

すべて展開する

ヒント

関数 parsim (Simulink) を使用してモンテ カルロ シミュレーションなどのシミュレーションを並列で実行する場合、[初期シードのソース][Parameter] に設定し、[初期シード] の値がすべてのブロックで異なっていることを確認します。

そうしないと、以下のモデル コンフィギュレーションにおいて、異なるワーカーが同じ乱数を生成する (誤解を招く結果につながる) 可能性があります。

  • モデルがラピッド アクセラレータ モードである。

  • このブロックにおいて、[シミュレーション実行方法][コード生成] に設定されており、[初期シードのソース][Auto] に設定されている。

詳細については、シミュレーション モードの選択 (Simulink)を参照してください。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する

参考

ブロック

関数

  • (Statistics and Machine Learning Toolbox)