parsim

Моделируйте динамическую систему многократно параллельно или последовательный

Синтаксис

simOut = parsim(in)
simOut = parsim(in,'ShowSimulationManager','on')
simOut = parsim(in,Name,Value,...NameN,ValueN)

Описание

simOut = parsim(in) моделирует модель с помощью входных параметров, заданных в объекте SimulationInput, в. Команда parsim использует массив объектов SimulationInput запустить несколько моделирований.

simOut = parsim(in,'ShowSimulationManager','on') моделирует модель в параллели с помощью входных параметров, заданных в объекте SimulationInput, и открывает менеджера по Моделированию пользовательский интерфейс. Для получения дополнительной информации смотрите Simulation Manager.

simOut = parsim(in,Name,Value,...NameN,ValueN) моделирует модель в параллели с помощью входных параметров, заданных в объекте SimulationInput и опциях, заданных как пара Name,Value.

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

Примеры

свернуть все

Моделируйте модель, CSTR, параллельно путем развертки по переменной. Массив объектов SimulationInput используется, чтобы выполнить развертку.

Задайте значения развертки.

FeedTempSweep = 250:10:300;

Создайте массив объектов SimulationInput.

for i = length(FeedTempSweep):-1:1;
in(i) = Simulink.SimulationInput('CSTR');
in(i) = in(i).setVariable('FeedTemp0',FeedTempSweep(i));
end

Моделируйте модель параллельно.

out = parsim(in, 'ShowProgress', 'on')
[08-Jan-2018 14:10:43] Checking for availability of parallel pool...
Starting parallel pool (parpool) using the 'local' profile ...
connected to 6 workers.
[08-Jan-2018 14:11:12] Loading Simulink on parallel workers...
[08-Jan-2018 14:11:40] Configuring simulation cache folder on parallel workers...
[08-Jan-2018 14:11:40] Loading model on parallel workers...
[08-Jan-2018 14:11:48] Running simulations...
[08-Jan-2018 14:12:04] Completed 1 of 6 simulation runs
[08-Jan-2018 14:12:04] Completed 2 of 6 simulation runs
[08-Jan-2018 14:12:04] Completed 3 of 6 simulation runs
[08-Jan-2018 14:12:08] Completed 4 of 6 simulation runs
[08-Jan-2018 14:12:09] Completed 5 of 6 simulation runs
[08-Jan-2018 14:12:09] Completed 6 of 6 simulation runs
[08-Jan-2018 14:12:09] Cleaning up parallel workers...

out = 

1x6 Simulink.SimulationOutput array


Моделируйте модель, vdp, в быстром режиме Accelerator.

Загрузите модель.

model = 'vdp';
load_system(model)

Этот шаг создает Быструю цель Акселератора

Simulink.BlockDiagram.buildRapidAcceleratorTarget(model);

Создайте объект SimulationInput и используйте метод setModelParameter, чтобы установить RapidAcceleratorUpToDateCheck на 'off'.

in = in.setModelParameter('SimulationMode', 'rapid-accelerator');
in = in.setModelParameter('RapidAcceleratorUpToDateCheck', 'off');
 

Моделируйте модель.

out = parsim(in)

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

свернуть все

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

Пример: в = Simulink. SimulationInput ('vdp')

Аргументы в виде пар имя-значение

Пример: 'ShowProgress', 'on'

Примечание

Все параметры, переданные команде parsim, не связаны с параметрами, которые используются с командой sim. Чтобы передать команде parsim, используйте список следующих входных параметров

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя и Значение должны появиться в одинарных кавычках (''). Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Заданный как массив ячеек дополнительных файлов, чтобы присоединить к параллельному пулу.

Установите на 'on', чтобы видеть прогресс моделирований в командном окне. Прогресс скрыт, когда установлено в 'off'.

Примечание

Когда прогресс показывают, сообщение, 'Cleaning up parallel workers..' может быть отображен перед завершением последних нескольких моделирований. Это сообщение не зависит от завершения моделирований. Моделирования завершаются, когда выходные параметры выбираются от future. Для получения дополнительной информации смотрите Simulink.Simulation.Future.

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

Задайте function handle к 'SetupFcn', чтобы запуститься однажды на рабочего перед запуском моделирований.

Пример: 'SetupFcn',@ () simulinkproject ('OCRAex/OCRA_example.prj')

Примечание

Когда buildRapidAcceleratorTarget используется в SetupFcn, и модели задали, внешние входные параметры, ​ или устанавливают 'LoadExternalInput' на 'off' или гарантируют, что заданный внешний входной параметр доступен на рабочих, чтобы предотвратить ошибку компиляции.

Задайте function handle к 'CleanupFcn', чтобы запуститься однажды на рабочего после того, как моделирования будут завершены.

Когда ManageDependencies установлен в on, зависимости моделей автоматически отправляются параллельным рабочим при необходимости. Если ManageDependencies установлен в off, явным образом зависимости моделей атташе к параллельному пулу.

Когда UseFastRestart установлен в true, моделирования работают на рабочих, использующих, быстро перезапускают.

Примечание

При использовании parsim используйте опцию UseFastRestart а не опцию FastRestart. См. Запуск с Быстрым Перезапуском для получения дополнительной информации.

Когда TransferBaseWorkspaceVariables установлен в true, переменные, используемые в модели, и задал в базовом рабочем пространстве, передаются параллельным рабочим.

Примечание

Использование TransferBaseWorkspaceVariables требует образцовой компиляции.

Когда 'ShowSimulationManager' установлен в 'on', можно использовать менеджера по Моделированию Приложение, чтобы контролировать моделирования.

Установка 'StopOnError' к 'on' останавливает выполнение моделирований, если с ошибкой сталкиваются.

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

свернуть все

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

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

Расширенные возможности

Введенный в R2017a

Была ли эта тема полезной?