Main Content

diary

Simulink.Simulation.Job オブジェクトのコマンド ウィンドウ テキストを表示または保存する

説明

diary(simJob) は、Simulink.Simulation.Job オブジェクト、simJob のコマンド ウィンドウ出力を MATLAB® コマンド ウィンドウに表示します。コマンド ウィンドウ出力は、batchsim コマンドに true の値を持つ 'CaptureDiary' 引数が含まれている場合のみ取得されます。

diary(simJob,'filename') は、バッチ ジョブからのコマンド ウィンドウ出力が指定されたファイルに追加されるようにします。ファイル filename を任意のテキスト エディターで開きます。

すべて折りたたむ

この例は、sldemo_househeat モデルを使用して Simulink.Simulation.Job オブジェクト、simJob のダイアリを表示する方法を示します。simJob を作成するには、batchsim コマンドを使用して並列シミュレーションを実行します。

1. モデルを開きます。

openExample('simulink/OpenTheModelExample')
open_system('ex_sldemo_househeat');

2. さまざまな温度に対して一連の値を定義します。

setPointValues = 65:2:85;
spv_Length = length(setPointValues);

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

in(1:spv_Length) = Simulink.SimulationInput('ex_sldemo_househeat');
for i = 1:1:spv_Length 
    in(i) = in(i).setBlockParameter('ex_sldemo_househeat/Set Point',...
        'Value',num2str(setPointValues(i)));
end

4. 使用するワーカー数のプール サイズを指定します。シミュレーションの並列実行に使用されるワーカー数に加え、ヘッド ワーカーが必要です。この例では、3 つのワーカーで並列シミュレーションの 1 つのバッチジョブを実行できると仮定します。ジョブ オブジェクトは、以下のように有用なメタデータを返します。ジョブ ID を使用すると、後で任意のマシンからジョブ オブジェクトにアクセスできます。NumWorkers は、シミュレーションを実行中のワーカー数を示します。これは、'Pool' 引数で指定したワーカー数に追加のヘッド ワーカーを足した数になります。

simJob = batchsim(in,'Pool',3)
                  ID: 1
                Type: pool
          NumWorkers: 4
            Username: #####
               State: running
      SubmitDateTime: ##-###-#### ##:##:##
       StartDateTime: 
    Running Duration: 0 days 0h 0m 0s

5. Simulink.Simulation.Job オブジェクトの diary メソッドを使用して、MATLAB コマンド ウィンドウにバッチ ジョブの出力を表示します。

これはモデル例のため、ダイアリは表示されないことに注意してください。

diary(simJob)

入力引数

すべて折りたたむ

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

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

Simulink.Simulation.Job オブジェクトからのコマンド ウィンドウ出力テキストに付加するファイルを指定します。

例: diary(simJob,'abc.txt')

バージョン履歴

R2018b で導入