Main Content

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

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

ヒント

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

標準ファイル形式

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

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

複数の時間ベクトル

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

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

信号メタデータ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参考

関数

関連するトピック