Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Simulink.sdi.addToRun

シミュレーション データ インスペクター内の既存の実行に実行 ID を使用してデータをインポート

説明

ワークスペースからのデータのインポート

sigIDs = Simulink.sdi.addToRun(runID,'vars',var,var2,...,varn) は、指定された実行 ID に対応する実行に 1 つ以上の信号を追加して、シミュレーション データ インスペクターに 1 つ以上の変数からデータをインポートします。

新しい実行にデータをインポートするには、関数 Simulink.sdi.Run.create または関数 Simulink.sdi.createRun を使用します。

sigIDs = Simulink.sdi.addToRun(runID,'namevalue',sourceNames,sigValues) は、指定された実行 ID に対応する実行に 1 つ以上の信号を追加して、シミュレーション データ インスペクターに 1 つ以上の変数からデータをインポートします。sourceNames 引数で、実行に追加された信号のメタデータでデータ ソースに使用する値を指定します。

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

sigIDs = Simulink.sdi.addToRun(runID,'file',filename) は、指定された実行 ID に対応する実行に 1 つ以上の信号を追加して、シミュレーション データ インスペクターにファイルからデータをインポートします。組み込みのファイル リーダーを使用して、MAT ファイル、CSV ファイル、Microsoft® Excel® ファイル、または MDF ファイルからデータをインポートできます。

組み込みリーダーではサポートされないファイルからデータをインポートしなければならない場合は、io.reader クラスを使用して独自のリーダーを書き込むことができます。

sigIDs = Simulink.sdi.addToRun(runID,'file',filename,Name=Value) は、1 つ以上の名前と値の引数を使用して指定されたオプションに従って、指定された実行 ID に対応する実行に 1 つ以上の信号を追加して、シミュレーション データ インスペクターにファイルからデータをインポートします。たとえば、sheets=["sheet1" "sheet2"] は、Excel ファイルからデータをインポートするときに、データのインポート元となるシートを指定します。

すべて折りたたむ

この例では、Simulink.sdi.addToRun を使用してワークスペース データをシミュレーション データ インスペクター内の実行に追加する方法について説明します。

ワークスペース データの生成

測定データ、入力データまたはシミュレーションに関連付ける他の任意のデータの代わりに、ワークスペース データを生成してシミュレーションの実行に追加します。

time = linspace(0, 60, 201);
cos_vals = 2*cos(2*pi/6.8*time);
cos_ts = timeseries(cos_vals, time);
cos_ts.Name = 'cosine';

モデルのシミュレーション

slexAircraftExample モデルのシミュレーションを実行し、シミュレーション出力が含まれている実行を作成します。

load_system('slexAircraftExample');
sim('slexAircraftExample','SaveFormat','Dataset');

ワークスペース データをシミュレーション実行に追加

ワークスペース データを実行に追加します。その後、シミュレーション データ インスペクターで結果を表示します。

% Get run ID
count = Simulink.sdi.getRunCount;
runID = Simulink.sdi.getRunIDByIndex(count);

% Add data to run
sigIDs = Simulink.sdi.addToRun(runID,'vars',cos_ts);

Simulink.sdi.view

入力引数

すべて折りたたむ

インポート データの追加先の実行の実行 ID。スカラーとして指定します。

シミュレーション データ インスペクターでは、実行の作成時に各実行に一意の ID が割り当てられます。シミュレーション データ インスペクターで実行の実行 ID にアクセスするには、関数 Simulink.sdi.getAllRunIDs および Simulink.sdi.getRunIDByIndex を使用します。

インポートするデータ。変数として指定します。シミュレーション データ インスペクターはサンプル値がサンプル時間に関連付けられている時間ベースのデータをサポートします。シミュレーション データ インスペクターでは、timeseriesSimulink.SimulationData.Dataset を含めたすべての読み込みデータ形式とログ データ形式がサポートされます。

例: myData

インポートしたデータのソース名。文字ベクトルの cell 配列として指定します。ソース名は、sigValues 入力で指定したデータから作成された Simulink.sdi.Signal オブジェクトの RootSourceTimeSource、および DataSource プロパティを設定するために使用されます。

2 番目の引数に対して 'namevalue' を指定する場合は sourceNames 入力を指定します。

例: {"sig1","sig2"}

インポートするデータ。変数の cell 配列として指定します。

2 番目の引数に対して 'namevalue' を指定する場合は sigValues 入力を指定します。

例: {var1,var2}

インポートするデータをもつファイルの名前。文字ベクトルとして指定します。2 番目の引数に対して "file" を指定する場合は filename 入力を指定します。

シミュレーション データ インスペクターに組み込まれているファイル リーダーを使用して、以下のタイプのファイルから実行を作成できます。

  • MAT ファイル。

  • CSV ファイル。

  • Microsoft Excel のインポート、エクスポート、ログ形式に従った形式で設定されたデータを含む Microsoft Excel ファイル

  • 次のいずれかの拡張子をもつ MDF ファイル:

    • .mdf

    • .mf4

    • .mf3

    • .data

    • .dat

  • ULG ファイル。フライトのログ データのインポートには UAV Toolbox のライセンスが必要です。

  • ROS Bag ファイル Version 1.1 または 2.0。Bag ファイルのインポートには ROS Toolbox のライセンスが必要です。

組み込みリーダーではサポートされないファイルからデータをインポートしなければならない場合は、io.reader クラスを使用して独自のリーダーを書き込むことができます。組み込みリーダーの代わりに、任意のファイル拡張子に対して使用するカスタム リーダーを書き込むこともできます。例については、カスタム ファイル リーダーを使用したデータのインポートを参照してください。

例: 'simulation.mat'

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

例: sheets=["sheet1" "sheet2"]

データのインポートに使用するファイル リーダー。string または文字ベクトルとして指定します。

シミュレーション データ インスペクターは、ファイルで使用できる場合は登録されたカスタム リーダーの使用を優先します。リーダーを指定しない場合、シミュレーション データ インスペクターはファイルに対して最初に登録されたカスタム リーダーを使用します。カスタム リーダーが登録されていない場合、データは組み込みリーダーを使用してインポートされます。

次の場合にリーダー入力を指定します。

  • 組み込みリーダーを使用してカスタム リーダーでもサポートされているファイルのデータをインポートする場合。

  • 登録されている複数のカスタム リーダーがファイルをサポートしている場合。

ファイルのインポートに使用できるリーダーを判別するには、関数 io.reader.getSupportedReadersForFile を使用します。

例: "MyExcelReader"

例: "built-in"

データのインポート元となる Excel ファイルのシート。string 配列または文字ベクトルの cell 配列として指定します。シミュレーション データ インスペクターの既定では、すべてのシートからデータがインポートされます。Excel ファイルのすべてのシートからデータをインポートしない場合は、sheets 名前と値の引数を使用します。

ファイルのデータにシミュレーション番号とソース情報が含まれていない場合、各シートのデータが個々の実行にインポートされます。Excel ファイルからインポートするデータの書式設定の詳細については、Microsoft Excel のインポート、エクスポート、ログ形式を参照してください。

例: ["sheet1" "sheet2"]

ユーザー定義のデータ型の定義をもつモデル。string または文字ベクトルとして指定します。

列挙、バス、エイリアスなどのユーザー定義のデータ型を使用して信号のデータ型を定義するデータを Excel ファイルから読み込む場合、シミュレーション データ インスペクターでは、データをインポートするために型定義にアクセスする必要があります。型定義へのアクセスは次のようにして提供できます。

  • 関連付けられているオブジェクトを MATLAB® ワークスペースに読み込みます。

  • 名前と値の引数 model を指定して、モデル ワークスペースまたはデータ ディクショナリに保存されている型定義を使用します。

Excel ファイルからインポートするデータの書式設定の詳細については、Microsoft Excel のインポート、エクスポート、ログ形式を参照してください。

例: "myModel.slx"

出力引数

すべて折りたたむ

インポート データから作成された信号の信号 ID。スカラーまたはベクトルとして返されます。

バージョン履歴

R2011b で導入