Main Content

cancel

保留中、キューに入っている、または実行中の Simulink.Simulation.Job オブジェクトをキャンセルする

説明

cancel(simJob) は、現在の状態が 'pending''queued'、または 'running' である Simulink.Simulation.Job オブジェクト、simJob を停止します。

cancel(simJob,'Message') は、状態が 'pending''queued'、または 'running' である Simulink.Simulation.Job オブジェクト、simJob を停止し、ユーザー指定のメッセージを表示します。

Simulink.Simulation.Job オブジェクトの State プロパティは finished に設定され、その他の保留中のシミュレーションはキャンセルされます。ジョブ オブジェクトをキャンセルすると、その結果を取得できなくなります。キャンセルされたジョブ オブジェクトを再び開始することはできません。

メモ

ジョブをキャンセルすると、ジョブ内の完了済みシミュレーションの結果も失われます。

すべて折りたたむ

この例は、cancel メソッドを simJob オブジェクトに使用して、シミュレーションを停止する方法を示します。この例では、ゲイン Mu の値を変化させて、vdp モデルの複数のシミュレーションを実行します。

1. モデルを開き、Mu の値のベクトルを定義します。

open_system('vdp');
mu_Values = [0.5:0.25:1000];
muVal_Length = length(mu_Values);

2. mu_Values を使用して、Simulink.SimulationInput オブジェクトの配列を初期化します。

in(1:muVal_Length) = Simulink.SimulationInput('vdp');
for i = 1:1:muVal_Length
    in(i) = in(i).setBlockParameter('vdp/Mu',...
        'Gain',num2str(mu_Values(i)));
end

3. 使用するワーカー数のプール サイズを指定します。シミュレーションの並列実行に使用されるワーカー数に加え、ヘッド ワーカーが必要です。この例では、3 つのワーカーで並列シミュレーションの 1 つのバッチジョブを実行できると仮定します。シミュレーションは、既定のクラスター プロファイルにオフロードされます。

simJob = batchsim(in,'Pool',3);

4. ここで、異なる Mu の値を使用してシミュレーションを実行するために、実行中のシミュレーションをキャンセルするとします。

cancel(simJob)

入力引数

すべて折りたたむ

Simulink.Simulation.Job オブジェクト。simJob を作成するには、batchsim を実行します。

例: simJob = batchsim(in,'Pool',6)

バージョン履歴

R2018b で導入