Main Content

Microsoft Excel のインポート、エクスポート、ログ形式

シミュレーション データ インスペクターまたは Simulink® Test™ を使用して、Microsoft® Excel® ファイルからデータをインポートしたり、データを Microsoft Excel ファイルにエクスポートすることができます。Playback ブロックを使用して Excel スプレッドシートからモデルにデータを読み込んだり、Record ブロックを使用して Excel ファイルにデータのログを記録したりすることもできます。シミュレーション データ インスペクター、Simulink TestPlayback ブロック、および Record ブロックはすべて同じファイル形式を使用するため、複数のアプリケーションで同じ Microsoft Excel ファイルを使用できます。

ヒント

Excel ファイルのデータの形式がこのトピックの指定に一致しない場合は、独自のファイル リーダーを記述し、io.reader クラスを使用してデータをインポートできます。

標準ファイル形式

最も簡易な形式では、Excel ファイルの最初の行が、ファイル内の信号の名前を示すヘッダーになります。最初の列は時間です。時間列の名前は time にしなければならず、時間値は単調に増加しなければなりません。信号名の下の行には、各タイム ステップに対応する信号値が示されます。

A Microsoft Excel file with one time column and three signals

インポート操作では、InfNaN 値を含む時間データ、または Inf 値を含む信号データはサポートされません。Excel ファイルからインポートされた空の値または NaN 信号値は、シミュレーション データ インスペクターに欠損データとして表示されます。すべての組み込みデータ型がサポートされます。

複数の時間ベクトル

データにさまざまな時間ベクトルをもつ信号が含まれている場合は、ファイルに複数の時間ベクトルを含めることができます。すべての時間列の名前を time にしなければなりません。時間列は、次の時間ベクトルまで右側の信号に対するサンプル時間を指定します。たとえば、時間列は最初に signal1signal2 の時間を定義し、2 番目に signal3 のタイム ステップを定義します。

A Microsoft Excel file with two time columns and three signals

信号列は、関連付けられた時間ベクトルと同じ数のデータ点がなければなりません。

信号メタデータ

ファイルには、データ型、単位、内挿法などの信号のメタデータを含めることができます。メタデータは、データのプロット方法、単位およびデータ変換の適用方法、比較結果の計算方法を決定するために使用されます。メタデータが比較でどのように使用されるかの詳細については、シミュレーション データ インスペクターでデータを比較する方法を参照してください。

各信号のメタデータは、信号名と信号データの間の行にリストされます。各信号のメタデータの任意の組み合わせを指定できます。指定したメタデータがない場合、信号を空白セルのままにします。

A Microsoft Excel spreadsheet with metadata for each signal. signal1 is specified to have zoh interpolation, int8 data type, and units of meters. signal2 is specified to have int32 datatype. signal3 is specified to have zoh interpolation and units of meters per second.

以下の表に従って各メタデータにラベル付けします。表には、各メタデータをサポートするツールと操作も示します。インポートされたファイルで信号メタデータが指定されない場合、double データ型、zoh (ゼロ次ホールド) 内挿、および union 同期が使用されます。

信号プロパティ ラベルシミュレーション データ インスペクターでのインポートRecord ブロックのログおよびシミュレーション データ インスペクターでのエクスポートSimulink Test でのインポートとエクスポート
データ型Type:組み込みデータ型。

サポートあり

サポートあり

サポートあり

単位Unit:

サポートされる単位。たとえば、Unit: m/s は 1 秒あたりのメーターの単位を指定します。

サポートされている単位のリストについては、MATLAB® コマンド ラインで showunitslist と入力します。

サポートあり

サポートあり

サポートあり

内挿法Interp:linearzoh (ゼロ次ホールド)、または none

サポートあり

サポートあり

サポートあり

同期メソッドSync:union または intersection

サポートあり

サポートなし

"エクスポートされたファイルにメタデータは含まれません。"

サポートあり

相対許容誤差RelTol:小数で表されるパーセンテージ。たとえば、RelTol: 0.1 は 10% の相対許容誤差を指定します。

サポートあり

サポートなし

"エクスポートされたファイルにメタデータは含まれません。"

サポートあり

絶対許容誤差AbsTol:数値。

サポートあり

サポートなし

"エクスポートされたファイルにメタデータは含まれません。"

サポートあり

時間の許容誤差TimeTol:数値 (秒数)。

サポートあり

サポートなし

"エクスポートされたファイルにメタデータは含まれません。"

サポートあり

リード許容誤差LeadingTol:数値 (秒数)。

サポートあり

"Simulink Test にのみ表示できます"。

サポートなし

"エクスポートされたファイルにメタデータは含まれません。"

サポートあり

ラグ許容誤差LaggingTol:数値 (秒数)。

サポートあり

"Simulink Test にのみ表示できます"。

サポートなし

"エクスポートされたファイルにメタデータは含まれません。"

サポートあり

ブロック パスBlockPath:信号を生成したブロックへのパス。

サポートあり

サポートあり

サポートあり

端子インデックスPortIndex:整数。

サポートあり

サポートあり

サポートあり

名前Name:信号名

サポートあり

サポートなし

"エクスポートされたファイルにメタデータは含まれません。"

サポートあり

ユーザー定義データ型

組み込みのデータ型に加え、DataType: ラベルの代わりに他のラベルを使用して、固定小数点データ型、列挙データ型、エイリアス データ型、およびバスデータ型を指定できます。

データ型 ラベルシミュレーション データ インスペクターでのインポートRecord ブロックのログおよびシミュレーション データ インスペクターでのエクスポートSimulink Test でのインポートとエクスポート
列挙型Enum:列挙クラスの名前。

サポートあり

"列挙クラス定義は MATLAB パス上に保存しなければなりません。"

サポートあり

"列挙クラス定義は MATLAB パス上に保存しなければなりません。"

サポートあり

"列挙クラス定義は MATLAB パス上に保存しなければなりません。"

エイリアスAlias:

MATLAB ワークスペースでの Simulink.AliasType オブジェクトの名前。

サポートあり

"行列または複素信号の場合は、最初のチャネルでエイリアスデータ型を指定します。"

サポートなし

サポートあり

"行列または複素信号の場合は、最初のチャネルでエイリアスデータ型を指定します。"

固定小数点Fixdt:

サポートあり

サポートなし

サポートあり

バスBus:

MATLAB ワークスペースでの Simulink.Bus オブジェクトの名前。

サポートあり

サポートなし

サポートあり

Simulink.Bus オブジェクトの名前を使用して型を指定し、オブジェクトが MATLAB ワークスペース内にない場合でも、データはファイルからインポートされます。ただし、バス内の個々の信号は、Simulink.Bus オブジェクトで定義されたデータ型ではなく、ファイルに記述されたデータ型を使用します。

複素信号、多次元信号、バス信号

Excel ファイルを使用して、複素信号、多次元信号、バス信号をインポートおよびエクスポートできます。データの列の信号名は、そのデータが複素信号、多次元信号、またはバス信号の一部であるかどうかを示します。Excel ファイルのインポートとエクスポートでは、バスの配列はサポートされません。

メモ

可変サイズの信号をもつ非バーチャル バスのデータを Excel ファイルにエクスポートする場合は、可変サイズの信号データが個々のチャネルに展開され、データの階層構造は失われます。このファイルからインポートしたデータはフラット リストとして返されます。

多次元信号名には、小かっこで囲まれたインデックス情報が含まれます。たとえば、列の信号名は signal1(2,3) などになります。多次元信号データを含むファイルからデータをインポートすると、ファイルに含まれていないデータの要素はゼロのサンプル値を取り、その他の要素と同じデータ型と、実数/複素数が使用されます。

複素信号のデータは常に実数-虚数形式を取ります。複素信号データを含む列の信号名には、各列に含まれるデータを示す (real) および (imag) が含まれます。虚数の信号データを含むファイルからデータをインポートするとき、信号の実数成分の値が指定されていなければ、実数成分の信号値は既定でゼロになります。

多次元信号は、複素数データを含むことができます。信号名には、多次元信号内のインデックスと実数または虚数のタグを示す指標を含みます。たとえば、signal1(1,3)(real) のようになります。

信号名に含まれるドットは、バスの階層を指定します。次に例を示します。

  • bus.y.a

  • bus.y.b

  • bus.x

A Microsoft Excel file with two time columns and three bus elements

ヒント

信号の名前に含まれる文字が、行列、複素信号、またはバスの一部であるかのように表示される場合、Name メタデータ オプションを使用して、Playback ブロック、シミュレーション データ インスペクター、および Simulink Test で使用するためにインポートした信号に名前を指定します。

関数呼び出し信号

最初の時間列の前に列で指定された信号データは、1 つ以上の関数呼び出し信号としてインポートされます。列のデータは、関数呼び出し信号が有効になった時間を指定します。インポートされた信号には、列で指定された時間を表す 1 の値があります。関数呼び出し信号の時間値は double、スカラー、および real でなければならず、単調に増加しなければなりません。

シミュレーション データ インスペクターからデータをエクスポートすると、関数呼び出し信号が他の信号と同じように、時間列と信号値の列を使用して書式設定されます。

シミュレーション パラメーター

シミュレーションで使用されるパラメーター値のデータをインポートできます。Playback ブロックおよびシミュレーション データ インスペクターでは、パラメーター値は信号として表示されます。Simulink Test は、インポートされたパラメーター値を使用して、インポート データに基づいて実行されるテストでそれらのパラメーターの値を指定します。

パラメーター データは 2 つまたは 3 つの列を使用して指定されます。1 つ目の列ではパラメーター名を指定し、その列のヘッダー行のセルには Parameter: というラベルが付いています。2 つ目の列では各パラメーターに使用される値を指定し、ヘッダー行のセルには Value: というラベルが付いています。パラメーター データには、各パラメーターに関連付けられたブロック パスを含む 3 つ目の列も含まれる場合があり、ヘッダー行のセルには BlockPath: のラベルが付いています。信号メタデータを指定するため使用される行の下で、信号データを含む 1 行目以降のパラメーターに名前、値、およびブロック パスを指定します。たとえば、このファイルでは X および Y の 2 つのパラメーターの値が指定されています。

A Microsoft Excel file with two time columns, three signals, metadata, and values for two parameters

詳細については、Create External Data Files to Use in Test Cases (Simulink Test)を参照してください。

複数の実行

単一のファイルに複数の実行のデータを含めることができます。シート内で、データにシミュレーション番号と Input または Output などのソース タイプのラベルを付けて、データを実行に分割できます。シミュレーション番号にラベル Simulation: およびソース タイプにラベル Source: を使用して、シミュレーション番号とソース タイプを追加の信号メタデータとして指定します。Playback ブロックおよびシミュレーション データ インスペクターは、どの信号が各実行に属するのかを判定するためにのみ、シミュレーション番号とソース タイプを使用します。Simulink Test はこの情報を使用して、インポート データに基づいて実行されるテストの入力、パラメーター、および受入基準を定義します。

すべての信号のシミュレーション番号と出力タイプを指定する必要はありません。シミュレーション番号とソースをもつ信号の右側にある信号は、別のソースまたはシミュレーション番号をもつ次の信号まで同じシミュレーション番号とソースを使用します。たとえば、このファイルでは、2 つのシミュレーション用のデータを定義し、シミュレーション データ インスペクターの 4 つの実行にインポートします。

  • [実行 1] には signal1signal2 が含まれます。

  • [実行 2] には signal3X、および Y が含まれます。

  • [実行 3] には signal4 が含まれます。

  • [実行 4] には signal5 が含まれます。

A Microsoft Excel file with two simulations that import into the Simulation Data Inspector as four runs.

Microsoft Excel ファイル内のシートを使用して、データを実行とテストに分割することもできます。シミュレーション番号とソース情報を指定しない場合、各シート上のデータがシミュレーション データ インスペクターまたは Playback ブロックの個々の実行にインポートされます。シミュレーション データ インスペクターから複数の実行をエクスポートすると、各実行のデータが個別のシートに保存されます。複数のシートにデータがある Microsoft Excel ファイルを Simulink Test にインポートすると、各シートに対して反復が作成されます。

参考

|

関連するトピック