メインコンテンツ

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

R2026b

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

ヒント

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

標準ファイル形式

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

A Microsoft Excel file with one time column and three signals

Excel では Inf 値や NaN 値はサポートされません。このことはインポート操作とエクスポート操作の両方に影響します。Excel ファイルからデータをインポートする場合、シミュレーション データ インスペクターでは次のようになります。

  • 組み込みデータ型はすべてサポートされる

  • time 列に空のセルまたは数値エラー (Inf 値や NaN 値によって生じるものなど) があるデータのインポートはサポートされない

  • 信号値の列の空のセルおよび数値エラーを含むセルは欠損データとして扱われる

Inf 値や NaN 値を含むデータをシミュレーション データ インスペクターから Excel にエクスポートするときは、次のようになります。

  • NaN 値はシミュレーション データ インスペクターによって削除され、それらのセルはエクスポートされたスプレッドシートでは空になる。

  • Inf は Excel では数値としてネイティブでサポートされていないため、Inf のデータは Excel ソフトウェアのバージョンに応じてエラー コードまたは数値 65535 のいずれかに Excel によって変換される。

複数の時間ベクトル

データにさまざまな時間ベクトルをもつ信号が含まれている場合は、ファイルに複数の時間ベクトルを含めることができます。すべての時間列の名前を time にしなければなりません。時間列は、次の時間ベクトルまで右側の信号に対するサンプル時間を指定します。たとえば、時間列は最初に signal1 と signal2 の時間を定義し、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 data type. 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:linear、zoh (ゼロ次ホールド)、または 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 つの列を使用して各パラメーターを指定します。1 つ目の列は時間値を指定し、ヘッダー セルには time というラベルが付いています。2 つ目の列は各タイム ステップのパラメーター値を指定し、ヘッダー セルにはパラメーター名のラベルが付いています。2 つ目の列には、各パラメーターに関連付けられたメタデータを含む行を含めることもできます。メタデータまたはパラメーター名の下に Domain: Parameters というラベルが付いた行を含め、その後にパラメーター値を続けます。たとえば、次のファイルでは、時間の経過とともに変化する 2 つのパラメーター X および Y の値を指定しています。

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

Simulink Test から Microsoft Excel ファイルにデータをインポートおよびエクスポートする場合、パラメーター データは 2 列の形式を使用します。Parameter: というラベルが付いた 1 つ目の列では、パラメーター名を指定します。Value: というラベルが付いた 2 つ目の列では、各パラメーターの値を指定します。各行はパラメーターとその値に対応しています。詳細については、テスト ケースで使用する外部データ ファイルの作成 (Simulink Test)を参照してください。

R2026b より前: シミュレーション データ インスペクターで、シミュレーション パラメーター データが Simulink Test と同じ形式でエクスポートされました。シミュレーション データ インスペクターは、その形式のファイルをインポートするための下位互換性を維持しています。

複数の実行

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

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

  • [実行 1] には signal1 と signal2 が含まれます。

  • [実行 2] には signal3、X、および 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 にインポートすると、Simulink Test で各シートに対して反復が作成されます。

参考

|

トピック