このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Interpolation Using Prelookup
あらかじめ計算されたインデックスと小数部の値を使用して、n 次元関数の近似を加速する

ライブラリ:
Simulink /
Lookup Tables
説明
Interpolation Using Prelookup ブロックは、Prelookup ブロックと共に使用するのが最も効率的です。PreLookup ブロックは、その入力値 u
がブレークポイント データセットとどのように関連するかを指定するインデックスと区間分割を計算します。n 次元 table を内挿するために、結果のインデックスと割合の値を Interpolation Using Prelookup ブロックに入力します。これらの 2 つのブロックには分散アルゴリズムがあります。それらを組み合わせることで、n-D Lookup Table ブロックの統合アルゴリズムと同じ処理になります。ただし、Prelookup ブロックと Interpolation Using Prelookup ブロックを使用すると、シミュレーションとコード生成の効率を上げることができる場合があります。詳細については、処理効率を参照してください。
サポートされているブロック演算
Interpolation Using Prelookup ブロックを使用するには、ダイアログ ボックス上で一連のテーブル データ値を直接指定するか、[T] 入力端子に値を入力します。通常は、これらの表の値は Prelookup ブロックで指定されたブレーク ポイント データセットに相当します。Interpolation Using Prelookup ブロックは、Prelookup ブロックから取得するインデックスおよび区間分割の値に基づき表の値を検索または推定し、出力を生成します。インデックスと区間分割のラベルは、Interpolation Using Prelookup ブロック アイコンでは k
および f
として表示されます。
インデックスおよび区間分割の入力 | Interpolation Using Prelookup ブロック |
---|---|
ブレークポイント データセットのインデックスの値にマッピングされる場合 | 行と列、および高次元のブレークポイントの交差部の表の値を出力します。 |
ブレークポイント データセットのインデックスの値にはマッピングされないが範囲内の場合 | 選択した [内挿法] を使用して適切なテーブルの値を内挿します。 |
ブレークポイント データセットのインデックスの値にはマッピングされず範囲外の場合 | 選択した [外挿法] を使用して出力値を外挿します。 |
テーブル データのサブセットの内挿法
[サブテーブル選択次元数] パラメーターを使用すると、そのテーブル データのサブセットにおいてのみ内挿されるように指定できます。この内挿モードをアクティブにするには、このパラメーターを正の整数に設定します。既定の列優先のアルゴリズムでは、この値によってテーブル データの最高次元から始めて、選択する次元数が定義されます。したがって、値は テーブルの次元数 以下でなければなりません。
行優先のアルゴリズムでは、内挿はテーブル データの最初または最も低い次元から始まります。
非ゼロの値の場合、[数学とデータ型] 、 [行優先の配列レイアウトに最適化されたアルゴリズムを使用] コンフィギュレーション パラメーターを選択すると、サブテーブルの選択動作が行優先のレイアウトに最適化されます。
Interpolation Using Prelookup ブロックに 3 次元のテーブル データがあるとします。次の動作は列優先のアルゴリズムに適用されます。
選択次元数 | ブロックの動作 | ブロックの外観 |
---|---|---|
0 | テーブル全体を内挿し、サブテーブル選択をアクティブにしません。 | 変更されません。 |
1 | 最初の 2 つの次元を内挿し、3 番目の次元を選択します。 | 2 次元テーブルの選択と内挿に使用するラベル s3 の付いた入力端子を表示します。 |
2 | 最初の次元を内挿し、2 番目と 3 番目の次元を選択します。 | 1 次元テーブルの選択と内挿に使用するラベル s2 と s3 の付いた 2 つの入力端子を表示します。 |
サブテーブル選択では、0 ベースのインデックス指定を使用します。テーブル データのサブセットを内挿する例は、Prelookup ブロックと Interpolation ブロックの使用を参照してください。
サブテーブル選択を使用しない 2 次元または n 次元内挿の場合、列優先および行優先のアルゴリズムは出力計算の順序が異なる場合があり、数値結果がわずかに異なる原因となります。
例
端子
入力
k1 — テーブルの 1 番目の次元に対するインデックス k
スカラー | ベクトル | 行列
0 ベースのインデックス k
。テーブルの 1 番目の次元に対する入力 u
を含む区間を指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
f1 — テーブルの 1 番目の次元に対する小数部 f
スカラー | ベクトル | 行列
小数部 f
は、テーブルの 1 番目の次元に対する区間 k
上の入力の正規化された位置を表します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
kn — テーブルの n
番目の次元に対するインデックス k
スカラー | ベクトル | 行列
0 ベースのインデックス k
。テーブルの n
番目の次元に対する入力 u
を含む区間を指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
fn — テーブルの n
番目の次元に対する小数部 f
スカラー | ベクトル | 行列
小数部 f
は、テーブルの n
番目の次元に対する区間 k
上の入力の正規化された位置を表します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
kf1 — インデックス k
と小数部 f
を含む入力
bus object
kf1 端子への入力には、バス オブジェクトとして指定されたインデックス k
と小数部 f
が含まれます。
依存関係
この端子を有効にするには、[インデックスと小数部をバスにする] チェック ボックスをオンにします。
利用可能な kf
入力端子数は、[次元数] パラメーターと [サブテーブル選択次元数] パラメーターの値に依存します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| bus
kfn — インデックス k
と小数部 f
を含む入力
bus object
kfn 端子への入力には、バス オブジェクトとして指定された入力の n 番目の次元に対するインデックス k
と小数部 f
が含まれます。
依存関係
この端子を有効にするには、[インデックスと小数部をバスにする] チェック ボックスをオンにします。
利用可能な [kf] 入力端子数は、[次元数] パラメーターと [サブテーブル選択次元数] パラメーターの値に依存します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
| bus
sm — テーブル データのサブセットを選択して内挿
スカラー | ベクトル | 行列
列優先のアルゴリズムでは、ブロックは sm、sm+1、... sn 端子への入力を使用して選択とサブテーブル内での内挿を実行します。m
は、テーブルの m 番目の次元にマッピングされます。n は [次元数] に等しくなります。
行優先のアルゴリズムでは、ブロックは s1、s2、... sm 端子への入力を使用して選択とサブテーブル内での内挿を実行します。m
は、テーブルの m 番目の次元にマッピングされます。m は [サブテーブル選択次元数] に等しくなります。
依存関係
この端子を有効にするには、[サブテーブル選択次元数] が [次元数] 以下の正の整数でなければなりません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
T — テーブル データ
スカラー | ベクトル | 行列 | N 次元配列
端子 [T] への入力として提供されるテーブル データ値。通常、これらのテーブル値は Prelookup ブロックで指定されたブレークポイント データセットに相当します。Interpolation Using Prelookup ブロックは、Prelookup ブロックから取得するインデックス (k
) および区間分割 (f
) の値に基づきテーブルの値を検索または推定し、出力を生成します。
依存関係
この端子を有効にするには、[ソース] を [入力端子]
に設定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
出力
Port_1 — N 次元関数の近似
スカラー | ベクトル | 行列
N 次元関数の近似。入力インデックス k
および小数部 f
からの値を使用して、テーブル データを内挿 (または外挿) することによって計算されます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
パラメーター
メイン
テーブル データ次元数 — テーブル データの次元数
2
(既定値) | 1 と 30 の間の整数
テーブル データがもたなければならない次元の数を指定します。[次元数] はテーブルの独立変数の数を定義します。
指定する内容 | 方法 |
---|---|
1、2、3、または 4 | ドロップダウン リストから値を選択します。 |
大きいテーブルの次元 | フィールドに正の整数を直接入力します。 このブロックがサポートするテーブルの最大の次元数は 30 です。 |
プログラムでの使用
ブロック パラメーター: NumberOfTableDimensions |
型: 文字ベクトル |
値: '1' | '2' | '3' |'4' | ... | '30' |
既定の設定: '2' |
インデックスと小数部をバスにする — インデックスと小数部の入力はバスに結合できる
off
(既定値) | on
このチェック ボックスをオンにして、インデックス入力と小数部の入力をバスで結合します。
Prelookup ブロックを有効にして Interpolation Using Prelookup ブロックへの入力を指定するには、以下を設定します。
[出力の選択] を
[バスとしてのインデックスと小数部]
に設定[出力] を
[Bus: <object name>]
に設定。<object name>
はモデルにアクセスできる有効なバス オブジェクト名でなければなりません。
このチェック ボックスの設定にかかわらず、選択端子は常に非バス モードで動作します。
プログラムでの使用
ブロック パラメーター: RequireIndexFractionAsBus |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
指定 — テーブル データの入力方法を選択
明示的な値
(既定値) | ルックアップ テーブル オブジェクト
テーブル データを直接入力するか、ルックアップ テーブル オブジェクトを使用するかを指定します。以下はこのパラメーターの各設定です。
[明示的な値]
。[ソース] および [値] パラメーターがダイアログ ボックスに表示されます。[ルックアップ テーブル オブジェクト]
。[名前] パラメーターがダイアログ ボックスに表示されます。
プログラムでの使用
ブロック パラメーター: TableSpecification |
型: 文字ベクトル |
値: 'Explicit values' | 'Lookup table object' |
既定の設定: 'Explicit values' |
ソース — テーブル データのソース
ダイアログ
(既定値) | [入力端子]
ダイアログ ボックスに table データを入力するか、入力端子からデータを継承するかを指定します。以下は [ソース] の各設定です。
[ダイアログ]
。[値] の下のテキスト ボックスにテーブル データを入力[入力端子]
。上流信号がテーブル データをテーブル入力端子に指定することを確認
依存関係
このパラメーターを有効にするには、[指定] を [明示的な値]
に設定します。
プログラムでの使用
ブロック パラメーター: TableSource |
型: 文字ベクトル |
値: 'Dialog' | 'Input port' |
既定の設定: 'Dialog' |
値 — テーブル データ値を指定
sqrt([1:11]' * [1:11])
(既定値) | テーブル データの多次元配列
テーブル データを N
次元配列として指定します。ここで N
は、[次元数] パラメーターの値です。空の行列 ([]
) を入力するか、未定義のワークスペース変数を [値] 編集フィールドに入力して、適切な次元の行列を指定せずにブロック線図を編集できます。MATLAB® で多次元配列を作成する方法の詳細については、多次元配列を参照してください。
[ソース] を [入力端子]
に設定する場合、上流信号がテーブル データを [T] 入力端子に提供することを確認します。テーブル データのサイズは [テーブルの次元数] の値に一致していなければなりません。このオプションの場合、ブロックは [T] 入力端子からテーブル属性を継承します。
ルックアップ テーブル エディターを使用してルックアップ テーブルを編集するには、[編集] をクリックします (Edit Lookup Tablesを参照)。
依存関係
このパラメーターを有効にして、ダイアロブ ボックスで明示的にテーブル値を指定するには、[指定] を [明示的な値]
、[ソース] を [ダイアログ]
に設定しなければなりません。
プログラムでの使用
ブロック パラメーター: Table |
型: 文字ベクトル |
値: scalar, vector, matrix, or N-D array |
既定の設定: 'sqrt([1:11]' * [1:11])' |
名前 — Simulink.LookupTable
オブジェクトの名前
Simulink.LookupTable object
Simulink.LookupTable
オブジェクトの名前を指定します。ルックアップ テーブル オブジェクトは、Simulink® ブレークポイント オブジェクトを参照します。Simulink.LookupTable
オブジェクトがない場合は、アクション ボタン をクリックして [作成] を選択します。新しいルックアップ テーブル オブジェクトの対応するパラメーターにブロック情報が自動的に入力されます。
依存関係
このパラメーターを有効にするには、[指定] を [ルックアップ テーブル オブジェクト]
に設定します。
プログラムでの使用
ブロック パラメーター: LookupTableObject |
型: 文字ベクトル |
値: Simulink.LookupTable object |
既定の設定: '' |
内挿法 — Linear point-slope
、Flat
、Nearest
、または Linear Lagrange
を選択
線形の点と勾配
(既定値) | 最も近い正の整数方向
| フラット
| Linear Lagrange
テーブル データの内挿にブロックが使用するメソッドを指定します。Linear point-slope
、Flat
、Nearest
、または Linear Lagrange
を選択できます。詳細については、内挿法を参照してください。
プログラムでの使用
ブロック パラメーター: InterpMethod |
型: 文字ベクトル |
値: 'Flat' | 'Linear point-slope' | 'Nearest' | 'Linear Lagrange' |
既定の設定: 'Linear point-slope' |
外挿法 — ブレークポイント データセットの範囲に入っていない入力の処理方法
線形
(既定値) | クリップ
ブレークポイント データセットの範囲に入っていないすべての入力に対する値の外挿にブロックで使用する方法を指定します。[クリップ]
または [線形]
を選択できます。詳細については、外挿法を参照してください。
外挿法が [線形]
の場合、外挿値は選択された線形内挿法に基づいて計算されます。たとえば、内挿法が線形ラグランジュの場合、外挿法は線形ラグランジュ方程式を継承して外挿された値を計算します。
依存関係
[外挿法] パラメーターを有効にするには、[内挿法] を [線形]
に設定します。
Interpolation Using Prelookup ブロックは、その入力または出力信号が整数または固定小数点データ型を指定するとき、[線形]
外挿をサポートしません。
プログラムでの使用
ブロック パラメーター: ExtrapMethod |
型: 文字ベクトル |
値: 'Clip' | 'Linear' |
既定の設定: 'Linear' |
インデックスの入力を最後のインデックスに達するようにする — テーブル データの最後の要素へのアクセスを入力に許可
off
(既定値) | on
インデックス (k
) および区間分割 (f
) のブロック入力が、n 次元のテーブル データの最後の要素にアクセスする方法を指定します。インデックス値はゼロベースです。
このチェック ボックスは、入力インデックスがその次元のテーブルの最後のインデックス以上の場合に関連します。丸めのため、このチェック ボックスをオンにしてオフに戻すと、最後のインデックスについて、シミュレーションとコード生成との間で異なる結果となる可能性があります。
チェック ボックス | ブロックの動作 |
---|---|
| 次の場合に次元の最後の要素の値を返します。
|
| 次の場合に次元の最後の要素の値を返します。
|
依存関係
このチェック ボックスは、以下の場合にのみ表示されます。
[内挿法] が
[線形の点と勾配]
または[線形ラグランジュ]
の場合[外挿法] が
[クリップ]
の場合
ヒント
Interpolation Using Prelookup ブロックで [インデックスの入力を最後のインデックスに達するようにする] を選択した場合は、それに信号を送り込むすべての Prelookup ブロックでも [上限またはそれを超える入力に対して最後のブレークポイントを使用する] を選択しなければなりません。これにより、ブロックはブレークポイントとテーブル データのセットの最後の要素にアクセスするとき、同じインデックス付けの規則を使用できます。
プログラムでの使用
ブロック パラメーター: ValidIndexMayReachLast |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
範囲外入力の診断 — 入力が範囲外の場合のブロックのアクション
なし
(既定値) | 警告
| エラー
入力が範囲外の場合に警告を表示するかエラーを表示するかを指定します。オプションは次のとおりです。
なし
— 応答しません。警告
— 警告が表示され、シミュレーションは続行されます。エラー
— シミュレーションを終了し、エラーを表示します。
プログラムでの使用
ブロック パラメーター: DiagnosticForOutOfRangeInput |
型: 文字ベクトル |
値: 'None' | 'Warning' | 'Error' |
既定の設定: 'None' |
サブテーブル選択次元数 — 出力計算サブテーブルの次元数
0
(既定値) | テーブルの次元数以下の正の整数
このブロックで出力の計算に使用するサブテーブルの次元数を指定します。以下のルールに従います。
サブテーブル選択を有効にするには、正の整数を入力します。
この整数は テーブルの次元数 以下でなければなりません。
サブテーブル選択を無効にするには、
0
を入力して、テーブル全体を内挿します。
非ゼロの値の場合、[数学とデータ型] 、 [行優先の配列レイアウトに最適化されたアルゴリズムを使用] コンフィギュレーション パラメーターを選択すると、サブテーブルの選択動作が行優先のレイアウトに最適化されます。
詳細については、テーブル データのサブセットの内挿法を参照してください。
プログラムでの使用
ブロック パラメーター: NumSelectionDims |
型: 文字ベクトル |
値: '0' | '1' | '2' | '3' | '4' | ... | Number of table dimensions |
既定の設定: '0' |
生成コードの範囲外インデックスに対する保護を削除する — 範囲外のインデックス入力をチェックするコードを削除
off
(既定値) | on
チェック ボックス | 結果 | 使用時 |
---|---|---|
| 生成コードには範囲外のインデックス入力をチェックするための条件文が含まれません。 入力 | コード効率の場合 |
| 生成コードには範囲外のインデックス入力をチェックするための条件文が含まれます。 | セーフティ クリティカルなアプリケーションの場合 |
入力が範囲外でない場合、[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにしてコードの効率性を高めることができます。既定の設定では、このチェック ボックスはオフです。セーフティ クリティカルなアプリケーションの場合、このチェック ボックスをオンにしないでください。[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにする場合は、最初にモデルの入力が範囲内であることを確認します。次に例を示します。
[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオフにします。
[範囲外入力の診断] パラメーターを
[エラー]
に設定します。ノーマル モードでモデルのシミュレーションを実行します。
範囲外エラーがある場合は、範囲内に修正してシミュレーションをもう一度実行します。
シミュレーションによって範囲外の入力エラーが発生しなくなったら、[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにします。
メモ
[生成コードの範囲外インデックスに対する保護を削除する] チェック ボックスをオンにした際に入力
k
またはf
が範囲外の場合、生成されたコードの動作は未定義となります。
アプリケーションによって、次のモデル アドバイザー チェックを実行して、このチェック ボックスが使用されていることを確認できます。
[製品別] 、 [Embedded Coder] 、 [計算量が多い範囲外のチェック コードを生成する Lookup Table ブロックを識別します]
[製品別] 、 [Simulink Check] 、 [モデリング標準] 、 [DO-178C/DO-331 チェック] 、 [Lookup Table ブロックの使用をチェックします]
モデル アドバイザーの詳細については、モデル アドバイザー チェックの実行を参照してください。
また、このチェック ボックスをオンにしても安全かどうかを判断するには、Simulink Design Verifier™ ライセンスがある場合、ブロック入力範囲違反の検出 (Simulink Design Verifier)チェックを使用することを検討してください。
以下のいずれかが当てはまる場合、このチェック ボックスは生成コードに影響しません。
Prelookup ブロックが Interpolation Using Prelookup ブロックにインデックス値を送り込む場合。
Prelookup ブロックのインデックス値は常に有効なので、チェック コードは必要ありません。
入力
k
のデータ型により、データが有効なインデックス値に制限される場合。たとえば、符号なしの整数データ型では、非負のインデックス値が保証されます。したがって、
k
が符号なしの入力の場合、負値のチェック コードは必要ありません。
プログラムでの使用
ブロック パラメーター: RemoveProtectionIndex |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
サンプル時間 — -1
以外のサンプル時間値
-1
(既定値) | スカラー | ベクトル
サンプル時間を -1
以外の値として指定します。詳細については、サンプル時間の指定を参照してください。
依存関係
このパラメーターは、明示的に -1
以外の値に設定されていない限り表示されません。詳細は、サンプル時間が推奨されないブロックを参照してください。
プログラムでの使用
ブロック パラメーター: SampleTime |
型: string スカラーまたは文字ベクトル |
既定の設定: "-1" |
データ型
テーブル データ — テーブル値のデータ型
Inherit: Same as output
(既定値) | Inherit: Inherit from 'Table 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>
テーブル データ型を指定します。以下を指定可能です。
データ型継承ルール (例:
継承: 出力と同じ]
)組み込みデータ型名 (例:
single
)データ型オブジェクト名 (例:
Simulink.NumericType
オブジェクト)データ型を評価する式 (例:
fixdt(1,16,0)
)
[データ型アシスタントを表示] ボタン をクリックして、table データ型の設定に役立つ [データ型アシスタント] を表示します。
ヒント
以下の場合には、出力データ型とは異なるテーブル データ型を指定します。
出力信号よりも小さいタイプを使用するテーブル データの保存のためのメモリ必要量が少ない場合
異なる出力データ型の 2 つの Interpolation Using Prelookup ブロック間で事前スケーリングされたテーブル データを共有する場合
異なる出力データ型のブロックに対して Simulink Coder™ で生成コード内のカスタム ストレージ テーブル データを共有する場合
プログラムでの使用
ブロック パラメーター: 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 input' |
テーブルの最小値 — テーブル データの最小値
[]
(既定値) | スカラー
テーブル データの最小値を有限で実数の double のスカラーとして指定します。既定値は []
(指定なし) です。
プログラムでの使用
ブロック パラメーター: TableMin |
型: 文字ベクトル |
値: スカラー |
既定の設定: '[]' |
テーブルの最大値 — テーブル データの最大値
[]
(既定値) | スカラー
テーブル データの最大値を有限で実数の double のスカラーとして指定します。既定値は []
(指定なし) です。
プログラムでの使用
ブロック パラメーター: TableMax |
型: 文字ベクトル |
値: スカラー |
既定の設定: '[]' |
中間結果 — 中間結果のデータ型
Inherit: Inherit via internal rule
(既定値) | 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>
中間結果のデータ型を指定します。以下を指定可能です。
データ型継承ルール (例:
継承: 出力と同じ]
)組み込みデータ型名 (例:
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)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
既定の設定: 'Inherit: Same as input' |
出力 — 出力データ型
Inherit: Inherit from 'Table data'
(既定値) | Inherit: Inherit via back propagation
| 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>
出力データ型を指定します。以下を指定可能です。
データ型継承ルール (例:
継承: 逆伝播による継承
)組み込みデータ型名 (例:
single
)データ型オブジェクト名 (例:
Simulink.NumericType
オブジェクト)データ型を評価する式 (例:
fixdt(1,16,0)
)
[データ型アシスタントを表示] ボタン をクリックして、出力データ型の設定に役立つ [データ型アシスタント] を表示します。
詳細は、信号のデータ型の制御を参照してください。
プログラムでの使用
ブロック パラメーター: OutDataTypeStr |
型: 文字ベクトル |
値: 'Inherit: Inherit via back propagation' | 'Inherit: Inherit from table data' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
既定の設定: 'Inherit: Inherit from table data' |
出力の最小値 — ブロックが出力可能な最小値
[]
(既定値) | スカラー
ブロックが出力する最小値を有限で実数値のスカラーとして指定します。既定値は []
(指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。
パラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: OutMin |
型: 文字ベクトル |
値: スカラー |
既定の設定: '[]' |
出力の最大値 — ブロックが出力可能な最大値
[]
(既定値) | スカラー
ブロックが出力する最大値を有限で実数値のスカラーとして指定します。既定値は []
(指定なし) です。Simulink ソフトウェアは、以下を行う際にこの値を使用します。
パラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定を参照)
シミュレーション範囲のチェック (信号範囲の指定を参照)
固定小数点データ型の自動スケーリング
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: OutMax |
型: 文字ベクトル |
値: スカラー |
既定の設定: '[]' |
内部ルール優先順位 — 中間計算の内部ルール
速度
(既定値) | 精度
中間計算の内部ルールを指定します。より速く計算するには [速度]
を選択します。この場合、通常で最大 2 ビットの精度が失われる場合があります。
プログラムでの使用
ブロック パラメーター: InternalRulePriority |
型: 文字ベクトル |
値: 'Speed' | 'Precision' |
既定の設定: 'Speed' |
固定小数点ツールによる変更に対してデータ型の設定をロックする — 固定小数点ツールがデータ型をオーバーライドするのを防止
off
(既定値) | on
このパラメーターを選択して、このブロックについて指定したデータ型を固定小数点ツールがオーバーライドするのを防止します。詳細については、出力データ型設定のロック (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーター: LockScale |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
整数丸めモード — 固定小数点演算の丸めモード
負方向
(既定値) | 最も近い偶数方向
| 正方向
| 最も近い正の整数方向
| 最も近い整数方向
| 最も簡潔
| ゼロ方向
固定小数点演算の丸めモードを指定します。詳細については、丸め (Fixed-Point Designer)を参照してください。
ブロック パラメーターは常に最近傍の表現可能な値に丸められます。ブロック パラメーターの丸めを直接制御するには、MATLAB の丸め関数を使用する式をマスク フィールドに入力します。
プログラムでの使用
ブロック パラメーター: RndMeth |
型: 文字ベクトル |
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
既定の設定: 'Floor' |
整数オーバーフローで飽和 — オーバーフロー アクションの方法
off
(既定値) | on
オーバーフローで飽和するかラップするかを指定します。
動作 | 根拠 | オーバーフローの影響 | 例 |
---|---|---|---|
このチェック ボックスをオンにする ( | モデルでオーバーフローが発生する可能性があるので、生成コードに飽和保護を明示的に組み込むことをお勧めします。 | オーバーフローは、データ型が表現できる最小値または最大値のいずれかに飽和します。 |
|
このチェック ボックスをオンにしない ( | 生成コードの効率を最適化することをお勧めします。 ブロックが範囲外の信号を処理する方法を指定しすぎないようにすることをお勧めします。詳細については、信号範囲のエラーのトラブルシューティングを参照してください。 | オーバーフローは、データ型によって表現される適切な値にラップされます。 |
|
このチェック ボックスをオンにすると、飽和は出力や結果だけでなく、このブロックの内部演算すべてに適用されます。通常、オーバーフローが可能ではない場合は、コード生成プロセスで検出されます。この場合、コード ジェネレーターでは飽和コードは生成されません。
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。
Simulink PLC Coder™ では、Lookup Table ブロックのサポートに制限があります。この Coder は以下をサポートしません。
2 を超える次元の数
3 次スプライン内挿法
前のインデックス モードを使用したインデックス検索の開始
3 次スプライン外挿法
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)