最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink.sdi.exportRun

シミュレーション データ インスペクターの実行データをワークスペースまたはファイルにエクスポート

説明

dataset = Simulink.sdi.exportRun(runID)runID で特定されたシミュレーション データ インスペクターの実行内のデータを使用して、Simulink.SimulationData.Dataset オブジェクトをベース ワークスペースに作成します。

Simulink.sdi.exportRun(runID,Name,Value) は、1 つ以上の名前と値のペアの引数によって指定されたオプションに従って、runID に対応する実行のデータをベース ワークスペースまたはファイルにエクスポートします。1 つ以上の実行のデータを MAT、MLDATX、または Microsoft® Excel® ファイルにエクスポートできます。複数の実行のデータをファイルにエクスポートするには、runIDs 入力を実行 ID のベクトルとして指定します。

すべて折りたたむ

この例では、シミュレーション データ インスペクター内の実行から、データをさらに処理するために使用できるベース ワークスペース内の Simulink.SimulationData.Dataset オブジェクトにデータをエクスポートする方法について説明します。実行をエクスポートするために選択するメソッドは、スクリプトで行う処理によって異なります。実行の実行オブジェクトがある場合、export メソッドを使用してベース ワークスペース内の実行のデータで Simulink.SimulationData.Dataset オブジェクトを作成できます。実行オブジェクトがない場合は、関数 Simulink.sdi.exportRun を使用して実行をワークスペースにエクスポートします。

Simulink.sdi.exportRun を使用した実行のエクスポート

ワークフローに実行オブジェクトの作成が含まれない場合、関数 Simulink.sdi.export を使用して実行データをワークスペースまたはファイルにエクスポートします。

シミュレーション データの実行を作成するには、vdp モデルを開いて、ログを作成する信号をマークし、シミュレーションを実行します。

load_system('vdp')

SignalHandles = get_param('vdp', 'Lines');

Simulink.sdi.markSignalForStreaming(SignalHandles(5).Handle, 'on')
Simulink.sdi.markSignalForStreaming(SignalHandles(6).Handle, 'on')

out = sim('vdp');

関数 Simulink.sdi.getAllRunIDs を使用して、最後に作成された実行にアクセスします。

runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);

関数 Simulink.sdi.exportRun を使用して、ワークスペース内の Dataset オブジェクトに実行データをエクスポートします。

simDataset = Simulink.sdi.exportRun(runID);

関数 export を使用した実行のエクスポート

タスクに Run オブジェクトの作成が含まれる場合、関数 export を使用してベース ワークスペースに Simulink.SimulationData.Dataset オブジェクトを作成し、実行データをさらに処理することができます。たとえば、関数 Simulink.sdi.compareSignals を使用して比較する信号データをもつシミュレーション実行の Run オブジェクトにアクセスしなければならないとします。

モデルを読み込んで、ログを作成する信号をマークします。次に、モデルのシミュレーションを実行し、実行データを作成します。

load_system('vdp')

SignalHandles = get_param('vdp', 'Lines');

Simulink.sdi.markSignalForStreaming(SignalHandles(5).Handle, 'on')
Simulink.sdi.markSignalForStreaming(SignalHandles(6).Handle, 'on')

sim('vdp');

関数 Simulink.sdi.getAllRunIDs を使用して、最後に作成された実行の実行 ID にアクセスします。次に、関数 Simulink.sdi.getRun を使用して実行に対応する Run オブジェクトにアクセスします。

runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);
vdpRun = Simulink.sdi.getRun(runID);

関数 export を使用して、ワークスペース内の Dataset オブジェクトに実行データをエクスポートします。

simDataset = export(vdpRun);

入力引数

すべて折りたたむ

ワークスペースまたはファイルにエクスポートする実行の実行識別子。データをファイルにエクスポートする際、runID 入力をシミュレーション データ インスペクターの実行 ID のベクトルとして指定することにより、複数の実行をエクスポートできます。

シミュレーション データ インスペクターは、各実行に一意の実行 ID を割り当てます。Simulink.sdi.getAllRunIDs および Simulink.sdi.getRunIDByIndex を使用して、1 つ以上の実行に対する実行 ID を取得できます。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順序で指定できます。

例: 'to','file'

データのエクスポート先。'to''variable' または 'file' で構成されるコンマ区切りのペアとして指定します。

データをファイルにエクスポートする場合、名前と値のペアの引数 'filename' を使用してファイル名も指定しなければなりません。.mat.mldatx、または .xlsx 拡張子をもつファイル名を指定できます。

実行を MAT ファイルにエクスポートする場合、データは Simulink.SimulationData.Dataset オブジェクトに保存されます。関数 Simulink.sdi.exportRun を使用して複数の実行を MAT ファイルにエクスポートする場合、データは Dataset オブジェクトに保存されます。各要素はエクスポートされた 1 つの実行のデータが含まれる Dataset オブジェクトです。

Microsoft Excel ファイルにエクスポートされたデータは、シミュレーション データ インスペクターのインポートおよびエクスポート ファイル形式で説明した形式を使用して保存されます。

データを Microsoft Excel ファイルにエクスポートする場合、名前と値のペア 'overwrite''metadata'、および 'sharetimecolumn' を使用して追加オプションを指定できます。

例: 'to','file'

エクスポートされたデータを含めるファイルの名前。'filename' と string または文字配列で構成されるコンマ区切りのペアとして指定します。データを MAT ファイル、MLDATX ファイル、または Microsoft Excel ファイルにエクスポートするかどうかを指定するには、ファイル名に .mat.mldatx、または .xlsx 拡張子を含めます。ファイル名に拡張子を指定しない場合、データは MAT ファイルにエクスポートされます。

名前と値のペアの引数 'to' を値 'file' で指定した場合は、名前と値のペアの引数 'filename' を使用します。

データを Microsoft Excel ファイルにエクスポートする場合、名前と値のペアの引数 'overwrite''metadata'、および 'sharetimecolumn' を使用して追加オプションを指定できます。

例: 'filename',"mySpreadsheet.xlsx"

既存の Microsoft Excel ファイル内で上書きするデータ。'overwrite''file' または 'sheetsonly' で構成されるコンマ区切りのペアとして指定します。

  • 'file' — エクスポートされたデータでファイル全体を上書きする。

  • 'sheetsonly' — エクスポートされたデータに対応するデータをもつ Microsoft Excel ファイルのシートのみを上書きする。

データを既存の MAT ファイルまたは MLDATX ファイルにエクスポートするときに、エクスポートされたデータによってファイル全体が上書きされます。

例: 'overwrite','sheetsonly'

エクスポートされた Microsoft Excel ファイルに含めるメタデータ。'metadata' と string 配列で構成されるコンマ区切りのペアとして指定します。既定では、エクスポート操作にはメタデータは含まれません。次のメタデータを Microsoft Excel ファイルにエクスポートできます。

  • dataType — 信号のデータ型

  • units — 信号の単位

  • blockPath — ログに記録された信号のソース ブロックへのパス

  • interp — 信号の内挿法

  • portIndex — ログ記録された信号のソース ブロックの端子のインデックス

必要なメタデータを string 配列で選択した任意の順序で指定できます。string 配列でのメタデータの順序はエクスポートされたファイルでの形式に影響しません。エクスポートされたファイルでの形式は常にシミュレーション データ インスペクターのインポートおよびエクスポート ファイル形式での説明に一致します。

例: 'metadata',["units","dataType"]

同一の時間データをもつ信号がエクスポートされた Microsoft Excel ファイルで時間列を共有するかどうか。'sharetimecolumn''on' または 'off' で構成されるコンマ区切りのペアとして指定します。既定では、同じ時間データをもつ信号はエクスポートされたファイルで時間列を共有します。この値を 'off' に指定すると、エクスポートされたファイル内の各信号は独自の時間列をもちます。

例: 'sharetimecolumn','off'

出力引数

すべて折りたたむ

runID によって識別される実行のデータを含む Simulink.SimulationData.Dataset オブジェクト。

R2017a で導入