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

Maximum

入力または入力シーケンスの最大値

  • ライブラリ:
  • DSP System Toolbox / 統計

説明

Maximum ブロックは、入力の各行または各列の最大の要素の値と位置や、入力の指定した次元のベクトルにおける最大の要素の値と位置を特定します。また、入力全体の最大値を計算することもできます。Maximum ブロックは一定期間における入力シーケンスの最大値を追跡することもできます。[Mode] パラメーターは、ブロックの演算モードを指定します。これは、次のいずれかに設定できます。

  • Value — ブロックは、指定した次元の最大値を出力します。

  • Index — ブロックは、指定した次元の最大値のインデックス配列を出力します。

  • Value and Index — ブロックは、指定した次元の最大値および対応するインデックス配列を出力します。

  • Running — ブロックは一定期間における入力シーケンスの最大値を追跡します。

次元は [Find the maximum value over] パラメーターを使用して指定できます。

メモ

Maximum ブロックの実行モードは将来のリリースで削除される予定です。Simulink® で移動最大値を計算するには、代わりに Moving Maximum ブロックを使用してください。

端子

入力

すべて展開する

このブロックは、実数値または複素数値のマルチチャネルの多次元入力を受け入れます。入力は浮動小数点、固定小数点または Boolean を受け入れます。実数の固定小数点入力は符号付きまたは符号なしです。複素数の固定小数点入力は符号付きでなければなりません。

この端子は、[Mode] パラメーターを [Running] に設定して [Reset port] パラメーターを [None] 以外のオプションに設定するまでは名前なしになります。

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

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

依存関係

この端子を有効にするには、[Mode] パラメーターを [Running] に設定して [Reset port] パラメーターを [None] 以外のオプションに設定します。

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

出力

すべて展開する

最大値のデータ型は入力のデータ型と一致します。

[Mode] パラメーターが [Value and Index] または [Value] のいずれかに設定されると、以下が適用されます。

  • ブロックが最大値を計算する次元のサイズは 1 です。その他の次元すべてのサイズは、入力配列の次元のサイズと一致します。たとえば、入力が M x N x P 配列で、次元が 1 に設定されている場合、ブロックは 1 x N x P 配列を出力します。次元が 3 に設定されていると、ブロックは 2 次元の M 行 N 列の行列を出力します。

  • たとえば、入力が M 行 N 列の行列で、次元が 1 に設定されている場合、ブロックは 1 行 N 列の行列を出力します。

入力全体での最大値を計算するようにブロックに指定すると、ブロックはスカラーを出力します。

[Mode] パラメーターを [Running] に設定すると、ブロックは M 行 N 列の入力の時間系列における各チャネルの最大値を追跡します。このモードでは、[Input processing] パラメーターの値も次のいずれかの値のように指定しなければなりません。

  • Elements as channels (sample based) — ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各 yijk 要素には、最後のリセット以降のすべての入力に対する要素 uijk で観測される最大値が含まれます。

    リセット イベントが発生すると、現在のフレームの移動最大値 yijk が要素 uijk にリセットされます。

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

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

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

依存関係

この端子を有効にするには、[Mode] パラメーターを [Value and Index] または [Value] のいずれかに設定します。

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

入力が double の場合、インデックス値も double です。そうでない場合、インデックス値は uint32 です。

依存関係

この端子を有効にするには、[Mode] パラメーターを [Value and Index] または [Index] のいずれかに設定します。

データ型: double | uint32

パラメーター

すべて展開する

[メイン] タブ

以下は [Mode] パラメーターの各設定です。

  • Value — ブロックは、入力の各行または各列の最大値や入力の指定した次元のベクトルにおける最大値を計算します。また、各サンプル時間の入力全体の最大値を計算して、配列 y を出力することもできます。出力の各要素は、対応する列、行または入力全体の最大値になります。出力 y は、[Find the maximum value over] パラメーターの設定により異なります。サイズ M x N x P の 3 次元の入力信号について考えてみましょう。以下は [Find the maximum value over] の各設定です。

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

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

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

    • Entire input — 各サンプル時間での出力 y は M x N x P の入力行列の最大値を含むスカラーです。

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

    複素数入力

    複素数入力の場合、ブロックは、入力の各行または各列の値や入力の指定した次元のベクトルにおける値、または次の図に示す最大振幅の 2 乗をもつ入力全体の値を選択します。複素数値 u=a+bi の場合、振幅の二乗は a2+b2 です。

  • Index — ブロックは、入力の各行または各列の最大値や入力の指定した次元のベクトルにおける最大値、または入力全体の最大値を計算して、インデックス配列 I を出力します。I の各要素は、対応する列、行、ベクトルまたは入力全体の最大値にインデックス付けする整数です。出力 I は、[Find the maximum value over] パラメーターの設定により異なります。サイズ M x N x P の 3 次元の入力信号について考えてみましょう。

    • Each row — 各サンプル時間での出力 I は M x 1 x P 配列で構成され、各要素には入力の 2 番目の次元に対する各ベクトルの最大値のインデックスが含まれます。M 行 N 列の行列である入力の場合、各サンプル時間での出力は M 行 1 列の列ベクトルになります。

    • Each column — 各サンプル時間での出力 I は 1 x N x P の配列で構成され、各要素には入力の 1 番目の次元に対する各ベクトルの最大値のインデックスが含まれます。M 行 N 列の行列である入力の場合、各サンプル時間での出力は 1 行 N 列の行ベクトルになります。

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

    • Entire input — 各サンプル時間での出力 I は M x N x P の入力行列の最大値の位置を含む 1 行 3 列のベクトルです。M 行 N 列の行列である入力の場合、出力は 1 行 2 列のベクトルになります。

    • Specified dimension — 各サンプル時間での出力 I は [Dimension] パラメーターの値によって異なります。[Dimension] が 1 に設定されると、出力は [Each column] を選択した場合と同じになります。[Dimension] が 2 に設定されると、出力は [Each row] を選択した場合と同じになります。[Dimension] が 3 に設定されると、各サンプル時間での出力は入力の 3 番目の次元に対する各ベクトルの最大値のインデックスを含む M 行 N 列の行列となります。

    最大値が複数回発生する場合、計算されたインデックスは最初の発生に対応します。たとえば、入力が列ベクトル [3 2 1 2 3]' である場合、[Each column] がオンになっていると、最大値の計算された 1 ベースのインデックスは 5 ではなく 1 です。

  • Value and Index — ブロックは、入力の各行または各列の最大値や入力の指定した次元のベクトルにおける最大値、または入力全体の最大値と対応するインデックス配列 I を出力します。

  • Running — ブロックは、M 行 N 列の入力の時間系列における各チャネルの最大値を追跡します。このモードでは、[Input processing] パラメーターの値も次のいずれかの値のように指定しなければなりません。

    • Elements as channels (sample based) — ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各 yijk 要素には、最後のリセット以降のすべての入力に対する要素 uijk で観測される最大値が含まれます。

      リセット イベントが発生すると、現在のフレームの移動最大値 yijk が要素 uijk にリセットされます。

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

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

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

    可変サイズ入力の実行モード

    入力が可変サイズ信号のときに [Mode][Running] に設定すると、次のようになります。

    • [Input processing] パラメーターを [Elements as channel (sample based)] に設定すると、状態がリセットされます。

    • [Input processing] パラメーターを [Columns as channels (frame based)] に設定すると、次のようになります。

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

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

最大値のインデックスが 1 ベースまたは 0 ベースの番号付けを使用して報告されるかを指定します。

依存関係

このパラメーターを有効にするには、[Mode] パラメーターを [Index] または [Value and Index] のいずれかに設定します。

  • Each column — ブロックは各列の最大値を出力します。

  • Each row — ブロックは各行の最大値を出力します。

  • Entire input — ブロックは入力全体の最大値を出力します。

  • Specified dimension — ブロックは [Dimension] パラメーターで指定された次元の最大値を出力します。

依存関係

このパラメーターを有効にするには、[Mode] パラメーターを [Value and Index][Value] または [Index] に設定します。

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

依存関係

このパラメーターを有効にするには、[Find the maximum value over][Specified dimension] に設定します。

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

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

  • Elements as channels (sample based) — ブロックは入力の各要素を別々のチャネルとして扱います。サイズ M x N x P の 3 次元の入力信号の場合、ブロックは M x N x P の配列を出力します。出力の各 yijk 要素には、最後のリセット以降のすべての入力に対する要素 uijk で観測される最大値が含まれます。

    リセット イベントが発生すると、現在のフレームの移動最大値 yijk が要素 uijk にリセットされます。

依存関係

このパラメーターを有効にするには、[Mode][Running] に設定します。

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

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

  • Rising edgeRst の入力が次のいずれかを行うときにリセット操作をトリガーします。

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

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

  • Falling edgeRst の入力が次のいずれかを行うときにリセット操作をトリガーします。

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

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

  • Either edge[Rst] の入力が [Rising edge] または [Falling edge] の場合にリセット操作をトリガーします。

  • Non-zero sampleRst 入力が非ゼロの各サンプル時間でリセット操作をトリガーします。

    メモ

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

依存関係

このパラメーターを有効にするには、[Mode][Running] に設定します。

[データ型] タブ

メモ:

これらのパラメーターを使用するには、データ入力が複素数の固定小数点でなければなりません。

固定小数点演算の丸めモードを次のいずれかに指定します。

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

詳細については、丸めモードを参照してください。

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

[乗算出力] は、Maximum ブロックでの乗算操作の出力のデータ型を指定します。乗算出力データ型の詳細については、Multiplication Data Typesを参照してください。

  • Inherit: Same as input — ブロックは乗算出力のデータ型を入力のデータ型と同じになるように指定します。

  • fixdt([],16,0) — ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。

[乗算出力] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。

データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

[アキュムレータ] は、Maximum ブロックでの累積操作の出力のデータ型を指定します。

  • Inherit: Same as product output — ブロックはアキュムレータのデータ型を乗算出力のデータ型と同じになるように指定します。

  • Inherit: Same as input — ブロックはアキュムレータのデータ型を入力のデータ型と同じになるように指定します。

  • fixdt([],16,0) — ブロックは語長が 16 ビットで小数部の長さが 0 である自動符号付きの 2 進小数点のスケーリングされた固定小数点データ型を指定します。

[アキュムレータ] のデータ型は、[データ型アシスタント] を使用して設定することもできます。アシスタントを使用するには、[データ型アシスタントを表示] ボタン をクリックします。

データ型アシスタントの詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

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

ブロックの特性

データ型

double | single | base integer | fixed point

多次元信号

なし

可変サイズの信号

あり

アルゴリズム

すべて展開する

拡張機能

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

R2006a より前に導入