Main Content

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

Variance

入力または入力シーケンスの分散

  • Variance block

ライブラリ:
DSP System Toolbox / Statistics

説明

Variance ブロックは、入力の各行または各列の不偏分散や入力の指定した次元のベクトルにおける不偏分散を計算します。また、入力全体の分散を計算することもできます。次元は [分散値を求める対象] パラメーターを使用して指定できます。Variance ブロックは一定期間における入力シーケンスの分散を追跡することもできます。入力シーケンスの分散を追跡するには、[ランニング分散] パラメーターをオンにします。

メモ

Variance ブロックの "ランニング" モードは将来のリリースで削除される予定です。Simulink® でランニング分散を計算するには、代わりに Moving Variance ブロックを使用してください。

端子

入力

すべて展開する

このブロックは、実数値または複素数値のマルチチャネルの多次元入力を受け入れます。

この端子は、[ランニング分散] パラメーターをオンにして [リセット端子] パラメーターを [なし] 以外のオプションに設定するまでは名前なしになります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
複素数のサポート: あり

ブロックにランニング分散をリセットさせるイベントを指定します。Rst 入力のサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。

依存関係

この端子を有効にするには、[ランニング分散] パラメーターをオンにし、[リセット端子] パラメーターを [なし] 以外のオプションに設定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

出力

すべて展開する

[ランニング分散] パラメーターをオンにしていない場合、ブロックは入力の各行または各列の分散か入力の指定した次元のベクトルにおける分散を計算します。また、個々のサンプル時間での入力全体の分散を計算することもできます。出力配列 y の各要素は、対応する列、行、または入力全体の分散になります。出力配列 y は、[分散値を求める対象] パラメーターの設定により異なります。

サイズ M x N x P の 3 次元の入力信号について考えてみましょう。以下は [分散値を求める対象] の各設定です。

  • 入力全体 — 各サンプル時間での出力は M×N×P の入力行列の分散を含むスカラーです。

  • 各行 — 各サンプル時間での出力は M×1×P 配列で構成され、各要素には入力の 2 番目の次元に対する各ベクトルの分散が含まれます。入力が M 行 N 列の行列である場合、各サンプル時間での出力は M 行 1 列の列ベクトルになります。

  • 各列 — 各サンプル時間での出力は 1×N×P の配列で構成され、各要素には入力の 1 番目の次元に対する各ベクトルの分散が含まれます。入力が M 行 N 列の行列である場合、各サンプル時間での出力は 1 行 N 列の行ベクトルになります。

    このモードでは、ブロックは長さ M の方向性をもたないベクトル入力を M 行 1 列の列ベクトルとして扱います。

  • 指定した次元 — 各サンプル時間での出力は [次元] パラメーターの値によって異なります。[次元]1 に設定した場合、出力は [各列] を選択した場合と同じになります。[次元]2 に設定した場合、出力は [各行] を選択した場合と同じになります。[次元]3 に設定した場合、各サンプル時間での出力は入力の 3 番目の次元に対する各ベクトルの分散を含む M 行 N 列の行列となります。

[ランニング分散] をオンにすると、ブロックは入力の時間系列における各チャネルの分散を追跡します。このモードでは、[入力処理] パラメーターの値も指定しなければなりません。[入力処理] を設定する場合、次のようになります。

  • チャネルとしての要素 (サンプル ベース) — ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各要素 yijk には、最後のリセット以降のすべての入力に対する要素 uijk の分散が含まれます。

    リセット イベントが発生すると、現在のフレームのランニング分散 yijk が要素 uijk にリセットされます。

  • チャネルとしての列 (フレーム ベース) — ブロックは入力の各列を別々のチャネルとして扱います。このオプションでは、2 次元よりも大きい入力信号はサポートされません。サイズ M 行 N 列の 2 次元の入力信号の場合、ブロックは M 行 N 列の行列を出力します。出力の各要素 yij には、最後のリセット以降、現在の入力の要素 uij が含まれる時点までのすべての入力のうちの j 番目の列の要素の分散が含まれます。

    リセット イベントが発生すると、各チャネルのランニング分散は、現在の入力フレームにおける現在の入力サンプルまでを含むすべてのサンプルの分散になります。

出力のデータ型は入力のデータ型と一致します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

パラメーター

すべて展開する

[メイン] タブ

[ランニング分散] パラメーターをオンにすると、ブロックは入力の時間系列における各チャネルの分散値を追跡します。

  • 各列 — ブロックは各列の分散を出力します。

  • 各行 — ブロックは各行の分散を出力します。

  • 入力全体 — ブロックは入力全体の分散を出力します。

  • 指定した次元 — ブロックは [次元] パラメーターで指定された次元の分散を出力します。

依存関係

このパラメーターを有効にするには、[ランニング分散] パラメーターをオフにします。

分散を計算する対象となる入力信号の次元 (1 ベースの値) を指定します。このパラメーターの値は 0 より大きく、入力信号の次元数以下でなければなりません。

依存関係

このパラメーターを有効にするには、[分散値を求める対象][指定した次元] に設定します。

  • チャネルとしての列 (フレーム ベース) — ブロックは入力の各列を別々のチャネルとして扱います。このオプションでは、2 次元よりも大きい入力信号はサポートされません。サイズ M 行 N 列の 2 次元の入力信号の場合、ブロックは M 行 N 列の行列を出力します。出力の各要素 yij には、最後のリセット以降、現在の入力の要素 uij が含まれる時点までのすべての入力のうちの j 番目の列の要素の分散が含まれます。

    リセット イベントが発生すると、各チャネルのランニング分散は、現在の入力フレームにおける現在の入力サンプルまでを含むすべてのサンプルの分散になります。

  • チャネルとしての要素 (サンプル ベース) — ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各要素 yijk には、最後のリセット以降のすべての入力に対する要素 uijk の分散が含まれます。

    リセット イベントが発生すると、現在のフレームのランニング分散 yijk が要素 uijk にリセットされます。

    可変サイズ入力

    入力が可変サイズのときに [ランニング分散] パラメーターをオンにすると、次のようになります。

    • [入力処理] パラメーターを [チャネルとしての要素 (サンプル ベース)] に設定すると、状態がリセットされます。

    • [入力処理] パラメーターを [チャネルとしての列 (フレーム ベース)] に設定すると、次のようになります。

      • 入力サイズの相違がチャネルの数 (列数) に関する場合、状態がリセットされます。

      • 入力サイズの相違がチャネルの長さ (行数) に関する場合、状態のリセットは行われず実行処理が通常どおりに実行されます。

依存関係

このパラメーターを有効にするには、[ランニング分散] パラメーターをオンにします。

オプションの [Rst] 端子でリセット イベントが検出されるたびに、ブロックはランニング分散をリセットします。リセットのサンプル時間は、入力サンプル時間の正の整数倍でなければなりません。

[入力処理] パラメーターが [チャネルとしての要素 (サンプル ベース)] に設定されている場合にリセット イベントが発生すると、各チャネルのランニング分散は現在の入力の対応するチャネルの値に初期化されます。同様に、[入力処理] パラメーターが [チャネルとしての列 (フレーム ベース)] に設定されている場合は、各チャネルのランニング分散が現在の入力フレームにおける現在の入力サンプルまでを含むすべてのサンプルの分散になります。

このパラメーターはリセット イベントの指定に使用します。

  • なし[Rst] 端子を無効にします。

  • 立ち上がりエッジRst の入力が次のいずれかを行うときにリセット操作をトリガーします。

    • 負の値から正の値またはゼロに立ち上がる。

    • ゼロから正の値へ立ち上がる。この場合、立ち上がりは負の値からゼロへの立ち上がりと連続していません。

  • 立ち下がりエッジRst の入力が次のいずれかを行うときにリセット操作をトリガーします。

    • 正の値から負の値またはゼロに立ち下がる。

    • ゼロから負の値に立ち下がる。この場合、立ち下がりは正の値からゼロへの立ち下りと連続していません。

  • 両エッジ[Rst] の入力が [立ち上がりエッジ] または [立ち下がりエッジ] の場合にリセット操作をトリガーします。

  • 非ゼロのサンプルRst の入力が非ゼロの場合に各サンプル時間でリセット操作をトリガーします。

メモ

Simulink マルチタスク モードでシミュレーションを実行すると、リセット信号は 1 サンプルのレイテンシをもちます。したがって、ブロックでリセット イベントが検知された場合、ブロックがリセットを適用する前にリセット端子で 1 サンプルの遅延が発生します。レイテンシと Simulink タスク モードの詳細については、Excess Algorithmic Delay (Tasking Latency)時間ベースのスケジューリングとコード生成 (Simulink Coder)を参照してください。

依存関係

このパラメーターを有効にするには、[ランニング分散] パラメーターをオンにします。

[データ型] タブ

メモ

これらのパラメーターを使用するには、データ入力が固定小数点でなければなりません。それ以外の入力の場合、[データ型] タブのパラメーターは無視されます。

固定小数点演算の丸めモードを指定します。詳細については、丸めモードを参照してください。

このパラメーターをオンにすると、ブロックは固定小数点演算の結果を飽和させます。このパラメーターをオフにすると、ブロックは固定小数点演算の結果をラップします。saturate および wrap の詳細については、固定小数点演算のオーバーフロー モードを参照してください。

入力要素の二乗は [入力二乗積出力] のデータ型で保存されます。入力が複素数の場合、入力の実数部と虚数部の二乗がこのデータ型で保存されます。詳細については、固定小数点を参照してください。

このパラメーターは以下のように設定できます。

  • 継承: 入力と同じ — データ型は入力のデータ型と同じです。

  • 2 進小数点スケーリング[入力二乗積出力] のデータ型は 2 進小数点スケーリングを使用します。このオプションを選択した場合、ブロックは [語長][小数部の長さ] を指定するフィールドを表示します。[符号属性] は入力から継承されます。

入力要素の合計二乗は [入力合計二乗積] のデータ型で保存されます。入力が複素数の場合、実数部の合計二乗と虚数部の合計二乗がこのデータ型で保存されます。詳細については、固定小数点を参照してください。

このパラメーターは以下のように設定できます。

  • 入力二乗積と同じ — データ型は入力二乗積のデータ型と同じです。

  • 2 進小数点スケーリング[入力合計二乗積] のデータ型は 2 進小数点スケーリングを使用します。このオプションを選択した場合、ブロックは [語長][小数部の長さ] を指定するフィールドを表示します。[符号属性] は入力から継承されます。

[アキュムレータ] は、Variance ブロックでの累積操作の出力のデータ型を指定します。このブロックのアキュムレータ データ型の使い方を示す図は、固定小数点を参照してください。

このパラメーターは以下のように設定できます。

  • 入力二乗積と同じ — アキュムレータのデータ型は入力二乗積のデータ型と同じです。

  • 入力と同じ — アキュムレータのデータ型は入力のデータ型と同じです。

  • 2 進小数点スケーリング[アキュムレータ] のデータ型は 2 進小数点スケーリングを使用します。このオプションを選択した場合、ブロックは [語長][小数部の長さ] を指定するフィールドを表示します。[符号属性] は入力から継承されます。

[出力] は、Variance ブロックの出力のデータ型を指定します。このブロックの出力データ型の使い方に関する情報については、固定小数点を参照してください。以下のように設定できます。

  • 入力二乗積と同じ — 出力のデータ型は入力二乗積のデータ型と同じです。

  • アキュムレータと同じ — 出力のデータ型はアキュムレータのデータ型と同じです。

  • 入力と同じ — 出力のデータ型は入力のデータ型と同じです。

  • 2 進小数点スケーリング[出力] のデータ型は 2 進小数点スケーリングを使用します。このオプションを選択した場合、ブロックは [語長][小数部の長さ] を指定するフィールドを表示します。[符号属性] は入力から継承されます。

ブロックで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。

ブロックの特性

データ型

double | fixed point | integer | single

直達

なし

多次元信号

なし

可変サイズの信号

あり

ゼロクロッシング検出

なし

詳細

すべて展開する

アルゴリズム

すべて展開する

拡張機能

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

バージョン履歴

R2006a より前に導入

参考

関数

オブジェクト

ブロック