ルックアップ テーブル選択のガイドライン
データセットの次元
場合によっては、データセットの次元によってアプリケーションに最適なルックアップ テーブル ブロックが決定されることがあります。1 次元関数を近似する場合は、1-D Lookup Table ブロックまたは Lookup Table Dynamic ブロックを使用することを検討してください。2 次元関数を近似する場合は、2-D Lookup Table ブロックを使用することを検討してください。n-D Lookup Table や Direct Lookup Table (n-D) などのブロックでは、N 変数の関数を近似できます。
データセットの数値およびデータ型
データセットの数値およびデータ型は、最も適切なルックアップ テーブル ブロックの決定に影響を与えます。実数はすべてのルックアップ テーブル ブロックでサポートされていますが、Direct Lookup Table (n-D) ブロック、1-D Lookup Table ブロック、2-D Lookup Table ブロック、および n-D Lookup Table ブロックは、複素数のテーブル データもサポートします。すべてのルックアップ テーブル ブロックで、double
データ型と single
データ型以外に整数および固定小数点データがサポートされています。
メモ
Direct Lookup Table (n-D) ブロックの場合、固定小数点型はテーブル データ、出力端子、およびオプションのテーブル入力端子でサポートされています。
データの精度と平滑度
ルックアップ テーブルによって返されるデータに必要な精度と平滑度によって、どのブロックを使用するかが決まります。ほとんどのブロックには内挿や外挿を実行するオプションがあるため、テーブル データの間、または外に含まれる値の精度が向上します。たとえば、Lookup Table Dynamic ブロックでは線形内挿と外挿が実行されますが、n-D Lookup Table ブロックでは線形、3 次スプラインの内挿と外挿、または Akima スプラインの内挿と外挿のいずれかが実行されます。一方、Direct Lookup Table (n-D) ブロックでは、内挿、外挿なしのテーブル ルックアップが行われます。Prelookup ブロックと Interpolation Using Prelookup ブロックを併用することで、内挿法と外挿法を組み合わせることができます。
テーブル入力のダイナミクス
ルックアップ テーブル入力のダイナミクスによって、どのルックアップ テーブル ブロックがアプリケーションに理想的かが決まります。ブロックはさまざまなインデックス検索手法を使用して、ルックアップ テーブル入力をブレークポイントに関連付けます。ほとんどのルックアップ テーブル ブロックには二分探索アルゴリズムがあり、1 つのタイム ステップから次のタイム ステップまでに入力が大幅に変化する場合に効果を発揮します。1-D Lookup Table ブロック、2-D Lookup Table ブロック、n-D Lookup Table ブロック、および Prelookup ブロックには、線形探索アルゴリズムがあります。入力の変化が遅い場合は、以前の結果から検索を再開するオプションを使用すると効果的です。一部のルックアップ テーブル ブロックでは、等間隔のブレークポイントで構成されたブレークポイントに最適化された探索アルゴリズムも提供されています。Prelookup ブロックと Interpolation Using Prelookup ブロックを併用することで、インデックス検索手法を組み合わせることができます。
処理効率
ルックアップ テーブルの処理効率が重要になる場合は、Prelookup ブロックと Interpolation Using Prelookup ブロックを使用することを検討してください。これらのブロックは、テーブル ルックアップ プロセスを 2 つの要素に分離し、入力をテーブル データに関連付けるインデックス検索を実行してから、出力を計算する内挿および外挿を行います。これらのブロックを使用することで、1 つのインデックス検索を実行してから、その結果を再利用して複数テーブルのデータを検索することができます。また、Interpolation Using Prelookup ブロックではサブテーブル選択を実行できます。サブテーブル選択を実行すると、テーブル全体ではなくテーブル データの一部だけが内挿されます。たとえば、3 次元テーブル データが、内挿する 2 次元テーブルのスタックを構成する場合、選択に使用する端子入力を指定し、内挿するスタックから 1 つ以上の 2 次元テーブルを選択することができます。完全な 3 次元内挿には 7 つのサブ内挿がありますが、2 次元内挿で必要となるサブ内挿は 3 つだけです。この結果、テーブルの一部の次元を内挿でなくデータ スタック用に使用すると、速度が大幅に改善される可能性があります。これらの機能を使用することでテーブル ルックアップ演算の効率が上がるため、計算量とシミュレーション時間を低減することができます。
ルックアップ テーブル ブロック機能のまとめ
次の表を参考に特定のルックアップ テーブル ブロックに該当する機能を特定し、要件に最も適したブロックを選択してください。
機能 | 1-D Lookup Table | 2-D Lookup Table | Lookup Table Dynamic | n-D Lookup Table | Direct Lookup Table (n-D) | Prelookup | Interpolation Using Prelookup |
---|---|---|---|---|---|---|---|
内挿法 | |||||||
フラット | • | • | • | • | • | ||
最も近い整数への丸め | • | • | • | • | |||
線形 | • | ||||||
線形の点と勾配 | • | • | • | • | |||
線形ラグランジュ | • | • | • | • | |||
3 次スプライン | • | • | • | ||||
Akima スプライン | • | • | • | ||||
外挿法 | |||||||
クリップ | • | • | • | • | • | • | |
線形 | • | • | • | • | • | • | |
3 次スプライン | • | • | • | ||||
Akima スプライン | • | • | |||||
サポートする数値およびデータ型 | |||||||
複素数 | • | • | • | • | |||
倍精度、単精度 | • | • | • | • | • | • | • |
整数 | • | • | • | • | • | • | • |
固定小数点 | • | • | • | • | • | • | • |
インデックス検索手法 | |||||||
バイナリ | • | • | • | • | • | ||
線形 | • | • | • | • | |||
等間隔のポイント | • | • | • | • | • | ||
前のインデックスから開始 | • | • | • | • | |||
その他 | |||||||
サブテーブル選択 | • | • | |||||
ダイナミック ブレークポイント データ | • | ||||||
ダイナミック テーブル データ | • | • | • | ||||
入力範囲のチェック | • | • | • | • | • | • |