Main Content

ルックアップ テーブル スプレッドシートによるルックアップ テーブル データの編集

ルックアップ テーブル スプレッドシートを使用して、ルックアップ テーブルとブレークポイント データを表示できます。ルックアップ テーブル スプレッドシートは Simulink.LookupTable プロパティ ダイアログ ボックスとルックアップ テーブル エディターを含む複数のインターフェイスで共有されます。このトピックおよびその例について、Simulink.LookupTable プロパティ ダイアログ ボックスを使用して説明します。Simulink.LookupTable プロパティ ダイアログ ボックスを通じて表示されるルックアップ テーブル データ スプレッドシートを以下に示します。スプレッドシートは強調表示されています。

Default Simulink.LookupTable property dialog box with spreadsheet outlined

[ブレークポイントの指定] プロパティが [明示的な値] に設定されている場合は、下部にあるルックアップ テーブル スプレッドシートを使用して、以下の操作を実行します。

  • テーブルおよびブレークポイント データの表示、追加、操作、および削除。

  • MATLAB® 式を使用したテーブルまたはブレークポイント データの作成または変更。

    あるいは、Microsoft® Excel® スプレッドシートや任意のスプレッドシート アプリケーションの内容をコピーして貼り付けることができます。

    Spreadsheet MATLAB expression

  • 複数の次元からのデータの 2 次元スライスの表示および編集。

    Spreadsheet dimension slice selection

このトピックでは、以下について説明します。

  • ルックアップ テーブル スプレッドシートでサポートされるデータ型

  • 表形式インターフェイスでのテーブルとブレークポイント データの作成、編集、および表示方法

  • 2 次元スライスなどの多次元表示方法

  • 表形式インターフェイスでのデータ オーバーフローの処理方法

  • 表形式インターフェイスでの無効なデータの処理方法

  • サポートされるキーボード ショートカット

ルックアップ テーブル スプレッドシートのデータ型のサポート

スプレッドシートでは次のデータ型がサポートされます。

  • 組み込みデータ型 (int8uint8int16uint16int32uint32doublesingleboolean)

  • 固定小数点データ型

  • 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 コマンド ウィンドウのワークスペースでデータを作成し、そのデータを含む例を使用してプロパティ ダイアログ ボックスのルックアップ テーブル スプレッドシートを設定する方法を説明します。

  1. テーブルおよびブレークポイント データを作成するには、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);
  2. オブジェクトの [単位] および [フィールド名] プロパティを設定します。

    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';
  3. プロパティ ダイアログ ボックスを開きます。

    open LUTObj;

    Lookup Table property dialog box with Unit and Field name entries and data

  4. 表形式の領域から、特定のブレークポイント データで標準のテーブル編集 (コピーや貼り付けなど) を実行できます。編集されたデータで適用されていないデータは黄色の輪郭で示されます。完了したら、[適用] をクリックします。黄色の輪郭のデータが残っていないことを確認します。

ヒント

このデータをルックアップ テーブル スプレッドシート内で直接作成するには、次を行います。

  1. [テーブルの次元数]2 に設定します。

  2. 最初のブレークポイントを fi(linspace(1000,5000,5),1,16,2); に設定します。

  3. 2 番目のブレークポイントを single(linspace(1,2,5)); に設定します。

  4. [テーブル]uint16(rand(5,5)*60*60); に設定します。

データの多次元スライスの表示

スプレッドシートでは、データの 2 次元スライスを表示および編集できます。この例では、スライス セレクターを使用して 3 次元データの 2 次元スライスを移動する方法を示します。

多次元スライスを表示するには、MATLAB 式パラメーターの下にあるドロップダウン リストを使用します。ブレークポイントごとにドロップダウン リストがあります。2 次元スライスを表示するには、垂直および水平のドロップダウン リストからブレークポイント データの組み合わせを選択します。

  1. テーブルの次元数を 3 に変更します。

    Spreadsheet with example entries and number of table dimensions set to 3

  2. 下部にある表形式の領域で、水平のブレークポイント スライスを [BP3] に変更します。変更されたデータ スライスの表示を確認します。

    Spreadsheet with example entries and breakpoint slice set to BP3 on the horizontal and Corr_Speed (rpm) on the vertical

MATLAB 式を使用したテーブルとブレークポイント データの編集

切り取り、またはコピーと貼り付けなどの標準のテーブル編集アクションを使用するか、テーブル セルを直接編集してテーブルとブレークポイント データを編集します。MATLAB 式でテーブルとブレークポイント データを編集することもできます。

この例では、MATLAB 式を使用してテーブルとブレークポイントを置き換える方法を示します。

  1. スプレッドシートで、水平の次元ドロップダウン リストから BP3 を選択します。

  2. MATLAB 式のフィールドに、linspace(1000,9999,5) を入力します。

  3. 変更されたデータ スライスの表示を確認します。

    Spreadsheet with example entries and breakpoint slice set to BP3 on the horizontal and MATLAB expression of linspace(1000,9999,5) for BP3 selection

テーブルとブレークポイント データの編集

このスプレッドシートで標準のテーブル編集を実行できます。この例では、複数のセルに同じ値を適用する方法を示します。

データの列を同じ値で置き換えます。

  1. スプレッドシートで、テーブル データの行 1、列 2 を選択します。

  2. 列を下にドラッグして列全体を選択します。

  3. 324 と入力します。

  4. Ctrl + Enter キーを押します。

  5. データの列全体が 324 になっていることを確認します。

    Lookup table spreadsheet with column 2 cell values replaced with 324.

行をテーブルに追加します。

  1. スプレッドシートで、テーブルの最後の行を右クリックし、[挿入][下に行を挿入] を選択します。

    Lookup table spreadsheet with new row added.

テーブルの列を削除します。

  1. スプレッドシートで、テーブルの最後の列を右クリックし、[削除][列の削除] を選択します。

    Lookup table spreadsheet with right-most column removed.

テーブル内の領域を選択し、貼り付けます。

  1. スプレッドシートで、選択項目の左上のセルを選択し、選択項目の右下までドラッグします。

    Lookup Table spreadsheet drag selection.

  2. 選択した領域を Ctrl + C でコピーします。

  3. テーブルの別の領域を選択します。選択したデータを Ctrl + V で貼り付けます。

    Lookup Table property dialog box drag selection and paste.

テーブル データのヒートマップの有効化

データのヒートマップを表示できます。テーブルで任意のセルを右クリックし、[ヒートマップをオン] を選択します。

Lookup Table property dialog box with heatmap enabled.

オーバーフローの処理

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

参考

関連するトピック