Simulink.Simulation.Future class

Пакет: Simulink. Симуляция
Суперклассы:

Создание Future объект для симуляции

Описание

Создайте Simulink.Simulation.Future объект, когда вы выполняете parsim с 'RunInBackground' для аргумента задано значение 'on'. The parsim команда запускает несколько параллельные симуляции, используя входы, заданную с массивом Simulink.SimulationInput объекты. Можно использовать этот объект для мониторинга состояния текущих симуляций, извлечения выходов завершенных симуляций или отмены текущих симуляций.

parsim команда использует лицензию Parallel Computing Toolbox™, чтобы выполнять параллельные симуляции. parsim запускает симуляции последовательно, если параллельный пул не может быть создан или если Parallel Computing Toolbox не используется.

Конструкция

future = parsim(in,'RunInBackground','on') создает Simulink.Simulation.Future объект, future, при выполнении нескольких параллельных симуляций с использованием входов, заданных в Simulink.SimulationInput объект, in.

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

расширить все

A Simulink.SimulationInput объект или массив Simulink.SimulationInput объекты используются для выполнения нескольких симуляций. Задайте параметры и значения модели, чтобы запустить несколько симуляций, не делая ее грязной.

Пример: in = Simulink.SimulationInput('vdp'), in(1:10) = Simulink.SimulationInput('vdp')

Установите значение 'on', чтобы выполнить симуляции асинхронно, сохраняя MATLAB® командная строка доступна.

Свойства

расширить все

Текстовый журнал выходов симуляции.

Это свойство доступно только для чтения.

Идентификатор future объект, заданный как скалярное целое число.

Это свойство доступно только для чтения.

Является ли вызов fetchNext или fetchOutputs считал выходы в Simulink.Simulation.Future объектный массив, заданный как 1, если true и 0, если false.

Это свойство доступно только для чтения.

Текущее состояние future объектный массив, заданный как 'pending', 'queued', 'running', 'finished', 'failed', или 'unavailable'.

Это свойство доступно только для чтения.

Методы

Метод

Цель

cancel

Отмена отложенного, поставленного в очередь или выполняемого Simulink.Simulation.Future объект

fetchNext

Выберите следующий доступный непрочитанный выход от Simulink.Simulation.Future объектный массив

fetchOutputs

Извлечение Simulink.SimulationOutput от Simulink.Simulation.Future

wait

Ждите Simulink.Simulation.Future объекты для завершения симуляции

Примеры

свернуть все

В этом примере показано, как создать Simulink.Simulation.Future объектный массив и используйте его, чтобы извлечь выходы и увидеть состояние симуляций.

Этот пример запускает несколько симуляций vdp модель, изменяющая значение усиления Mu.

Откройте модель и задайте вектор значений Mu.

open_system('vdp');
Mu_Values = [0.5:0.25:5];
MuVal_length = length(Mu_Values);

Использование Mu_Values, инициализируйте массив Simulink.SimulationInput объекты. Чтобы предварительно выделить массив, делается индекс цикла, который начинается с самого большого значения.

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

Симулируйте модель с помощью parsim. Установите значение 'RunInBackground', чтобы иметь возможность использовать командную строку, во время выполнения симуляций.

Future = parsim(in,'RunInBackground','on');

Используйте fetchNext метод по Future симуляции.

for i = 1:MuVal_length
    [completedIdx,simOut] = fetchNext(Future)
end

См. также

Функции

Классы

Введенный в R2018a