ドキュメンテーション

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

Divide

一方の入力を他方の入力で除算します。

ライブラリ

Math Operations

説明

Product ブロックと Product of Elements ブロックは、Divide ブロックのバリアントです。

  • Product ブロックについては、Product を参照してください。

  • Product of Elements ブロックについては、Product of Elements を参照してください。

サポートされているブロック演算

Divide ブロックは、第 1 入力を第 2 入力で除算した結果を出力します。入力は、2 つともスカラー、スカラーと非スカラー、あるいは同じ次元の 2 つの非スカラーになることがあります。Divide ブロックは、機能的に Product ブロックです。このブロックは、あらかじめ設定された 2 つのブロック パラメーターの値をもちます。

  • 乗算:要素単位(.*)

  • 入力数: */

これらのパラメーターのいずれかに既定でない値を設定すると、Divide ブロックを機能的に等価な Product ブロックまたは Product of Elements ブロックに変更できます。詳細は、これら 2 つのブロックのドキュメンテーションを参照してください。

シミュレーションとコード生成の予想される相違点

Divide ブロックのいずれかの入力に NaN (または inf) の値が含まれている場合または、実行中にこのブロックが NaN (または inf) を出力した場合、生成コードとブロックのシミュレーション結果を比べたときに、その結果が異なる場合があります。この違いは、非有限の値である NaN または inf により発生します。その場合、モデル コンフィギュレーションを検証して NaNinf が生じる条件を排除してください。

コード最適化

Simulink® Coder™ ビルド プロセスは、効率的な逆行列演算と除算のコードを提供します。以下は、各種メリットおよびそれぞれのメリットが利用可能なタイミングの概要です。

メリット小規模の行列
(2 行 2 列 ~ 5 行 5 列)
中規模の行列
(6 行 6 列 ~ 20 行 20 列)
大規模の行列
(20 行 20 列超)
より高速なコード実行時間 (R2011a 以前のリリースに対する比較)ありなしあり
ROM/RAM 使用量抑制 (R2011a 以前のリリースに対する比較)実数値の場合は「あり」実数値の場合は「あり」実数値の場合は「あり」
変数の再利用ありありあり
デッド コード除去ありありあり
定数のたたみ込みありありあり
式のたたみ込みありありあり
MATLAB® Coder の結果との整合性ありありあり

3 つ以上の異なる次元の入力があるブロックの場合、コードには中間結果の一時変数を格納するバッファーが別途含まれている場合があります。

パラメーターとダイアログ ボックス

データ型アシスタントを表示

[データ型アシスタント] を表示します。

設定

[データ型アシスタント] を使用すると、[出力データ型] パラメーターを設定できます。

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

入力数

ブロックの 2 つのプロパティを制御します。

  • ブロックの入力端子の数

  • 各入力が出力されるときに乗算されるかまたは除算されるか

設定

既定の設定: */

  • 1*、または /

    1 つの入力をもちます。要素単位モードでは、Product of Elements ブロックで記述されたとおりに入力を処理します。行列モードでは、パラメーター値が 1 または * の場合、ブロックは入力値を出力します。値が / である場合、入力は正方行列 (縮退した場合としてスカラーを含む) でなければなりません。ブロックは逆行列を出力します。詳細は、要素単位モードおよび行列モードを参照してください。

  • 整数値 > 1

    入力数は整数値で指定されます。[乗算] パラメーターで指定される要素単位モードまたは行列モードによって、入力は互いに乗算されます。詳細は、要素単位モードおよび行列モードを参照してください。

  • 2 つ以上の */ から成る単純文字列

    文字列の長さで与えられる入力数をもちます。* に相当する各入力は、乗算され、出力されます。/ に対応する各入力は除算され、出力されます。演算は、[乗算] パラメーターで指定されるように、要素単位モードまたは行列モードで行われます。詳細は、要素単位モードおよび行列モードを参照してください。

依存関係

[入力数] として * を設定し、[乗算] として [要素単位(.*)] を選択すると、パラメーター [乗算範囲] が有効になります。

コマンド ライン情報

ブロック固有のパラメーターを参照してください。

乗算

Product ブロックが要素単位モードまたは行列モードで動作するかを指定します。

設定

既定の設定: [要素単位(.*)]

[要素単位(.*)]

要素単位モードで動作します。

[行列 (*)]

行列モードで動作します。

依存関係

[要素単位(.*)] を選択し、[入力数]* に設定すると、以下のパラメーターが有効になります。

  • 乗算範囲

コマンド ライン情報

ブロック固有のパラメーターを参照してください。

乗算範囲

行列入力の乗算に影響します。

設定

既定の設定: すべての次元

すべての次元

[入力数] の値に基づいて行列のすべての要素の積、またはそれらの逆行列の積であるスカラーを出力します。

指定した次元

[次元] パラメーターの値に基づいて構成でベクトルを出力します。

依存関係

  • [乗算] として [要素単位(.*)] を選択し、[入力数]*1、または / に設定してこのパラメーターを有効にします。

  • このパラメーターを 指定した次元 に設定すると、[次元] パラメーターが有効になります。

コマンド ライン情報

ブロック固有のパラメーターを参照してください。

次元

行列入力の乗算に影響します。

設定

既定の設定: 1

最小値: 1

最大値: 2

1

入力行列の各列の要素を含むベクトルを出力します。

2

入力行列の各行の要素を含むベクトルを出力します。

ヒント

出力ベクトルの各要素は、[入力数] の値に基づいて入力行列の対応する列または行のすべての要素の積、あるいはこれらの要素の逆の積を含みます。

  • 1 または *

    列または行の要素の値の乗算

  • /

    列または行の要素の逆の乗算

依存関係

[乗算範囲] として 指定した次元 を選択してこのパラメーターを有効にします。

コマンド ライン情報

ブロック固有のパラメーターを参照してください。

サンプル時間

すべての入力が同じデータ型をもつ

すべての入力が同じデータ型をもつようにします。

設定

既定の設定: オフ

オン

すべての入力が同じデータ型をもつようにします。

オフ

すべての入力が同じデータ型をもつ必要はありません。

コマンド ライン情報

ブロック固有のパラメーターを参照してください。

固定小数点ツールによる変更に対して出力データ型の設定をロックする

固定小数点ツールや固定小数点アドバイザーによる変更を避けるために、このブロックの出力データ型の設定をロックします。

設定

既定の設定: オフ

オン

このブロックの出力データ型設定をロックします。

オフ

固定小数点ツールや固定小数点アドバイザーがこのブロックの出力データ型の設定を変更できます。

コマンド ライン情報

パラメーター: LockScale
タイプ: 文字列
値: 'off' | 'on'
既定の設定: 'off'

参考

詳細は、「[出力データ型の設定をロックする] の使用」を参照してください。

整数丸めモード

固定小数点演算の丸めモードを指定します。

設定

既定の設定: 負方向

正方向

正の無限大方向に正負の値を丸めます。MATLAB 関数 ceil と等価です。

最も近い偶数方向

最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、最も近い偶数の整数に丸めます。Fixed-Point Designer™ 関数 convergent と等価です。

負方向

負の無限大方向に正負の値を丸めます。MATLAB 関数 floor と等価です。

最も近い正の整数方向

最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、正の無限大方向に丸めます。Fixed-Point Designer 関数 nearest と等価です。

最も近い整数方向

最も近い表現可能な値に数値を丸めます。同順位が発生した場合は、正の数値を正の無限大方向、負の数値を負の無限大方向に丸めます。Fixed-Point Designer 関数 round と等価です。

最も簡潔

負方向の丸めとゼロ方向の丸めのいずれかを選択し、できるだけ効率の高い丸めコードを生成します。

ゼロ方向

ゼロ方向に数値を丸めます。MATLAB 関数 fix と等価です。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

詳細は、「丸め」を参照してください。

整数オーバーフローで飽和

オーバーフローで飽和するかどうかを指定します。

設定

既定の設定: オフ

オン

オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。

たとえば、符号付き 8 ビット整数に関連付けられたオーバーフローは、-128 または 127 に飽和することができます。

オフ

オーバーフローは、データ型によって表現される適切な値にラップされます。

たとえば、数 130 は符号付き 8 ビット整数 1 つに収まりきらないので、-126 にラップされます。

ヒント

  • モデルでオーバーフローが発生する可能性があり、生成コードに飽和保護を明示的に組み込む必要があるときには、このチェック ボックスをオンにすることを検討してください。

  • 生成コードの効率を最適化する場合には、このチェック ボックスをオフにすることを検討してください。

    このチェック ボックスをオフにすると、ブロックが範囲外の信号を処理する方法を指定しすぎないようにする点でも役立ちます。詳細は、「信号範囲のエラーのチェック」を参照してください。

  • このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。

  • 通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。

コマンド ライン情報

パラメーター: SaturateOnIntegerOverflow
タイプ: 文字列
値: 'off' | 'on'
既定の設定: 'off'

出力の最小値

Simulink がチェックする出力範囲の下限値。

設定

既定の設定: [] (指定なし)

有限で実数の double のスカラー値としてこの値を指定します。

Simulink は、最小値を使って以下を行います。

    メモ:   [出力の最小値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。

コマンド ライン情報

パラメーター: OutMin
タイプ: 文字列
値: '[ ]'
既定の設定: '[ ]'

出力の最大値

Simulink がチェックする出力範囲の上限値。

設定

既定の設定: [] (指定なし)

有限で実数の double のスカラー値としてこの値を指定します。

Simulink は、最大値を使って以下を行います。

    メモ:   [出力の最大値] により、実際の出力信号が飽和する (またはクリップされる) ことはありません。代わりに、Saturation ブロックを使用してください。

コマンド ライン情報

パラメーター: OutMax
タイプ: 文字列
値: '[ ]'
既定の設定: '[ ]'

出力データ型

出力データ型を指定します。

設定

既定の設定: 継承: 内部ルールによる継承

継承: 内部ルールによる継承

Simulink は、組み込みターゲット ハードウェアのプロパティを考慮しつつ、数値の精度、パフォーマンス、生成コードのサイズのバランスが取れるように、データ型を選択します。組み込みターゲット ハードウェアの設定を変更すると、内部ルールにより選択されるデータ型が変更される可能性があります。コードの効率と数値の精度が、ソフトウェアにより同時に最適化されるとは限りません。内部ルールが、数値精度またはパフォーマンスに対する要求を満たさない場合は、以下のいずれかを行ってください。

  • 出力データ型を明示的に指定する。

  • 単に 継承: 1 番目の入力と同じ を選択します。

  • fixdt(1,32,16) のように既定のデータ型を明示的に指定し、固定小数点ツールを使用してモデルにデータ型を推奨する。詳細は、fxptdlg を参照してください。

  • 独自の継承ルールを指定するには、継承: 逆伝播による継承 を使用し、Data Type Propagation ブロックを使用します。このブロックの使い方は、Signal Attributes ライブラリ の Data Type Propagation Examples ブロックを参照してください。

継承: 逆伝播による継承

駆動ブロックのデータ型を使用します。

継承: 1 番目の入力と同じ

1 番目の入力信号のデータ型を使用します。

double

出力データ型は double です。

single

出力データ型は single です。

int8

出力データ型は int8 です。

uint8

出力データ型は uint8 です。

int16

出力データ型は int16 です。

uint16

出力データ型は uint16 です。

int32

出力データ型は int32 です。

uint32

出力データ型は uint32 です。

fixdt(1,16,0)

出力データ型は固定小数点 fixdt(1,16,0) です。

fixdt(1,16,2^0,0)

出力データ型は固定小数点 fixdt(1,16,2^0,0) です。

<data type expression>

データ型オブジェクトを使用します。たとえば、Simulink.NumericType などです。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

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

モード

指定するデータのカテゴリを選択します。

設定

既定の設定: 継承

継承

データ型の規則の継承。[継承] を選択すると、右側にある 2 番目のメニュー/テキスト ボックスが有効になります。次の選択肢からいずれかを選択します。

  • Inherit via internal rule (既定の設定)

  • Inherit via back propagation

  • Same as first input

組み込み

組み込みのデータ型。[組み込み] を選択すると、右側にある 2 番目のメニュー/テキスト ボックスが有効になります。次の選択肢からいずれかを選択します。

  • double (既定の設定)

  • single

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

固定小数点

固定小数点データ型。

データ型を評価する式。[] を選択すると、右側から 2 番目のメニュー/テキスト ボックスが有効になります。そこに式を入力することができます。

依存関係

[データ型アシスタントを表示] ボタンをクリックすると、このパラメーターが有効になります。

コマンド ライン情報

「ブロック固有のパラメーター」を参照してください。

参考

「データ型アシスタントを利用したデータ型の指定」を参照してください。

データ型のオーバーライド

この信号のデータ型オーバーライド モードを指定します。

設定

既定の設定: 継承

継承

コンテキストからデータ型オーバーライド設定を継承します。コンテキストとはブロックのことで、信号を使用している Simulink の Simulink.Signal オブジェクトまたは Stateflow® チャートです。

[オフ]

コンテキストのデータ型オーバーライド設定を無視し、信号に対して指定された固定小数点データ型を使用します。

ヒント

個々のデータ型に対してデータ型オーバーライドをオフにする機能により、データ型オーバーライドを適用する際に、モデル内のデータ型をさらに効果的に制御できます。たとえば、このオプションを使用すると、データ型オーバーライド設定にかかわらず、データ型が下流ブロックの要件を満たすことを確認できます。

依存関係

このパラメーターは、[モード]組み込み または 固定小数点 の場合にのみ表示されます。

符号付き/なし

固定小数点データを符号付きにするか、符号なしにするかを指定します。

設定

既定の設定: 符号付き

符号付き

符号付き固定小数点データを指定します。

符号なし

符号なし固定小数点データを指定します。

依存関係

[モード]固定小数点を選択すると、このパラメーターが有効になります。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

語長

量子化された整数をもつ語のビット サイズを指定します。

設定

既定の設定: 16

最小値: 0

最大値: 32

依存関係

[モード]固定小数点を選択すると、このパラメーターが有効になります。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

スケーリング

オーバーフローを避け、量子化誤差を最小限に抑えるための固定小数点データのスケーリング方法を指定します。

設定

既定の設定: 最高精度

2 進小数点

2 進小数点の位置を指定します。

勾配とバイアス

勾配とバイアスを入力します。

最高精度

最高精度値を指定します。

依存関係

[モード]固定小数点を選択すると、このパラメーターが有効になります。

[2 進小数点] を選択すると、以下が有効になります。

  • 小数部の長さ

  • 最高精度のスケーリングを計算

勾配とバイアス を選択すると、以下が有効になります。

  • 勾配

  • バイアス

  • 最高精度のスケーリングを計算

参考

詳細は、「固定小数点データ型の指定」を参照してください。

小数部の長さ

固定小数点データ型の小数部の長さを指定します。

設定

既定の設定: 0

2 進小数点は正または負の整数になります。

依存関係

[スケーリング][2 進小数点] を選択すると、このパラメーターが有効になります。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

勾配

固定小数点データ型の勾配を指定します。

設定

既定の設定: 2^0

任意の正の実数を指定します。

依存関係

[スケーリング]勾配とバイアス を選択すると、このパラメーターが有効になります。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

バイアス

固定小数点データ型のバイアスを指定します。

設定

既定の設定: 0

任意の実数を指定します。

依存関係

[スケーリング]勾配とバイアス を選択すると、このパラメーターが有効になります。

参考

詳細は、「固定小数点データ型の指定」を参照してください。

以下のは、既定のブロック パラメーター値を使う代表的な入力に対して Divide ブロックの出力を示します。

R2006a より前に導入

この情報は役に立ちましたか?