sim

Симулируйте модель Simulink

Описание

Simulink® модель представляет динамическую систему. Симуляция модели позволяет вам изучить поведение системы в зависимости от симулированного времени. sim команда использует заданную модель и применяет аргументы к модели. В конце симуляции, sim команда возвращается любые аргументы, которые она применила.

simOut = sim(model) симулирует заданную модель с помощью существующих параметров конфигурации модели и возвращает результат как Simulink.SimulationOutput объект (одно выходной формат).

В панели Data Import/Export диалогового окна Configuration Parameters Single simulation output выбран по умолчанию. Если Single simulation output не выбран, результаты симуляции возвращены как временной вектор.

Чтобы возвратить результаты симуляции с помощью обратно совместимого формата (временной вектор), смотрите Обратно совместимый Синтаксис.

simOut = sim(model,Name,Value) симулирует заданную модель с помощью пар "имя-значение" параметра.

simOut = sim(simIn) симулирует модель с помощью входных параметров, заданных в Simulink.SimulationInput объект simIn . sim команда может использоваться с массивом SimulationInput объекты запустить несколько симуляций в ряду. Если simIn массив Simulink.SimulationInput объекты, выходной параметр возвращен как массив Simulink.SimulationOutput объекты.

пример

simOut = sim(model,ParameterStruct) симулирует заданную модель с помощью значений параметров, заданных в структуре ParameterStruct.

пример

simOut = sim(model,ConfigSet) симулирует заданную модель с помощью параметров конфигурации, заданных в наборе конфигурации модели ConfigSet.

Примеры

Установите Параметры блоков с помощью Массива Объектов Simulink.SimulationInput

Этот пример изменяет параметры блоков модели через SimulationInput объект.

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

openExample('simulink/OpenTheModelExample');
open_system('ex_sldemo_househeat');
load_system('ex_sldemo_househeat')

Создайте SimulationInput объект для этой модели.

mdl = 'sldemo_househeat';
in = Simulink.SimulationInput(mdl);

Измените параметры блоков.

in = in.setBlockParameter('sldemo_househeat/Set Point','Value','300');

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

out = sim(in)

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

Симулируйте модель, vdp когда это находится в текущем состоянии, не загружается ли это или загружается и имеет некоторые несохраненные изменения.

На панели Импорта/Экспорта Данных диалогового окна Configuration Parameters Single simulation output выбран по умолчанию, таким образом, sim возвращает результаты симуляции с помощью одно выходного формата (объект симуляции). Этот выбор заменяет Dataset формат используется для логгирования сигнала.

simOut = sim('vdp')

Симулируйте модель с sim Параметры командной строки в структуре

Симулируйте модель, vdp, и сохраните состояния в xoutNew и выход в youtNew.

Задайте параметры с помощью структуры пар "имя-значение" paramNameValStruct для sim команда:

paramNameValStruct.SaveState      = 'on';
paramNameValStruct.StateSaveName  = 'xoutNew';
paramNameValStruct.SaveOutput     = 'on';
paramNameValStruct.OutputSaveName = 'youtNew';
simOut = sim('vdp',paramNameValStruct)
simOut = 
  Simulink.SimulationOutput:

                xoutNew: [64x2 double] 
                youtNew: [64x2 double] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

Симулируйте модель с sim Параметры командной строки в конфигурации модели

Симулируйте модель, vdp, для абсолютной погрешности 1e-5 и сохраните состояния в xoutNew и выход в youtNew.

Задайте параметры как пары "имя-значение" в конфигурации модели mdl_cs для sim команда:

mdl = 'vdp';
load_system(mdl)
cs = getActiveConfigSet(mdl);
mdl_cs = cs.copy;
set_param(mdl_cs,'AbsTol','1e-5',...
         'SaveState','on','StateSaveName','xoutNew',...
         'SaveOutput','on','OutputSaveName','youtNew')
simOut = sim(mdl, mdl_cs)
simOut = 
  Simulink.SimulationOutput:

                xoutNew: [65x2 double] 
                youtNew: [65x2 double] 

     SimulationMetadata: [1x1 Simulink.SimulationMetadata] 
           ErrorMessage: [0x0 char] 

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

свернуть все

Модель, чтобы симулировать в виде вектора символов.

Пример: simOut = sim('vdp')

Структура, содержащая установки параметров для симуляции, заданной как структура. Поля в структуре являются именами параметров конфигурации, и соответствующие значения являются значениями параметров.

Набор параметров конфигурации для модели в виде Simulink.Configset объект. Для получения дополнительной информации смотрите Simulink.ConfigSet.

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

Используйте SimulationInput объект задать Параметры блоков, Параметры модели, Переменные и Внешние Входные параметры для симуляции.

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

Аргументы name-value

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

Пример: 'Solver','ode15s','TimeOut','30' указывает, что модель симулирована с помощью ode15s решателя с тайм-аутом, который происходит когда SIimulationTime достигает 30.

Можно передать любой параметр модели и его значение к sim команда.

Кроме того, sim команда принимает следующие параметры, которые не доступны на Configset и set_param

Опция, чтобы сохранить ошибки в объект SimulationMetadata в виде 'off' или 'on'. По умолчанию, если ошибка происходит в процессе моделирования, sim команда останавливает и сообщает об ошибке в MATLAB® Командное окно. Если вы задаете 'CaptureErrors','on', sim команда сохраняет любые ошибки в ErrorDiagnostic структура в SimulationMetadata объект. Сообщение об ошибке сохранено в ErrorMessage свойство SimulationOutput объект.

При выполнении нескольких симуляций в цикле эта опция гарантирует, что одна ошибка симуляции не будет мешать скрипту или функции продолжиться.

Если вы задаете массив входных объектов, sim команды запускаются с CaptureErrors активированный. Если ошибка происходит, сообщения об ошибке включены в Simulink.SimulationMetadata объект для симуляции, а также данные моделирования на грани отказа.

Эта опция не доступна для симуляции в режимах SIL и PIL.

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

Опция режима отладки для симуляции в виде 'off' или 'on'. Устанавливание значения 'Debug' аргумент к 'on'запускает симуляцию в режиме отладки (см. Графический интерфейс пользователя Отладчика для получения дополнительной информации). Значение этой опции может быть массивом ячеек команд, которые будут отправлены в отладчик после того, как это запустится.

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

Эта опция доступна в Быстром Режиме Accelerator только. Предварительная симуляция на дату проверяет в виде 'on' или 'off'. Если вы устанавливаете это значение к 'off', Simulink не выполняет актуальную проверку. Это пропускает запустить/остановить коллбэки в блоках. Если вы вызываете sim команда от parfor, установите это значение к 'off'.

Когда вы устанавливаете эту опцию на 'off', изменения, которые вы вносите в значения параметров блоков в модели (например, при помощи диалоговых окон блока, при помощи set_param функция, или путем изменения значений переменных MATLAB), не влияют на симуляцию. Используйте RapidAcceleratorParameterSets передать новые значения параметров непосредственно симуляции.

Пример: 'RapidAcceleratorUpToDateCheck','off'

Максимальное время выполнения симуляции в виде положительной скалярной величины. Задайте время, в секундах, чтобы позволить симуляции запускаться. Если при запуске свою модель в течение периода дольше, чем значение TimeOut, программное обеспечение выдает предупреждение и останавливает симуляцию. TimeOut относится ко времени, проведенному для симуляции.

Пример: 'TimeOut',60

Средства трассировки симуляции в виде:

  • 'minstep' указывает, что симуляция останавливается, когда решение изменяется так резко, что решатели переменного шага не могут получить шаг и удовлетворить ошибочным допускам.

  • 'siminfo' предоставляет краткое изложение параметров симуляции в действительности в начале симуляции.

Пример: 'Trace','minstep','Trace','siminfo'

Быстро перезапустите опцию для симуляции в виде 'on'. Быстрый перезапуск позволяет вам выполнять итеративные симуляции, не компилируя модель или отключая симуляцию каждый раз.

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

свернуть все

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

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

Больше о

свернуть все

Обратно совместимый синтаксис

Начиная в R2009b, sim команда была улучшена, чтобы предоставить большей совместимости с параллельными вычислениями. Улучшенный single-output format сохраняет все результаты симуляции в отдельный объект, упрощая управление выходными переменными.

Для совместимости с R2009a или более ранними релизами, используйте этот синтаксис:

[T,X,Y] = sim('model',Timespan, Options, UT)
[T,X,Y1,...,Yn] = sim('model',Timespan, Options, UT)

Если вы задаете только model аргумент, Simulink автоматически экономит время, состояние и выход к заданным выходным аргументам.

Если вы не задаете выходных аргументов, Simulink определяет что данные регистрировать на основе настроек для Configuration Parameters> панель Data Import/Export. Simulink хранит симуляцию выход или в текущей рабочей области или в переменной ans, на основе установки для параметра Save simulation output as a single object.

Обратно совместимые аргументы ввода и вывода синтаксиса
АргументОписание
T

Временной вектор возвращен.

X

Состояние возвращено в формате структуры или матрице. Матрица состояния содержит непрерывные состояния, сопровождаемые дискретными состояниями.

Y

Выходной параметр возвращен в формате структуры или матрице. Для моделей блок-схемы эта переменная содержит все блоки корневого уровня.

Y1..., Yn

Выходные порты, которые могут только быть заданы для моделей схемы. Здесь, n должно быть количество блоков корневого уровня. Каждый выходной порт будет возвращен в Y1..., Yn переменные.

'model'

Имя модели, чтобы симулировать.

Timespan

Промежутком может быть TFinal, [TStart TFinal], или [TStart OutputTimes TFinal]. Выходные времена являются моментами времени, возвращенными в T, но в целом, T включает дополнительные моменты времени.

Options

Дополнительные параметры симуляции, созданные в структуре simset команда с помощью пар "имя-значение".

UT

Дополнительные внешние входные параметры. Для поддерживаемых выражений смотрите Данные о Загрузке к Корневому Уровню Input port.

Simulink требует только model аргумент. Simulink берет все значения по умолчанию из блок-схемы, включая незаданные опции. Если вы задаете какие-либо дополнительные аргументы, ваши заданные настройки заменяют настройки в блок-схеме.

Определение входного параметра sim как пустая матрица, [ ], причины Simulink, чтобы использовать значение по умолчанию для того аргумента.

Советы

  • Параметры задали использование sim переопределение команды значения задано в диалоговом окне Model Configuration Parameters. Программное обеспечение восстанавливает исходные значения настройки в конце симуляции.

  • В случае модели с блоком Model технические требования параметра применяются к топ-модели.

  • При симуляции модели с бесконечным временем остановки, чтобы остановить симуляцию, необходимо нажать Ctrl+C. Ctrl+C повреждает симуляцию, и результаты симуляции не сохранены в рабочем пространстве MATLAB.

  • Чтобы задать отрезок времени для симуляции, необходимо задать StartTime и StopTime параметры.

  • Чтобы регистрировать время модели, состояния или выходные параметры, используют панель Data Import/Export диалогового окна Model Configuration Parameters.

  • Чтобы регистрировать сигналы, или используйте блок To Workspace, такой как блок To Workspace или блок Scope, или используйте Логгирование Сигнала. Для получения дополнительной информации смотрите, что Данные сигнала Экспорта Используют Логгирование Сигнала.

  • Получить список параметров симуляции для модели vdp, в командном окне MATLAB, введите:

    configSet = getActiveConfigSet('vdp')
    configSetNames = get_param(configSet, 'ObjectParameters')  

    Это списки команд несколько параметров объекта, включая параметры симуляции, такие как 'StopTime', 'SaveTime', 'SaveState', 'SaveOutput', и 'SignalLogging'.

Представлено до R2006a