Выполняйте параллельные симуляции с использованием parsim

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

Модель sldemo_househeat в качестве примера система, которая моделирует тепловые характеристики дома, его наружной среды и системы отопления дома. Эта модель вычисляет нагревающиеся затраты для типового дома.

Блок Set Point, подсистема Термостата, подсистема Нагревателя, подсистема Дома и компонент Расчета стоимости являются основными компонентами. Для подробного объяснения модели см. Тепловую Модель Дома.

Запустите несколько параллельных симуляций с различными сетболами

Эта модель использует блок Constant, чтобы задать температурный сетбол, который должен быть обеспечен в закрытом помещении. Значение по умолчанию заданного значения составляет 70 градусов по Фаренгейту. Этот пример показывает вам, как симулировать модель в параллельных использующих различных значениях Set Point.

Откройте пример и модель

openExample('simulink_general/sldemo_househeatExample');
open_system('sldemo_househeat');

Задайте множество значений для Set Point.

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

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

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

Этот пример производит массив 10 Simulink.SimulationInput объекты, каждый соответствующий различному значению Set Point.

Теперь запустите эти несколько параллельных симуляций с помощью команды parsim. Чтобы контролировать и анализировать запуски, откройте Simulation Manager путем установки ShowSimulationManager аргумент к on. ShowProgress аргумент, когда установлено в on показывает прогресс симуляций.

out = parsim(in,'ShowSimulationManager','on','ShowProgress','on')

Выход сгенерирован как Simulink.SimulationOutput объект. Чтобы видеть все различные заданные значения, откройте график Температур (Внутренний и Наружный) и компонент Стоимости Тепла. Постоянный блок Avg Outdoor Temp задает среднюю температуру воздуха на открытом воздухе. Блок The Daily Temp Variation Sine Wave генерирует ежедневные температурные колебания наружной температуры. Внутренняя температура выведена из подсистемы палаты. Температура вне помещения варьируется синусоидально, тогда как температура в закрытом помещении обеспечена в 5 градусах по Фаренгейту сетбола.

В отсутствие лицензий Parallel Computing Toolbox™, parsim команда ведет себя как sim команда. Симуляции запущены в сериале.

Просмотрите запуски в Simulation Manager

Установка ShowSimulationManager аргумент к on включает Simulation Manager. Для получения дополнительной информации смотрите Simulation Manager.

Можно просмотреть состояние всех запусков и подробной информации о них.

Simulation Manager позволяет вам просмотреть свои результаты в Инспекторе Данных моделирования, который в свою очередь позволяет вам анализировать и сравнивать свои данные. Можно просмотреть график Температур (Внутренний и Наружный) и Стоимость Тепла в Инспекторе Данных моделирования. Выберите запуски, для которых вы хотите просмотреть значок нажатия кнопки и график.

Можно теперь видеть тепло, стоившее за три симуляции.

Используя Simulation Manager, можно применить параметры любого запуска к модели. Теперь предположите, что вы хотите применить параметры Запущенных 3 к вашей модели. Выберите Run 3 и кликните по значку. Ваши параметры применяются к модели.

Смотрите также

| | | | | | | | | | |

Похожие темы