ルックアップ テーブル スプレッドシートによるルックアップ テーブル データの編集
ルックアップ テーブル スプレッドシートを使用して、ルックアップ テーブルとブレークポイント データを表示できます。ルックアップ テーブル スプレッドシートは Simulink.LookupTable
プロパティ ダイアログ ボックスとルックアップ テーブル エディターを含む複数のインターフェイスで共有されます。このトピックおよびその例について、Simulink.LookupTable
プロパティ ダイアログ ボックスを使用して説明します。Simulink.LookupTable
プロパティ ダイアログ ボックスを通じて表示されるルックアップ テーブル データ スプレッドシートを以下に示します。スプレッドシートは強調表示されています。
[ブレークポイントの指定] プロパティが [明示的な値]
に設定されている場合は、下部にあるルックアップ テーブル スプレッドシートを使用して、以下の操作を実行します。
テーブルおよびブレークポイント データの表示、追加、操作、および削除。
MATLAB® 式を使用したテーブルまたはブレークポイント データの作成または変更。
あるいは、Microsoft® Excel® スプレッドシートや任意のスプレッドシート アプリケーションの内容をコピーして貼り付けることができます。
複数の次元からのデータの 2 次元スライスの表示および編集。
このトピックでは、以下について説明します。
ルックアップ テーブル スプレッドシートでサポートされるデータ型
表形式インターフェイスでのテーブルとブレークポイント データの作成、編集、および表示方法
2 次元スライスなどの多次元表示方法
表形式インターフェイスでのデータ オーバーフローの処理方法
表形式インターフェイスでの無効なデータの処理方法
サポートされるキーボード ショートカット
ルックアップ テーブル スプレッドシートのデータ型のサポート
スプレッドシートでは次のデータ型がサポートされます。
組み込みデータ型 (
int8
、uint8
、int16
、uint16
、int32
、uint32
、double
、single
、boolean
)固定小数点データ型
uint64
,int64
half
Simulink® がサポートする他のデータ型はサポートされません。
Simulink.LookupTable
オブジェクトの作成
Simulink.LookupTable
オブジェクトの操作を開始するには、次のように MATLAB コマンド ラインでオブジェクトを作成します。
LUTObj = Simulink.LookupTable;
Simulink.LookupTable
オブジェクト プロパティ ダイアログ ボックスを開く方法
Simulink.LookupTable
オブジェクトを操作するには、最初に MATLAB コマンド ウィンドウで次のいずれかの方法を使用してプロパティ ダイアログ ボックスを起動します。
ワークスペースで
Simulink.LookupTable
オブジェクトをダブルクリックします。モデル エクスプローラーで、オブジェクトの特定のワークスペースにあるオブジェクトをダブルクリックします。
コマンド ラインで、次のように関数
open
を使用します。open LUTObj
テーブルとブレークポイント データの作成
データを生成し、標準のテーブル編集アクションを使用してデータを操作します。ルックアップ テーブル データをワークスペース内、Microsoft Excel からなどさまざまな方法で生成して、そのデータをルックアップ テーブル スプレッドシートにコピーできます。また、Simulink.LookupTable
オブジェクトでは、MATLAB 式を使用してプロパティ ダイアログ ボックス内からデータを生成することもできます。
この例では、MATLAB コマンド ウィンドウのワークスペースでデータを作成し、そのデータを含む例を使用してプロパティ ダイアログ ボックスのルックアップ テーブル スプレッドシートを設定する方法を説明します。
テーブルおよびブレークポイント データを作成するには、MATLAB コマンド ラインで、次を入力します。
LUTObj.Breakpoints(1).Value = fi(linspace(1000,5000,5),1,16,2); LUTObj.Breakpoints(2).Value = single(linspace(1,2,5)); LUTObj.Table.Value = uint16(rand(5,5)*60*60);
オブジェクトの [単位] および [フィールド名] プロパティを設定します。
LUTObj.Breakpoints(1).Unit = 'rpm'; LUTObj.Breakpoints(2).Unit = 'Nm'; LUTObj.Table.Unit = 'kg/hr'; LUTObj.Breakpoints(1).FieldName = 'Corr_Speed'; LUTObj.Breakpoints(2).FieldName = 'Prs_ratio'; LUTObj.Table.FieldName = 'Mass_Flow_Rate';
プロパティ ダイアログ ボックスを開きます。
open LUTObj;
表形式の領域から、特定のブレークポイント データで標準のテーブル編集 (コピーや貼り付けなど) を実行できます。編集されたデータで適用されていないデータは黄色の輪郭で示されます。完了したら、[適用] をクリックします。黄色の輪郭のデータが残っていないことを確認します。
ヒント
このデータをルックアップ テーブル スプレッドシート内で直接作成するには、次を行います。
[テーブルの次元数] を
2
に設定します。最初のブレークポイントを
fi(linspace(1000,5000,5),1,16,2);
に設定します。2 番目のブレークポイントを
single(linspace(1,2,5));
に設定します。[テーブル] を
uint16(rand(5,5)*60*60);
に設定します。
データの多次元スライスの表示
スプレッドシートでは、データの 2 次元スライスを表示および編集できます。この例では、スライス セレクターを使用して 3 次元データの 2 次元スライスを移動する方法を示します。
多次元スライスを表示するには、MATLAB 式パラメーターの下にあるドロップダウン リストを使用します。ブレークポイントごとにドロップダウン リストがあります。2 次元スライスを表示するには、垂直および水平のドロップダウン リストからブレークポイント データの組み合わせを選択します。
テーブルの次元数を
3
に変更します。下部にある表形式の領域で、水平のブレークポイント スライスを
[BP3]
に変更します。変更されたデータ スライスの表示を確認します。
MATLAB 式を使用したテーブルとブレークポイント データの編集
切り取り、またはコピーと貼り付けなどの標準のテーブル編集アクションを使用するか、テーブル セルを直接編集してテーブルとブレークポイント データを編集します。MATLAB 式でテーブルとブレークポイント データを編集することもできます。
この例では、MATLAB 式を使用してテーブルとブレークポイントを置き換える方法を示します。
スプレッドシートで、水平の次元ドロップダウン リストから BP3 を選択します。
MATLAB 式のフィールドに、
linspace(1000,9999,5)
を入力します。変更されたデータ スライスの表示を確認します。
テーブルとブレークポイント データの編集
このスプレッドシートで標準のテーブル編集を実行できます。この例では、複数のセルに同じ値を適用する方法を示します。
データの列を同じ値で置き換えます。
スプレッドシートで、テーブル データの行 1、列 2 を選択します。
列を下にドラッグして列全体を選択します。
324
と入力します。Ctrl + Enter キーを押します。
データの列全体が
324
になっていることを確認します。
行をテーブルに追加します。
スプレッドシートで、テーブルの最後の行を右クリックし、[挿入] 、 [下に行を挿入] を選択します。
テーブルの列を削除します。
スプレッドシートで、テーブルの最後の列を右クリックし、[削除] 、 [列の削除] を選択します。
テーブル内の領域を選択し、貼り付けます。
スプレッドシートで、選択項目の左上のセルを選択し、選択項目の右下までドラッグします。
選択した領域を Ctrl + C でコピーします。
テーブルの別の領域を選択します。選択したデータを Ctrl + V で貼り付けます。
テーブル データのヒートマップの有効化
データのヒートマップを表示できます。テーブルで任意のセルを右クリックし、[ヒートマップをオン] を選択します。
オーバーフローの処理
Simulink.LookupTable
オブジェクト プロパティ ダイアログ ボックスでは、オーバーフローを起こさないように値を自動的に変更し、ルックアップ テーブル スプレッドシートのデータ オーバーフローを処理します。たとえば、uint16
データ型のセルに 70000
の値を入力すると、プロパティ ダイアログ ボックスでは値が自動的に 65535
に変更されます。この値は uint16
の最大数です。サポートされる Simulink.LookupTable
オブジェクト プロパティ ダイアログ ボックスのデータ型のリストについては、ルックアップ テーブル スプレッドシートのデータ型のサポートを参照してください。
データの検証
ルックアップ テーブル スプレッドシートでは、テーブル セルの値を入力して Enter キーを押すと、データの検証が実行されます。たとえば、テーブル セルの値として「NaN
」、「Inf
」または「-Inf
」を入力すると、エラーが表示されます。
MATLAB 式の領域では式も検証されます。たとえば、無効な式を入力すると、テキスト ボックスに赤い輪郭が示され、期待される式に関するエラー メッセージが表示されます。バイアスをもつ固定小数点データの式を入力すると、式が評価され、必要に応じて最も近い使用可能な固定小数点値に値が飽和され、修正された値がテーブルに表示されます。
ルックアップ テーブル スプレッドシートの表形式インターフェイスのショートカット
テーブルでの移動
操作 | キー |
---|---|
現在アクティブなセルの上のテーブル セルに移動します。 | 上矢印 |
現在アクティブなセルの下のテーブル セルに移動します。 | 下矢印 |
現在アクティブなセルの右側のテーブル セルに移動します。 | 右矢印 または Tab |
現在アクティブなセルの左側のテーブル セルに移動します。 | 左矢印 または Tab + Shift |
列の最初のテーブル セルに移動します。 | Ctrl + 上矢印 |
列の最後のテーブル セルに移動します。 | Ctrl + 下矢印 |
行の最初のテーブル セルに移動します。 | Ctrl + 左矢印 |
行の最後のテーブル セルに移動します。 | Ctrl + 右矢印 |
選択
操作 | キー |
---|---|
すべて選択します。 | Ctrl + A |
テーブル セルの選択を上に拡張します。 | Shift + 上矢印 |
テーブル セルの選択を下に拡張します。 | Shift + 下矢印 |
テーブル セルの選択を右に拡張します。 | Shift + 右矢印 |
テーブル セルの選択を左に拡張します。 | Shift + 左矢印 |
現在のセルを含む、左側の行内のすべてのセルを選択します。 | Shift + Ctrl + 左矢印 |
現在のセルを含む、右側の行内のすべてのセルを選択します。 | Shift + Ctrl + 右矢印 |
現在のセルを含む、列からテーブルの最上部までのすべてのセルを選択します。 | Shift + Ctrl + 上矢印 |
現在のセルを含む、列からテーブルの最下部までのすべてのセルを選択します。 | Shift + Ctrl + 下矢印 |
エディター
操作 | キー |
---|---|
テーブル セル エディターを開くまたは閉じます。 | Enter |
テーブル セル エディターを開きます。 | F2 |
テーブル セル エディターの編集をキャンセルして閉じます。 | Esc |
テーブル セルをクリアします。 | Backspace または Delete |
テーブル セルの内容をコピーします。 | Ctrl + C |
テーブル セルの内容を切り取ります。 | Ctrl + X |
テーブル セルの内容を貼り付けます。 | Ctrl + V |
選択したすべてのテーブル セルに編集したセル値を入力します。 | Ctrl + Enter |
元に戻します。 | Ctrl + Z |
やり直します。 | Ctrl + Y |
コンテキスト メニューでの移動
操作 | キー |
---|---|
選択項目をコンテキスト メニューの次のオプションに移動します。 | 下矢印 |
選択項目をコンテキスト メニューの前のオプションに移動します。 | 上矢印 |
コンテキスト メニューからオプションを選択します。 | Enter |