メインコンテンツ

CSV ファイルからシミュレーション データ インスペクターへのデータのインポート

CSV ファイルからシミュレーション データ インスペクターにデータをインポートするには、データを CSV ファイル形式にします。その後、シミュレーション データ インスペクター UI または関数 Simulink.sdi.createRun (Simulink) を使用してデータをインポートできます。

ヒント

このトピックの仕様と異なるデータ形式にされている CSV ファイルからデータをインポートする場合は、io.reader (Simulink) クラスを使用して、シミュレーション データ インスペクター用の独自のファイル リーダーを記述できます。

標準ファイル形式

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

A CSV file with one time column and three signals

インポート操作では、Inf 値や NaN 値を含む時間データ、または Inf 値を含む信号データはサポートされません。空の値または NaN 信号の値は欠損データとしてレンダリングされます。すべての組み込みデータ型がサポートされます。

複数の時間ベクトル

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

A CSV file with two time columns and three signals

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

信号メタデータ

CSV ファイル内の信号メタデータを指定して、信号データ型、単位、内挿法、ブロック パス、および端子インデックスを示すことができます。各信号のメタデータを信号名と信号データの間の行にリストします。次の表に従ってメタデータにラベルを付けます。

信号プロパティラベル
データ型Type:組み込みデータ型。
単位Unit:

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

サポートされている単位のリストについては、MATLAB® コマンド ウィンドウで「showunitslist」と入力してください。

内挿法Interp:linearzoh (ゼロ次ホールド)、または none
ブロック パスBlockPath:信号を生成したブロックへのパス。
端子インデックスPortIndex:整数。

列挙クラスで定義されているデータ型で信号をインポートすることもできます。Type: ラベルを使用せずに、Enum: ラベルを使用して、列挙クラスの名前として値を指定します。列挙クラスの定義は MATLAB パス上に保存しなければなりません。

インポートされたファイルで信号メタデータが指定されていない場合、シミュレーション データ インスペクターは double データ型と線形内挿を仮定します。内挿法は linear、zoh (ゼロ次ホールド) または none として指定できます。ファイル内の信号に単位が指定されていない場合、ファイルをインポートした後に、シミュレーション データ インスペクターで信号に単位を割り当てることができます。

各信号には、メタデータの任意の組み合わせを指定できます。信号に指定されていないメタデータがある場合は、空白セルのままにします。

A CSV file with two time columns, three signals, and metadata

CSV ファイルからのデータのインポート

シミュレーション データ インスペクター UI を使用するか、関数 Simulink.sdi.createRun を使用して、CSV ファイルからデータをインポートできます。

UI を使用してデータをインポートするには、関数 Simulink.sdi.view または Simulink™ ツールストリップの [データ インスペクター] ボタンを使用してシミュレーション データ インスペクターを開きます。次に、[インポート] をクリックします。

[インポート] ダイアログで、ファイルからデータをインポートするオプションを選択し、ファイル システム内を移動してファイルを選択します。ファイルを選択した後、インポート可能なデータがテーブルに表示されます。インポートする信号、およびそれらの信号を新しい実行と既存の実行のどちらにインポートするかを選択できます。この例では、使用可能なすべての信号が新しい実行にインポートされます。すべての信号を選択するには、[名前] の隣のチェック ボックスをオンにし、いずれの信号も選択しない場合はそのチェック ボックスをオフにします。オプションを選択した後、[インポート] ボタンをクリックします。

The Import dialog box

UI を使用してデータを新しい実行にインポートすると、新しい実行名には実行番号が含まれ、その後に Imported_Data が続きます。

データをプログラムによってインポートする場合は、インポートした実行の名前を指定できます。

csvRunID = Simulink.sdi.createRun('CSV File Run','file','csvExampleData.csv');

参考

関数

トピック