主要内容

fetchOutputs.

检索一系列金宝appsimulink.simulationOutput.所有模拟中的对象金宝appsimulink.simulation.job.

描述

例子

出去= fetchOutputs(simjob.的)returns an array of金宝appsimulink.simulationOutput.包含批处理作业中模拟结果的对象,simjob.

fetchOutputs.如果作业不在中,则报告错误'完成的'状态,或者如果其中一个模拟在执行期间遇到错误。使用等待在获取输出之前,等待作业完成的方法。

例子

全部收缩

此示例显示如何以批处理运行并行模拟并获取结果金宝appsimulink.simulationOutput.对象来自金宝appsimulink.simulation.job.对象。Batchsim.命令将模拟卸载到计算群集,使您可以在批处理作业处理时执行其他任务,或关闭客户端MATLAB®并稍后访问批处理作业。

1.打开模型。

Open_System('sldemo_houseHeat');

2.为不同温度定义一组值。

SetPointValues = 65:2:85;spv_length = length(setpointvalues);

3.使用setpointvalues.,初始化数组金宝appsimulink.simulationInput.对象。

(1:spv_length)= sim金宝appulink.simulationInput('sldemo_houseHeat');为了i = 1:1:spv_length in(i)= in(i).setblockparameter('sldemo_houchheat / set point'......'价值',num2str(setPointValues(i)));结尾

4.指定要使用的工人数量的池大小。除了用于并行运行模拟的工人数量之外,还需要一个头部工人。在这种情况下,假设有三个工人可以为并行仿真运行批处理作业。作业对象如图所示返回有用的元数据。你可以使用这份工作IDto access the job object later from any machine.numworkers.显示有多少工人正在运行模拟 - 所指定的工人数量'水池'争论加上额外的主人。

simjob.= batchsim(in,'水池'3,3)
ID:1类型:池NumWorkers:4用户名:#####状态:运行submitDateTime:##  -  ###  -  ######:##:## startDateTime:运行持续时间:0天0H 0s

5.使用批处理作业的结果访问fetchOutputs.方法。fetchOutputs.returns an array of金宝appsimulink.simulationourouput.对象。您只能获取一次输出simjob.完成的状态。

OUT = fetchOutputs(SimJob)
1x11 金宝appsimulink.simulationoutput数组

输入参数

全部收缩

一种金宝appsimulink.simulation.job.对象。创造simjob., 跑步Batchsim.

例子:simjob = batchsim(in,'pool',4)

输出参数

全部收缩

一种rray of金宝appsimulink.simulationOutput.包含所有记录的仿真结果的对象。阵列的大小等于数组的大小金宝appsimulink.simulationInput.对象传递给Batchsim.

所有仿真输出(记录的时间,状态和信号)都在单个中返回金宝appsimulink.simulationOutput.对象。您定义模型me, states, and output that are logged using the数据导入/导出pane of the Model Configuration Parameters dialog box. You can log signals using blocks such as the到工作区and范围块。这信号和范围管理器工具可以直接记录信号。

版本历史记录

在R2018B中介绍