exponenta event banner

sim

Моделирование модели Simulink

Описание

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

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

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

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.Input

Этот пример изменяет параметры блока модели с помощью 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 как и в настоящем состоянии, независимо от того, загружен он или нет и имеет некоторые несохраненные изменения.

На панели Импорт/экспорт данных (Data Import/Export) диалогового окна Параметры конфигурации (Configuration Parameters) по умолчанию выбран вывод одного моделирования, поэтому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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

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

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

Параметр для сохранения ошибок в объекте CharchedMetadata, указанном как «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'

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

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

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

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

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

Средства трассировки моделирования, указанные как:

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

  • 'siminfo' содержит краткое описание параметров моделирования, действующих в начале моделирования.

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

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

свернуть все

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

Все выходные данные моделирования (зарегистрированное время, состояния и сигналы) возвращаются в одном Simulink.SimulationOutput объект. С помощью панели Импорт/экспорт данных (Data Import/Export) диалогового окна Параметры конфигурации модели (Model Configuration Parameters) можно выбрать данные для регистрации, такие как время модели, состояния и выходные данные. Можно регистрировать сигналы с помощью таких блоков, как блоки «В рабочую область» и «Область». Дополнительные сведения о регистрации сигналов см. в разделе Регистрация сигналов.

Подробнее

свернуть все

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

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

Для обеспечения совместимости с R2009a или более ранними версиями используйте следующий синтаксис:

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

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

Если выходные аргументы не указаны, Simulink определяет, какие данные следует регистрировать на основе параметров панели «Параметры конфигурации» > «Импорт/экспорт данных». Simulink сохраняет выходные данные моделирования либо в текущей рабочей области, либо в переменной ans на основе параметра Сохранить выходные данные моделирования как один параметр объекта.

Входные и выходные аргументы синтаксиса, совместимого с обратной связью
АргументОписание
T

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

X

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

Y

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

Y1,...,Yn

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

'model'

Имя модели для моделирования.

Timespan

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

Options

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

UT

Дополнительные внешние входы. Поддерживаемые выражения см. в разделе Загрузка данных в порты ввода на корневом уровне.

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

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

Совет

  • Параметры, указанные с помощью sim переопределить значения, определенные в диалоговом окне Параметры конфигурации модели (Model Configuration Parameters). Программа восстанавливает исходные значения конфигурации в конце моделирования.

  • В случае модели с блоком привязки модели спецификации параметров применяются к верхней модели.

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

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

  • Для регистрации времени, состояний или выходных данных модели используйте панель Импорт/экспорт данных (Data Import/Export) диалогового окна Параметры конфигурации модели (Model Configuration Parameters).

  • Для регистрации сигналов используйте блок «В рабочую область», например блок «В рабочую область» или блок «Область», или «Регистрация сигналов». Дополнительные сведения см. в разделе Экспорт данных сигнала с помощью регистрации сигнала.

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

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

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

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