Main Content

add

シミュレーション データ インスペクター内の既存の実行に Simulink.sdi.Run オブジェクトを使用してデータをインポート

説明

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

add(runObj,var) は、指定された Simulink.sdi.Run オブジェクトに対応する実行に 1 つ以上の信号を追加して、シミュレーション データ インスペクターに変数 var のデータをインポートします。

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

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

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

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

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

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

add(runObj,'file',filename,Name=Value) は、指定された Run オブジェクトに対応する実行に 1 つ以上の信号を追加して、シミュレーション データ インスペクターにファイルからデータをインポートします。たとえば、sheets=["sheet1" "sheet2"] は、Excel ファイルからデータをインポートするときに、データのインポート元となるシートを指定します。

すべて折りたたむ

実行を作成してそこにデータを追加してから、シミュレーション データ インスペクターでデータを表示します。

実行のデータの作成

timeseries オブジェクトを作成し、正弦信号と余弦信号のデータを含めます。各 timeseries オブジェクトに説明的な名前を付けます。

time = linspace(0,20,100);

sine_vals = sin(2*pi/5*time);
sine_ts = timeseries(sine_vals,time);
sine_ts.Name = "Sine, T=5";

cos_vals = cos(2*pi/8*time);
cos_ts = timeseries(cos_vals,time);
cos_ts.Name = "Cosine, T=8";

実行の作成とデータの追加

関数 Simulink.sdi.view を使用して、シミュレーション データ インスペクターを開きます。

Simulink.sdi.view

データをワークスペースからシミュレーション データ インスペクターにインポートするには、関数 Simulink.sdi.Run.create を使用して Simulink.sdi.Run オブジェクトを作成します。Run オブジェクトの Name プロパティと Description プロパティを使用して、実行に関する情報をそのメタデータに追加します。

sinusoidsRun = Simulink.sdi.Run.create;
sinusoidsRun.Name = "Sinusoids";
sinusoidsRun.Description = "Sine and cosine signals with different frequencies";

関数 add を使用して、ワークスペースで作成したデータを空の実行に追加します。

add(sinusoidsRun,"vars",sine_ts,cos_ts);

シミュレーション データ インスペクターでのデータのプロット

関数 getSignalByIndex を使用して、信号データが含まれる Simulink.sdi.Signal オブジェクトにアクセスします。Simulink.sdi.Signal オブジェクトのプロパティを使用して、信号のライン スタイルと色を指定し、シミュレーション データ インスペクターに信号をプロットできます。各信号の LineColor プロパティと LineDashed プロパティを指定します。

sine_sig = getSignalByIndex(sinusoidsRun,1);
sine_sig.LineColor = [0 0 1];
sine_sig.LineDashed = "-.";

cos_sig = sinusoidsRun.getSignalByIndex(2);
cos_sig.LineColor = [1 0 0];
cos_sig.LineDashed = "--";

関数 Simulink.sdi.setSubPlotLayout を使用して、シミュレーション データ インスペクターのプロット領域で 21 列のサブプロット レイアウトを設定します。次に、関数 plotOnSubplot を使用して、上のサブプロットに正弦信号をプロットし、下のサブプロットに余弦信号をプロットします。

Simulink.sdi.setSubPlotLayout(2,1);

plotOnSubPlot(sine_sig,1,1,true);
plotOnSubPlot(cos_sig,2,1,true);

The sine wave and cosine wave signals plotted in the Simulation Data Inspector. There are two vertically aligned subplots. In the upper subplot, the Sine, T=5 signal is plotted in blue with a dash-dotted line style. In the lower subplot, Cosine, T=8 signal is plotted in red with a dashed line style.

シミュレーション データ インスペクターを閉じてデータを保存

プロットされた信号データの検査が完了したら、シミュレーション データ インスペクターを閉じて、セッションを MLDATX ファイルに保存できます。

Simulink.sdi.close("sinusoids.mldatx")

入力引数

すべて折りたたむ

インポート データの追加先の実行。Simulink.sdi.Run オブジェクトとして指定します。

インポートするデータ。変数として指定します。シミュレーション データ インスペクターはサンプル値がサンプル時間に関連付けられている時間ベースのデータをサポートします。シミュレーション データ インスペクターでは、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"

バージョン履歴

R2017b で導入