ドキュメンテーション

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

1-D Lookup Table

  • ライブラリ:
  • Simulink / Lookup Tables

    HDL Coder / Lookup Tables

説明

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

1-D、2-D および n-D の Lookup Table ブロックは、N 個の変数で関数のサンプル値表現を評価します。

y=F(x1,x2,x3,...,xN)

関数 F は経験的なものです。このブロックは、ブロックのパラメーターで定義した値のテーブルの検索または内挿により、入力を出力値にマップします。このブロックは、フラット (定数)、線形 (線形の点と勾配)、ラグランジュ (線形ラグランジュ)、最も近い整数への丸め、および 3 次スプラインの内挿法をサポートしています。これらの方法は、1 ~ 30 の任意の次元のテーブルに適用できます。

次のブロックでは、最初の入力は最初の次元 (行) ブレークポイントのブレークポイントを、2 番目の入力は 2 番目の次元 (列) のブレークポイントをというように、識別します。

ブロックの向きに関する端子の順番の詳細は、回転または反転後の端子の位置を参照してください。

[数学とデータ型][行優先の配列レイアウトに最適化されたアルゴリズムを使用] コンフィギュレーション パラメーターが設定された場合、2 次元および n 次元の Lookup Table ブロックの動作が列優先から行優先に変化します。これらのブロックでは、列優先のアルゴリズムと行優先のアルゴリズムは出力計算の順序が異なる場合があり、結果的に数値がわずかに異なる可能性があります。この機能には Simulink® Coder™ または Embedded Coder® のライセンスが必要です。行優先のサポートの詳細については、行列および配列のコード生成 (Simulink Coder)を参照してください。

ブレークポイントとテーブル データの指定

これらのブロック パラメーターはブレークポイントとテーブル データを定義します。

ブロック パラメーター目的
テーブルの次元数 ルックアップ テーブルの次元数を指定します。
ブレークポイント ルックアップ テーブルの各次元に対応するブレークポイント ベクトルを指定します。
テーブル データ 関連する出力値のセットを定義します。

ヒント

ブレークポイントを均等な間隔で配置すると、生成コードは分割されません。詳細については、fixpt_evenspace_cleanup および問題のある固定小数点演算の特定 (Embedded Coder)を参照してください。

ブロックでの出力の生成方法

n-D、1-D および 2-D の Lookup Table ブロックはその入力値に基づき、テーブル値をルックアップまたは推定することにより、ブロックの出力を生成します。

ブロックの入力n-D Lookup Table ブロック
ブレークポイント データセットのインデックスの値と一致する行と列、および高次元のブレークポイントの交差部の表の値を出力します。
ブレークポイント データセットのインデックスの値とは一致しないが、範囲内 選択した [内挿法] を使用して適切な表の値を内挿します。
ブレークポイント データセットのインデックスの値とは一致せず、範囲外 選択した [外挿法] を使用して出力値を外挿します。

同等な演算を実行する他のブロック

Interpolation Using Prelookup ブロックを Prelookup ブロックと共に使用して、1 つの n-D Lookup Table ブロックと同等の演算を実行できます。ブロックをこのように組み合わせると、フレキシビリティが大きくなるので、線形内挿のためのシミュレーションのパフォーマンスがより効果的になります。

ルックアップ演算が、内挿を必要としない配列アクセスの場合は、Direct Lookup Table (n-D) ブロックを使用します。たとえば、整数値 k があり、テーブルの k 番目の要素 y = table(k) が必要な場合は、内挿は必要ありません。

端子

入力

すべて展開する

u1 端子への実数値入力。定義される値のテーブルのルックアップまたは内挿により出力値にマッピングされます。

例: 0:10

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

出力

すべて展開する

入力値に基づいて、テーブル値をルックアップまたは推定することにより、生成された出力。

ブロックの入力n-D Lookup Table ブロック
ブレークポイント データセットのインデックスの値と一致する行と列、および高次元のブレークポイントの交差部の表の値を出力します。
ブレークポイント データセットのインデックスの値とは一致しないが、範囲内選択した [内挿法] を使用して適切な表の値を内挿します。
ブレークポイント データセットのインデックスの値とは一致せず、範囲外選択した [外挿法] を使用して出力値を外挿します。

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

パラメーター

すべて展開する

テーブルとブレークポイント

ルックアップ テーブルの次元数を入力します。このパラメーターにより以下が決定されます。

  • テーブルの独立変数の数、およびブロック入力数

  • 指定するブレークポイント セット数

指定する内容方法

1、2、3、または 4

ドロップダウン リストから値を選択します。

大きいテーブルの次元

フィールドに正の整数を直接入力します。

このブロックがサポートするテーブルの最大の次元数は 30 です。

プログラムでの使用

ブロック パラメーター: NumberOfTableDimensions
型: 文字ベクトル
値: '1' | '2' | '3' | '4' | ... | 30
既定の設定: '1'

リストから以下を選択します。

  • テーブルとブレークポイント — テーブル データとブレークポイントを指定します。これらのオプションを選択すると、次のパラメーターが有効になります。

    • テーブル データ

    • ブレークポイントの指定

    • ブレークポイント 1

    • テーブルとブレークポイントの編集

  • ルックアップ テーブル オブジェクト — 既存のルックアップ テーブル (Simulink.LookupTable) オブジェクトを使用します。このオプションを選択すると、[名前] フィールドおよび [テーブルとブレークポイントの編集] ボタンが有効になります。

プログラムでの使用

ブロック パラメーター: DataSpecification
型: 文字ベクトル
値: 'Table and breakpoints' | 'Lookup table object'
既定の設定: 'Table and breakpoints'

ルックアップ テーブル (Simulink.LookupTable) オブジェクトの名前を入力します。Simulink.LookupTable オブジェクトがない場合は、アクション ボタン をクリックして [作成] を選択します。新しいルックアップ テーブル オブジェクトの対応するパラメーターにブロック情報が自動的に入力されます。

依存関係

このパラメーターを有効にするには、[データの仕様][ルックアップ テーブル オブジェクト] に設定します。

プログラムでの使用

ブロック パラメーター: LookupTableObject
型: 文字ベクトル
値: Simulink.LookupTable オブジェクトの名前
既定の設定: ''

出力値のテーブルを入力します。

シミュレーションの実行中、行列のサイズは テーブルの次元数 パラメーターで定義されたサイズに一致していなければなりません。ただし、ブロック線図の編集時には、空行列 ([] として指定) または未定義のワークスペース変数を入力できます。この手法により、テーブル データに対する適切な次元の行列の指定は後回しにして、ブロック線図の編集を続けることができます。

依存関係

このパラメーターを有効にするには、[データの仕様][テーブルとブレークポイント] に設定します。

プログラムでの使用

ブロック パラメーター: Table
型: 文字ベクトル
値: テーブルの値のベクトル
既定の設定: 'tanh([-5:5])'

明示的なブレークポイントまたは等間隔のブレークポイントを生成するパラメーターのどちらでデータを入力するか指定します。

  • ブレークポイント データを明示的に指定するには、このパラメーターを [明示的な値] に設定し、[ブレークポイント] パラメーターの横にあるテキスト ボックスにブレークポイント データを入力します。

  • 等間隔のブレークポイントを生成するパラメーターを指定するには、このパラメーターを [等間隔] に設定し、ブレークポイント データの次元ごとに [最初の点] パラメーターと [間隔] パラメーターに値を入力します。ブロックは、テーブル データから生成される点の数を計算します。

依存関係

このパラメーターを有効にするには、[データの仕様][テーブルとブレークポイント] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsSpecification
型: 文字ベクトル
値: 'Explicit values' | 'Even spacing'
既定の設定: 'Explicit values'

[ブレークポイントの指定] パラメーターの値に基づいて、ブレークポイント データを明示的にまたは等間隔のブレークポイントとして指定します。

  • [ブレークポイントの指定][明示的な値] に設定した場合は、各 [ブレークポイント] 行でテーブル データの各次元に対応するブレークポイントの設定を入力します。各次元に対して、厳密に単調増加する値をもつ 1 行 n 列または n 行 1 列のベクトルとしてブレークポイントを指定します。

  • [ブレークポイントの指定][等間隔] に設定した場合は、各 [ブレークポイント] 行で [最初の点] および [間隔] パラメーターを入力し、それぞれの次元で等間隔のブレークポイントを生成します。テーブル データによって、等間隔の点の数が決まります。

依存関係

このパラメーターを有効にするには、[データの仕様][テーブルとブレークポイント] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsForDimension1
型: 文字ベクトル
値: 単調増加する値の 1 行 n 列、または n 行 1 列のベクトル
既定の設定: '[10, 22, 31]'

等間隔のブレークポイント データの最初の点を、実数値で有限のスカラーとして指定します。このパラメーターは、[ブレークポイントの指定][等間隔] に設定されている場合に使用できます。

依存関係

このパラメーターを有効にするには、[データの仕様][テーブルとブレークポイント] に、および [ブレークポイントの指定][等間隔] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsForDimension1FirstPoint
型: 文字ベクトル
値: 実数値、有限、スカラー
既定の設定: '1'

等間隔のブレークポイント データに点の間隔を指定します。

依存関係

このパラメーターを有効にするには、[データの仕様][テーブルとブレークポイント] に、および [ブレークポイントの指定][等間隔] に設定します。

プログラムでの使用

ブロック パラメーター: BreakpointsForDimension1Spacing
型: 文字ベクトル
値: 正、実数値、有限、スカラー
既定の設定: '1'

ルックアップ テーブル エディターを開くには、このボタンをクリックします。詳細については、Simulink ドキュメンテーションのルックアップ テーブルの編集を参照してください。

ルックアップ テーブル オブジェクトのこのボタンをクリックすると、オブジェクトを編集してオブジェクトの新しい値を保存できます。

アルゴリズム

ルックアップ手法

入力がブレークポイント値の間に来た場合、ブロックは隣接するブレークポイントを使って出力値を内挿します。内挿法の詳細については、内挿法を参照してください。

依存関係

[3 次スプライン] を選択すると、ブロックはスカラー信号のみをサポートします。他の内挿法は、非スカラー信号をサポートします。

プログラムでの使用

ブロック パラメーター: InterpMethod
型: 文字ベクトル
値: 'Linear point-slope' | 'Flat' | 'Nearest' | 'Linear Lagrange' | 'Cubic spline'
既定の設定: 'Linear point-slope'

[クリップ][線形]、または [3 次スプライン] を選択します。詳細については、外挿法を参照してください。

外挿法が [線形] の場合、外挿値は選択された線形内挿法に基づいて計算されます。たとえば、内挿法が線形ラグランジュの場合、外挿法は線形ラグランジュ方程式を継承して外挿された値を計算します。

依存関係

[外挿法][3 次スプライン] を選択するには、[内挿法] にも [3 次スプライン] を選択する必要があります。

プログラムでの使用

ブロック パラメーター: ExtrapMethod
型: 文字ベクトル
値: 'Linear' | 'Clip' | 'Cubic spline'
既定の設定: 'Linear'

[Evenly spaced points]、[Linear search]、または [Binary search] を選択します。各検索法は、さまざまな環境で速度の利点をもっています。

  • ブレークポイント セットが均等の間隔に並んでいる場合 (例: 10, 20, 30 など)、[Evenly spaced points] を選択してテーブル インデックスを計算することにより、速度を最大に上げることができます。

    このアルゴリズムは最初の 2つのブレークポイントのみを利用して残りのポイントのオフセットと間隔を求めます。

    メモ

    Simulink.LookupTable オブジェクトを使用してテーブルデータを指定するときは、[インデックス検索法][等間隔のポイント] に設定すると、参照先の Simulink.LookupTable オブジェクトの [ブレークポイントの指定] パラメーターが [等間隔] に設定されます。

  • 不規則な間隔に並んでいるブレークポイント セットについては、以下のガイドラインに従ってください。

    • あるタイム ステップから次のタイム ステップまでに入力信号があまり変化しない場合は、[前回のインデックス結果を使ってインデックス検索を始める] と組み合わせて [線形探索] を選択すると、最高のパフォーマンスが得られます。

    • 入力信号がタイム ステップあたり 2 個以上または 3 個以上のテーブル区間をジャンプする場合は、[二分探索] を選択すると、最高のパフォーマンスが得られます。

インデックス検索法に関する準最適な選択は、ルックアップ テーブルに大きく依存しているモデル内でパフォーマンスの低下をもたらします。

メモ

生成コードは、以下の場合、最初のブレークポイント、間隔、およびブレークポイントの数だけを保存します。

  • ブレークポイント データが調整不可能な場合。

  • インデックス検索法が [Evenly spaced points] の場合。

プログラムでの使用

ブロック パラメーター: IndexSearchMethod
型: 文字ベクトル
値: 'Binary search' | 'Evenly spaced points' | 'Linear search'
既定の設定: 'Binary search'

このチェック ボックスは、前のタイム ステップで発見されたインデックスを使ってこのブロックにそのブロックの探索を開始させたいときに選択します。区間サイズに関してゆっくりと変化する入力に対して、このオプションをオンにするとパフォーマンスを改善できます。そうでない場合、線形探索法と二分探索法は非常に長い時間を要します。特に、ブレークポイントセットが大きな場合には長い時間を要します。

依存関係

このパラメーターを有効にするには、[インデックス検索法][線形探索] または [二分探索] に設定します。

プログラムでの使用

ブロック パラメーター: BeginIndexSearchUsing PreviousIndexResult
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

入力が範囲外の場合に警告を表示するかエラーを表示するかを指定します。オプションは次のとおりです。

  • なし — 応答しません。

  • 警告 — 警告が表示され、シミュレーションは続行されます。

  • エラー — シミュレーションを終了し、エラーを表示します。

プログラムでの使用

ブロック パラメーター: DiagnosticForOutOfRangeInput
型: 文字ベクトル
値: 'None' | 'Warning' | 'Error'
既定の設定: 'None'

このチェック ボックスを使用してブレークポイント セットの最後の要素とその対応するテーブル値のアドレス指定のためにブロックで使用するインデックス付けのルールを指定します。このチェック ボックスはブレークポイント データの最後の要素よりも入力が大きい場合に関係します。

チェック ボックスブロックで使用するインデックス区間分割
オン [テーブルとブレークポイント] タブのブレークポイント データの最後の要素 0
オフ [テーブルとブレークポイント] タブのブレークポイント データの最後から 2 番目の要素 1

ブレークポイント セット bp の範囲内の入力 u が与えられたとき、区間分割 f は 0 f 1 の範囲内で次のように計算されます。

ブレークポイント セットが [1 4 5] で入力 u が 5.5 であると仮定します。このチェック ボックスをオンにした場合、インデックスは最後の要素 (5) のインデックスになり、区間分割は 0 です。このチェック ボックスをオフにした場合、インデックスは最後から 2 番目の要素 (4) になり、区間分割は 1 です。

依存関係

このパラメーターを有効にするには、次のように設定します。

  • [内挿法][線形] に。

  • [外挿法][クリップ] に。

プログラムでの使用

ブロック パラメーター: UseLastTableValue
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

入力設定

n 次元テーブルに対応した n 個の要素分の幅を有する信号を想定する入力端子を 1 つのみ使用するには、このチェック ボックスをオンにします。このオプションは、多数のルックアップ テーブルを含むブロック線図上でライン クラッターを削除するときに便利です。

メモ

このチェック ボックスを選択すると、u ラベルが付いた 1 つの入力端子がブロックに現れます。

プログラムでの使用

ブロック パラメーター: UseOneInputPortForAllInputData
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

コード生成

範囲外の入力値をチェックするコードを含むかどうかを指定します。

チェック ボックス結果使用時

on

生成コードには範囲外のブレークポイント入力をチェックするための条件文が含まれません。

入力が範囲外の場合、生成されたコードおよびアクセラレータ モードを使用するシミュレーションに未定義の動作が発生する可能性があります。

コード効率の場合

off

生成されたコードには範囲外の入力をチェックするための条件文が含まれます。

セーフティ クリティカルなアプリケーションの場合

入力が範囲外でない場合、[生成コードの範囲外インデックスに対する保護を削除] チェック ボックスをオンにしてコードの効率性を高めることができます。既定の設定では、このチェック ボックスはオフです。セーフティ クリティカルなアプリケーションの場合、このチェック ボックスをオンにしないでください。[生成コードの範囲外インデックスに対する保護を削除] チェック ボックスをオンにする場合は、最初にモデルの入力が範囲内であることを確認します。次に例を示します。

  1. [生成コードの範囲外インデックスに対する保護を削除] チェック ボックスをオフにします。

  2. [範囲外入力の診断] パラメーターを Error に設定します。

  3. ノーマル モードでモデルのシミュレーションを実行します。

  4. 範囲外エラーがある場合は、範囲内に修正してシミュレーションをもう一度実行します。

  5. シミュレーションによって範囲外の入力エラーが発生しなくなったら、[生成コードの範囲外インデックスに対する保護を削除] チェック ボックスをオンにします。

    メモ

    [生成コードの範囲外インデックスに対する保護を削除] チェック ボックスをオンにした際に入力 k または f が範囲外の場合、生成されたコードおよびアクセラレータ モードを使用するシミュレーションの動作は未定義となります。

アプリケーションによって、次のモデル アドバイザー チェックを実行して、このチェック ボックスが使用されていることを確認できます。

  • [製品別][Embedded Coder][計算量が多い範囲外のチェック コードを生成する Lookup Table ブロックを識別します]

  • [製品別][Simulink Check][モデリング標準][DO-178C/DO-331 チェック][Lookup Table ブロックの使用をチェックします]

モデル アドバイザーの詳細については、モデル チェックの実行を参照してください。

プログラムでの使用

ブロック パラメーター: RemoveProtectionInput
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

このチェック ボックスを選択して、生成コード内で調節可能なテーブル サイズを有効にします。このオプションは、コードの再生成や再コンパイルを行わずに、ルックアップ テーブルのサイズと値および生成されたコードのブレークポイント データを変更できるようにします。

依存関係

[内挿法][3 次スプライン] に設定した場合、このチェック ボックスは使用できません。

プログラムでの使用

ブロック パラメーター: SupportTunableTableSize
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

サンプル時間を -1 以外の値で指定します。詳細については、サンプル時間の指定を参照してください。

依存関係

このパラメーターは、明示的に -1 以外の値に設定されていない限り表示されません。詳細は、サンプル時間が推奨されないブロックを参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
型: 文字ベクトル
値: スカラー
既定の設定: '-1'

例: 5 行 7 列の表は [4 6]

ゼロベースのインデックスを使用して、テーブルの次元ごとに最大インデックス値を指定します。次のデータ型を使って、正の整数値のスカラーまたはベクトルを指定できます。

  • 組み込み浮動小数点型:double および single

  • 組み込み整数型:int8int16int32uint8uint16、およびuint32

有効な指定の例には次のものがあります。

依存関係

このパラメーターを有効にするには、[コード生成で調整可能なテーブル サイズをサポート] をオンにします。生成されたコードでこのパラメーターを調整すると、新しいテーブル データおよびブレークポイントが調整されたパラメーター値とともに提供されます。

プログラムでの使用

ブロック パラメーター: MaximumIndicesForEachDimension
型: 文字ベクトル
値: 正の整数値のスカラーまたはベクトル
既定の設定: '[]'

データ型

テーブル データ型を指定します。以下を指定可能です。

  • データ型継承ルール (例: 継承: 出力と同じ])

  • 組み込みデータ型名 (例: single)

  • データ型オブジェクト名 (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

[データ型アシスタントを表示] ボタン をクリックして、データ型の属性の設定に役立つ [データ型アシスタント] を表示します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

ヒント

以下の場合には、出力データ型とは異なるテーブル データ型を指定します。

  • 出力信号よりも小さいタイプを使用するテーブル データの保存のためのメモリ必要量が少ない場合

  • 異なる出力データ型の 2 つの n-D Lookup Table ブロック間で事前スケーリングされたテーブル データを共有する場合

  • 異なる出力データ型のブロックに対して生成されたコード内のカスタム ストレージ テーブル データを共有する場合

プログラムでの使用

ブロック パラメーター: TableDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit from 'Table data'' | 'Inherit: Same as output' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression>'
既定の設定: 'Inherit: Same as output'

テーブル データの最小値を指定します。既定値は [] (指定なし) です。

プログラムでの使用

ブロック パラメーター: TableMin
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

テーブル データの最大値を指定します。既定値は [] (指定なし) です。

プログラムでの使用

ブロック パラメーター: TableMax
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

ブレークポイント データのセットのデータ型を指定します。以下を指定可能です。

  • データ型継承ルール (例: 継承: 対応する入力と同じ])

  • 組み込みデータ型名 (例: single)

  • データ型クラスの名前 (例: 列挙データ型クラス)

  • データ型オブジェクト名 (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

ヒント

  • ブレークポイントは順序付けされていない列挙データをサポートします。結果として、線形探索も順序付けされていません。これは柔軟性をもたらしますが、パフォーマンスに影響する可能性があります。検索はブレークポイントの最初の要素から開始されます。

  • [前回のインデックス結果を使ってインデックス検索を始める] チェック ボックスがオンの場合、順序付けされた単調増加のデータを使用しなければなりません。この順序付けはパフォーマンスを向上させます。

  • 列挙型データでは、[外挿法]Clip でなければなりません。

  • ブロックは列挙型データに対する範囲外の入力をサポートしません。列挙型データを指定する場合、ブレークポイント データセットに列挙全体を含めるようにします。たとえば、関数 enumeration を使用します。

このブロックで列挙型データを使用する際の制限を次に示します。

  • ブロックは列挙型データに対する範囲外の入力をサポートしません。列挙型データを指定する場合、ブレークポイント データセットに列挙全体を含めるようにします。たとえば、関数 enumeration を使用します。

[データ型アシスタントを表示] ボタン をクリックして、データ型の属性の設定に役立つ [データ型アシスタント] を表示します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

ヒント

以下の場合には、対応する入力データ型とは異なるブレークポイント データ型を指定します。

  • 入力信号よりも小さいタイプを使用するブレークポイント データの保存のためのメモリ必要量が少ない場合

  • 異なる入力データ型をもつ 2 つの n-D Lookup Table ブロック間で事前スケーリングされたブレークポイント データを共有する場合

  • 異なる入力データ型のブロックに対して生成されたコード内のカスタム ストレージ ブレークポイント データを共有する場合

プログラムでの使用

ブロック パラメーター: BreakpointsForDimension1DataTypeStr | BreakpointsForDimension2DataTypeStr| ... | BreakpointsForDimension30DataTypeStr
型: 文字ベクトル
値: 'Inherit: Same as corresponding input' | 'Inherit: Inherit from 'Breakpoint data'' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression>'
既定の設定: 'Inherit: Same as corresponding input'

ブレークポイント データのセットの最小値を指定します。既定値は [] (指定なし) です。

プログラムでの使用

ブロック パラメーター: BreakpointsForDimension1Min | BreakpointsForDimension2Min | ... | BreakpointsForDimension30Min
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

ブレークポイント データのセットの最大値を指定します。既定値は [] (指定なし) です。

プログラムでの使用

ブロック パラメーター: BreakpointsForDimension1Max | BreakpointsForDimension2Max | ... | BreakpointsForDimension30Max
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

ブレークポイント間の位置のデータ型を指定します。以下を指定可能です。

  • データ型継承ルール (例: 継承: 内部ルールによる継承])

  • 組み込みデータ型名 (例: single)

  • データ型オブジェクト名 (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

[データ型アシスタントを表示] ボタン をクリックして、データ型の属性の設定に役立つ [データ型アシスタント] を表示します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: FractionDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'double' | 'single' | 'fixdt(1,16,0)'|'<data type expression>'
既定の設定: 'Inherit: Inherit via internal rule'

中間結果のデータ型を指定します。以下を指定可能です。

  • データ型継承ルール (例: 継承: 出力と同じ])

  • 組み込みデータ型名 (例: single)

  • データ型オブジェクト名 (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

[データ型アシスタントを表示] ボタン をクリックして、データ型の属性の設定に役立つ [データ型アシスタント] を表示します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

ヒント

このパラメーターを使用して、内部計算に対してテーブル データや出力データよりも高い (または低い) 精度を指定します。

プログラムでの使用

ブロック パラメーター: IntermediateResultsDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via internal rule' | 'Inherit: Same as output' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression>'
既定の設定: 'Inherit: Same as output'

出力データ型を指定します。以下を指定可能です。

  • データ型継承ルール (例: 継承: 逆伝播による継承)

  • 組み込みデータ型名 (例: single)

  • データ型オブジェクト名 (例: Simulink.NumericType オブジェクト)

  • データ型を評価する式 (例: fixdt(1,16,0))

[データ型アシスタントを表示] ボタン をクリックして、データ型の属性の設定に役立つ [データ型アシスタント] を表示します。詳細については、データ型アシスタントを利用したデータ型の指定を参照してください。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
型: 文字ベクトル
値: 'Inherit: Inherit via back propagation' | 'Inherit: Inherit from table data' | 'Inherit: Same as first input' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'<data type expression'
既定の設定: 'Inherit: Same as first input'

ブロックが出力する最小値を指定します。既定値は [] (指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。

プログラムでの使用

ブロック パラメーター: OutMin
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

ブロックが出力する最大値を指定します。既定値は [] (指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。

プログラムでの使用

ブロック パラメーター: OutMax
型: 文字ベクトル
値: スカラー
既定の設定: '[]'

中間計算の内部ルールを指定します。より速く計算するには [速度] を選択します。この場合、通常で最大 2 ビットの精度が失われる場合があります。

プログラムでの使用

ブロック パラメーター: InternalRulePriority
型: 文字ベクトル
値: 'Speed' | 'Precision'
既定の設定: 'Speed'

これを選択した場合、すべての入力が同じデータ型でなければなりません。

プログラムでの使用

ブロック パラメーター: InputSameDT
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'on'

このパラメーターを選択して、このブロックについて指定したデータ型を固定小数点ツールがオーバーライドするのを防止します。詳細については、出力データ型設定のロック (Fixed-Point Designer)を参照してください。

プログラムでの使用

ブロック パラメーター: LockScale
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

シミュレーションまたはモデルから生成されたコードの実行中に起こる固定小数点ルックアップ テーブルの計算の丸めモードを選択します。詳細については、丸め (Fixed-Point Designer)を参照してください。

このオプションは、ブロック パラメーターの値の丸めには影響しません。Simulink は、そのような値を最近傍の表現可能な整数値に丸めます。ブロックパラメーターの丸めを制御するためには、MATLAB® 丸め関数を使用する式を、ブロックのダイアログ ボックスの編集フィールドに入力します。

プログラムでの使用

ブロック パラメーター: RndMeth
型: 文字ベクトル
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
既定の設定: 'Simplest'

アクションこのアクションを行う理由オーバーフロー発生時に起きること

このチェック ボックスをオンにする (on)。

モデルでオーバーフローが発生する可能性があるので、生成コードに飽和保護を明示的に組み込むことをお勧めします。

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

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

このチェック ボックスをオンにしない (off)。

生成コードの効率を最適化することをお勧めします。

ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細については、信号範囲のエラーのチェックを参照してください。

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

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

ヒント

モデルを R2009a 以前のバージョンとして保存する場合、このチェック ボックスの設定による影響はなく、飽和コードも表示されません。これにより下位互換性が維持されます。

このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。

プログラムでの使用

ブロック パラメーター: SaturateOnIntegerOverflow
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

ブロックの特性

データ型

double | enumerated | fixed point | integer | single

直接フィードスルー

はい

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

詳細

すべて展開する

拡張機能

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

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

R2011a で導入