Simulink. Симуляция. Класс фьючерсов

Пакет: Simulink
Суперклассы:

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

Описание

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

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

Конструкция

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

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

развернуть все

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

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

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

Свойства

развернуть все

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

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

ID объекта future, заданного как скалярное целое число.

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

Считал ли вызов fetchNext или fetchOutputs выходные параметры в объектном массиве Simulink.Simulation.Future, заданном как 1 если верный и 0 если ложь.

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

Текущее состояние объектного массива 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, отличаясь значение усиления Му.

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

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