ルックアップ テーブル ブロックについて
"ルックアップ テーブル" とは、出力値に入力値をマッピングして、数学関数を近似するデータ配列です。ルックアップ演算は一連の入力値を与えられると、テーブルから対応する出力値を取得します。ルックアップ テーブルで入力値が明示的に定義されていない場合、Simulink® では内挿、外挿、丸めを使用して出力値を推定できます。各手法について説明します。
内挿は既知のデータ点間に位置する値を推定するプロセス。
外挿は既知のデータ点範囲を超えた値を推定するプロセス。
丸めは既知の規則に従って数字を変更し、値を近似するプロセス。
ルックアップ テーブル ブロックは入力値を出力値にマップするデータ配列を使用して、数学関数を近似します。Simulink は、入力値が与えられると「ルックアップ」演算を実行して、テーブルから対応する出力値を取得します。入力値がルックアップ テーブルによって定義されていない場合、ブロックは隣接するテーブル値に基づいて出力値を推測します。
次の例は、関数 y = x3 を近似する 1 次元ルックアップ テーブルを示しています。ルックアップ テーブルは、入力 (x) 範囲 [-3, 3]
に対して離散的に出力 (y) データを定義します。次のグラフと表に入力/出力の関係を示します。
-2 を入力すると、テーブルで対応する出力値 (-8) の検索と取得が可能になります。同様に、ルックアップ テーブルは 3 の入力に応答して 27 を出力します。
ルックアップ テーブルでテーブルのいずれの x 値にも一致しない入力が検出された場合、答えの内挿または外挿を行うことができます。たとえば、ルックアップ テーブルでは -1.5 の入力値は定義されていませんが、ブロックでは最も近いデータ点 (xi, yi) と (xi+1, yi+1) を線形内挿できます。たとえば、これら 2 つの点が与えられた場合です。
(xi, yi) は (-2, -8)
(xi+1, yi+1) は (-1, -1)
ルックアップ テーブルは推定を行い -4.5 の値を返します。
同様に、ルックアップ テーブルには [-3, 3]
の範囲を超える x 値のデータは含まれていませんが、ブロックではテーブルのどちらかの端のデータ点の組を使用して値を外挿できます。4 の入力値を与えられた場合、ルックアップ テーブル ブロックは最も近いデータ点 (2, 8) および (3, 27) を線形外挿して、46 の出力値を推定します。
テーブル ルックアップと単純な推定は数学関数評価ほど時間がかからないため、モデルのシミュレーション時はルックアップ テーブル ブロックを使用した方が速度が上がる可能性があります。次のような状況で数学関数評価の代わりにルックアップ テーブルを使用することを検討してください。
解析的表現の計算量が多い場合
解析的表現は存在しないが、経験的に関係を特定できた場合
Simulink には各種ルックアップ テーブル ブロックが豊富に用意されており、それぞれが特定のタイプのアプリケーションを対象としています。次の節以降では、各種ルックアップ テーブル ブロックの概要、アプリケーションに最適なルックアップ テーブルの選択方法、さまざまなルックアップ テーブル ブロックとの対話方法について説明します。