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

Simulink.sdi.addToRun

1 つ以上の信号を既存の実行に追加

説明

sigIDs = Simulink.sdi.addToRun(runID,'vars',var,var2,...,varn) は変数 var,var2,...,varn 内のデータを runID に対応する実行に追加し、その実行に追加された信号の信号 ID を返します。

sigIDs = Simulink.sdi.addToRun(runID,'namevalue',sourceNames,dataValues) は cell 配列 dataValues 内のデータを runID に対応する実行に追加し、その実行に追加された信号の信号 ID を返します。sourceNames 引数は信号メタデータにある dataValues 内のデータのソースで使用する名前を指定します。

すべて折りたたむ

この例では、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

モデル slexAircraftExample は出力、状態および時間データをログに記録するように設定されています。出力データのログは自動的にシミュレーション データ インスペクターとベース ワークスペースに記録されますが、状態データは記録されません。状態データをシミュレーション データ インスペクターに渡すために、データを記録するか、モデルのシミュレーションを実行することにより作成された実行にデータを追加できます。この例では、ログ記録された状態データをプログラムによってシミュレーション データ インスペクターの実行に追加する方法について説明します。

モデルのシミュレーションを実行して状態データを取得

'ReturnWorkspaceOutputs''on' に設定された関数 sim を使用してモデルのシミュレーションを実行します。状態データ xout をシミュレーション出力から選択します。

load_system('slexAircraftExample')

simOut = sim('slexAircraftExample','ReturnWorkspaceOutputs','on',...
    'SaveFormat','Dataset');

% Get states data from simulation output
states = simOut.xout;

実行 ID の取得

出力データは自動的にシミュレーション データ インスペクターにログ記録されるため、実行は slexAircraftExample のシミュレーションを実行すると作成されます。シミュレーション データ インスペクターのプログラムによるインターフェイスを使用して、実行用の実行 ID を取得します。

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

状態データを実行に追加

出力データをもつ実行に状態データを追加します。

sigIDs = Simulink.sdi.addToRun(runID,'namevalue',{'States'},{states});

入力引数

すべて折りたたむ

データの追加先となる信号の実行 ID。シミュレーション データ インスペクターは実行の作成時に一意の実行 ID を割り当てます。実行用の実行 ID は Simulink.sdi.getAllRunIDsSimulink.sdi.getRunIDByIndex を使用して取得できます。

実行に追加するワークスペース データ。Simulink.sdi.addToRun では timeseriesSimulink.SimulationData.Dataset を含めたすべての読み込みデータ形式とログ データ形式がサポートされます。2 番目の引数として 'vars' を指定するときに、1 つ以上の var 入力を指定します。

例: myData

追加された信号に対するメタデータのデータのソースとして使用する名前。2 番目の引数として 'namevalue' を指定するときに、sourceNames 入力を指定します。

例: {'speed','position'}

実行に追加するデータの cell 配列。2 番目の引数として 'namevalue' を指定するときに、dataValues 入力を指定します。

例: {sig1,sig2}

出力引数

すべて折りたたむ

実行に追加された信号の信号 ID を含む行列。

R2011b で導入