| Using Simulink | ![]() |
スカラ、ベクトル、2次元行列を取得するためのN次元テーブルのインデックス
ライブラリ
詳細

Direct Look-Up Table (n-D)ブロックは、ブロック入力をn次テーブルのゼロベースのインデックスとして使用します。入力数は、希望する出力の形状により異なります。出力は、スカラ、ベクトル、2次元行列です。ルックアップテーブルは、ゼロベースのインデックスを利用するので、整数のデータタイプはこの範囲全体を示すことができます。たとえば、uint8 データタイプを使ったテーブルの大きさは、256 要素を表わすことができます。
出力値の組を Table data パラメータとして定義します。出力の形状をスカラ、ベクトル、2次元行列として指定します。つぎの図に示すように、最初の入力は出力の次元数よりも大きい最初の次元のゼロベースのインデックスを指定し、2番目の入力はつぎのテーブルの次元のインデックスを指定、のように指定します。

図は、出力形状が"2-D Matrix"に設定された5次元テーブルを示しています。出力は、R行C列の2次元行列です。
つぎの図は、(ブロックのダイアログボックスでどのオプションを選択したかにより)Direct Look-Up Tableブロックが表わすすべてのアイコンを示しています。

4よりも大きい次元については、アイコンは4-Dアイコンと一致しますが、テキストの一番上に "8-D T[k]" のように正確な次元数を表示します。アイコンの一番上の行は、ブロック出力が1つまたは複数要素のテーブルルックアップから得られるときに用いられます。"n-D Direct Table Lookup5" とラベル付けられたブロック 6, 8, 12 は、テーブルから列を抽出するように設定され、7 および 9 で終わる2つのブロックはテーブルから面を抽出します。10, 11 および 12 で終わるfigureのブロックは、テーブルをパラメータではなく入力として設定します。
例題
Invalid input value: "Clip and Warn" Output shape: "Vector" Table data: int16(a)
ここで、aはMATLABを使って計算される線形増加する数値をもつ4次元配列です。
a = ones(20,4,5,7); L = prod(size(a)); a(1:L) = [1:L]';
テーブルのインデックスはゼロベースで、figureは、ブロックが4次元目の3番目の要素から、3次元目の4番目の要素の2列目の20個の値からなるベクトルを出力することを示します。

この例での出力値は、(1ベースのインデックス付けを用いる)MATLABでマニュアルで計算できます
a(:,1+1,1+3,1+2)
ans =
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
サポートされているデータタイプ
Direct Look-Up Table (n-D)ブロックは、double, single, int8, uint8 , int16, uint16, int32 , uint32 タイプの混在する信号を受け入れます。出力タイプは、入力タイプと異なり、入力についてリストされた任意のタイプでかまいません。出力タイプは、Table data パラメータのデータタイプから継承されます。
テーブルが入力端子においてブロックに接続する場合、出力端子のタイプはテーブルの入力端子から継承されます。インデックス付けのための入力は、実数でなければなりません。テーブルのデータは複素数でもかまいません。
ダイアログボックス
特性
| 直接フィードスルー |
あり |
| サンプル時間 |
接続されるブロックから継承 |
| スカラ拡張 |
スカラのルックアップについてのみ(テーブルから列または2次元行列を出力しないとき) |
| ベクトル化 |
スカラのルックアップについてのみ(テーブルから列または2次元行列を出力しないとき) |
| ゼロクロッシング |
なし |
| Digital Clock | Discrete Filter | ![]() |