fetchOutputs

Получите массив Simulink.SimulationOutput объекты от всех симуляций в Simulink.Simulation.Job

Синтаксис

Описание

пример

out = fetchOutputs(simJob) возвращает массив Simulink.SimulationOutput объекты, содержащие результаты симуляций в пакетном задании, simJob.

fetchOutputs сообщает ошибка, если задание не находится в 'finished' состояние, или если одна из его симуляций сталкивается с ошибкой во время выполнения. Используйте wait метод, чтобы ожидать задания, чтобы завершиться перед выбирающими выходными параметрами.

Примеры

свернуть все

В этом примере показано, как идти параллельно симуляции в пакете и выбрать получившийся Simulink.SimulationOutput объекты от Simulink.Simulation.Job объект. batchsim команда разгружает симуляции к вычислить кластеру, позволяя вам выполнить другие задачи, в то время как пакетное задание обрабатывает, или закройте клиент MATLAB® и получите доступ к пакетному заданию позже.

1. Откройте модель.

open_system('sldemo_househeat');

2. Задайте множество значений для различных температур.

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

3. Используя setPointValues, инициализируйте массив Simulink.SimulationInput объекты.

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

4. Задайте размер пула количества рабочих, чтобы использовать. В дополнение к количеству рабочих, используемых, чтобы запустить параллельные симуляции, требуется главный рабочий. В этом случае примите, что три рабочих доступны, чтобы запустить пакетное задание для параллельных симуляций. Объект задания возвращает полезные метаданные как показано. Можно использовать задание 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. Доступ к результатам пакетного задания с помощью fetchOutputs метод. fetchOutputs возвращает массив Simulink.SimulationOuput объекты. Можно выбрать выходные параметры только однажды simJob находится в finished состояние.

out = fetchOutputs(simJob)
1x11 Simulink.SimulationOutput array

Входные параметры

свернуть все

Simulink.Simulation.Job объект. Создать simJob, запустите batchsim.

Пример: simJob = batchsim(in,'Pool',4)

Выходные аргументы

свернуть все

Массив Simulink.SimulationOutput объекты, которые содержат все регистрируемые результаты симуляции. Размер массива равен размеру массива Simulink.SimulationInput объекты передали batchsim.

Вся симуляция выходные параметры (регистрируемое время, состояния и сигналы) возвращена в одном Simulink.SimulationOutput объект. Вы задаете время модели, состояния, и выводите, которые регистрируются с помощью панели Data Import/Export диалогового окна Model Configuration Parameters. Можно регистрировать блоки использования сигналов, такие как блоки Scope и To Workspace. Инструмент Signal & Scope Manager может непосредственно регистрировать сигналы.

Введенный в R2018b