Main Content

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

Difference

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

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

説明

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

端子

入力

すべて展開する

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

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

出力

すべて展開する

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

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

出力が計算される方法の詳細については、Difference along, Difference alongDifference alongDifference alongパラメーターを参照してください。

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

パラメーター

すべて展開する

[メイン] タブ

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

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

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

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

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

    y = diff(u)				

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

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

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

    y = diff(u,[],2)			

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

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

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

    y = diff(u,[],d)  

    ここで、d は次元です。

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

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

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

依存関係

このパラメーターを有効にするには、[Difference along] パラメーターに [Specified dimension] を選択します。

[データ型] タブ

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

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

メモ

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

ブロックの特性

データ型

double | single | base integer | fixed point

多次元信号

いいえ

可変サイズの信号

はい

詳細

すべて展開する

拡張機能

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

参考

関数

ブロック

R2006a より前に導入