Main Content

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

Difference

指定した入力の次元に沿った要素単位での差分の計算

  • Difference block

ライブラリ:
DSP System Toolbox / Math Functions / Math Operations

説明

Difference ブロックは、入力配列 u の行、列または指定した次元において隣接する要素の間の差分を計算します。現在の入力内のみでの差分、または連続する入力全体での差分 (累積差分) を計算するようにブロックを構成することができます。

端子

入力

すべて展開する

入力信号。ベクトル、行列、または N 次元配列として指定します。

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

出力

すべて展開する

隣接する行、列または入力の指定した次元の差分。ベクトル、行列または N 次元配列として返されます。

出力のデータ型と実数/複素数は入力と同じになりますが、差分が計算された次元は 1 つ小さくなります。その他の次元の長さは変わりません。

出力が計算される方法の詳細については、差分対象パラメーターを参照してください。

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

パラメーター

すべて展開する

[メイン] タブ

ブロックが累積差分を計算するかどうかを指定します。

  • いいえ –– ブロックは現在の入力の指定した次元に隣接する要素間の差分を計算します。このモードでは、ブロックは 差分対象 パラメーターに基づき、入力の列、行または指定した次元に沿って差分を計算できます。

  • はい –– ブロックは入力の列に沿った累積差分を計算します。詳細については、連続処理を参照してください。

入力の列、行または指定した次元に沿ってブロックが差分を計算するかどうかを指定します。

  • –– ブロックは入力の各列で隣接する要素間の差分を計算します。相当する MATLAB® コードは次のとおりです。

    y = diff(u)				

    M 行 N 列の入力の場合、出力は (M – 1) 行 N 列の行列となり、その j 番目の列は次の要素をもちます。

    yi,j=ui+1,jui,j1i(M1)

  • –– ブロックは入力の各行で隣接する要素間の差分を計算します。相当する MATLAB コードは次のとおりです。

    y = diff(u,[],2)			

    出力は M 行 (N-1) 列の行列となり、その i 番目の行は次の要素をもちます。

    yi,j=ui,j+1ui,j1j(N1)

  • 指定した次元 –– ブロックの動作は前述した行単位の差分を拡張した形になります。ブロックは [次元] パラメーターで指定する次元に沿って、隣接する要素間の差分を計算します。相当する MATLAB コードは次のとおりです。

    y = diff(u,[],d)  

    ここで、d は次元です。

    出力は指定した次元での長さが入力の長さよりも 1 つ少ない配列となり、他の次元での長さは変更されません。たとえば、要素 u(i,j,k,l) をもつ M x N x P x R の入力配列で、[次元] パラメーターの値が 3 の場合を考えます。ブロックの出力は次の要素をもつ M x N x (P–1) x R の配列となります。

    yi,j,k,l=ui,j,k+1,lui,j,k,l1k(P1)

要素単位での差分を計算する対象の 1 ベースの次元を指定します。

依存関係

このパラメーターを有効にするには、[差分対象] パラメーターに [指定した次元] を選択します。

[データ型] タブ

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

  • 負方向

  • 正方向

  • 最も近い偶数方向

  • 最も近い正の整数方向

  • 最も近い整数方向

  • 最も簡潔

  • ゼロ方向

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

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

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

  • 継承: 内部ルールによる継承 — ブロックは内部ルールに基づきアキュムレータのデータ型を継承します。このルールの詳細については、内部ルールによる継承を参照してください。

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

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

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

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

このブロックのアキュムレータ データ型の使い方を示す図は、拡張機能の「固定小数点の変換」を参照してください。

[出力] は、Difference ブロックの出力のデータ型を指定します。

  • 継承: 入力と同じ — ブロックは出力のデータ型を入力のデータ型と同じになるように指定します。

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

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

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

詳細については、信号のデータ型の制御 (Simulink)を参照してください。

出力データ型の詳細については、拡張機能の「固定小数点の変換」を参照してください。

ブロックが出力可能な最小値を指定します。Simulink では、この最小値を使用して次を行います。

  • シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。

  • 固定小数点データ型の自動スケーリング。

ブロックが出力可能な最大値を指定します。Simulink では、この最大値を使用して次を行います。

  • シミュレーション範囲のチェック。信号範囲の指定 (Simulink)を参照してください。

  • 固定小数点データ型の自動スケーリング。

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

メモ

浮動小数点の継承は、このペインで定義されるデータ型の設定よりも優先されます。入力が浮動小数点の場合、ブロックはこれらの設定を無視し、すべての内部データ型は浮動小数点になります。

ブロックの特性

データ型

double | fixed point | integer | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

詳細

すべて展開する

拡張機能

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

バージョン履歴

R2006a より前に導入

参考

関数

ブロック