Main Content

Map Using Prelookup

あらかじめ計算されたインデックスと小数部の値を使用して 2 次元関数の近似を加速

  • Map Using Prelookup block

ライブラリ:
AUTOSAR Blockset / Classic Platform / Library Routines / Interpolation

説明

Map Using Prelookup ブロックは Prelookup ブロックと共に使用します。このブロックにより、事前ルックアップの結果から複数の内挿の結果を駆動できます。PreLookup ブロックは、その入力値 u がブレークポイント データセットとどのように関連するかを示すインデックスと区間の小数部を計算し、結果のインデックスと小数部の値を 2 次元テーブルの内挿を行う Map Using Prelookup ブロックに送ります。Prelookup ブロックと Map Using Prelookup ブロックを組み合わせて使用すると、それらの分散アルゴリズムによって Map ブロックと同じアルゴリズム演算を実行することができ、シミュレーションやコード生成の柔軟性と効率が高まります。

AUTOSAR モデルに対して AUTOSAR 4.0 コード置換ライブラリ (CRL) を選択した場合は、このブロックから生成されるコードがブロック パラメーター ダイアログ ボックスで設定した AUTOSAR ライブラリ ルーチンに置き換えられます。

端子

入力

すべて展開する

kf1 端子への入力には、バス オブジェクトとして指定されたインデックス k と小数部 f が含まれます。

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

端子 [T] への入力として提供されるテーブル データ値。これらのテーブル値は Prelookup ブロックで指定されたブレークポイント データセットに相当します。Interpolation Using Prelookup ブロックは、Prelookup ブロックから取得したインデックス (k) および区間の小数部 (f) の値に基づいてテーブル値をルックアップまたは推定することで出力を生成します。

依存関係

この端子を有効にするには、[ソース][入力端子] に設定します。

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

出力

すべて展開する

2 次元関数の近似。入力のインデックス k と小数部 f の値を使用してテーブル データを内挿することによって計算されます。

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

パラメーター

すべて展開する

モデルに対して AUTOSAR 4.0 コード置換ライブラリ (CRL) を選択した場合は、このブロックから生成されるコードが、選択した AUTOSAR ルーチン ライブラリから置き換えられます。このパラメーターで、コード置換と検証チェックに固定小数点 (IFX) と浮動小数点 (IFL) のどちらを使用するかを選択できます。

このパラメーターは、このブロックで生成されるコードの置き換えに使用される AUTOSAR コード置換ライブラリ (CRL) ルーチンの名前を反映した値になります。命名規則に従って、ターゲットのルーチン ライブラリ、内挿法、およびブロック タイプを組み合わせた名前が付けられます。このパラメーターは参照のみを目的としており、編集することはできません。

テーブルの指定

テーブル データを直接入力するか、ルックアップ テーブル オブジェクトを使用するかを指定します。以下はこのパラメーターの各設定です。

  • [明示的な値][テーブル データ] パラメーターがダイアログ ボックスに表示されます。

  • [ルックアップ テーブル オブジェクト][名前] パラメーターがダイアログ ボックスに表示されます。

プログラムでの使用

ブロック パラメーター: TableSpecification
型: 文字ベクトル
値: 'Explicit values' | 'Lookup table object'
既定の設定: 'Explicit values'

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

依存関係

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

プログラムでの使用

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

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

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

依存関係

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

プログラムでの使用

ブロック パラメーター: Table
型: 文字ベクトル
値: テーブルの値の行列
既定の設定: [4 5 6;16 19 20;10 18 23]'

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

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

アルゴリズム

テーブル データの内挿にブロックが使用する方法を指定します。Linear point-slope または Flat を選択できます。詳細については、内挿法を参照してください。

プログラムでの使用

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

モデルから生成されたコードのシミュレーションや実行において固定小数点または浮動小数点のルックアップ テーブルの計算で使用する丸めモードを指定します。

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

プログラムでの使用

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

データ型

テーブル データ型を指定します。選択した型がターゲットのルーチンの指定と互換性があるかどうかがブロックで検証されます。以下を指定可能です。

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

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

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

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

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

ヒント

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

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

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

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

プログラムでの使用

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

拡張機能

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

バージョン履歴

R2019a で導入