sim

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

Описание

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

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

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

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

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

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

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

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

Примеры

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

Симулируйте модель vdp использование параметров конфигурации модели по умолчанию.

simOut = sim('vdp','ReturnWorkspaceOutputs','on')

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

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

Задайте параметры как пары "имя-значение" к sim команда:

simOut = sim('vdp','SimulationMode','accel','AbsTol','1e-5',...
            'SaveState','on','StateSaveName','xoutNew',...
            'SaveOutput','on','OutputSaveName','youtNew')

simOut = 
  Simulink.SimulationOutput:

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

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

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

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

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

paramNameValStruct.SimulationMode = 'accel';
paramNameValStruct.AbsTol         = '1e-5';
paramNameValStruct.SaveState      = 'on';
paramNameValStruct.StateSaveName  = 'xoutNew';
paramNameValStruct.SaveOutput     = 'on';
paramNameValStruct.OutputSaveName = 'youtNew';
simOut = sim('vdp',paramNameValStruct)

simOut = 
  Simulink.SimulationOutput:

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

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

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

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

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

mdl = 'vdp';
load_system(mdl)
simMode = get_param(mdl, 'SimulationMode');
set_param(mdl, 'SimulationMode', 'accel')
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)
set_param(mdl, 'SimulationMode', simMode)

simOut = 
  Simulink.SimulationOutput:


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

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

                

Для получения дополнительной информации смотрите Simulink.ConfigSetRef.

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

свернуть все

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

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

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

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

Набор параметров конфигурации для модели.

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

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

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

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

Пример: simIn = simIn.setBlockParameter('CSTR/Feed Temperature', 'Value', '300'); simIn = simIn.setModelParameter('StartTime', '1'); simIn = simIn.setVariable('FeedTemp0', 320)

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

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

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

sim команда принимает все параметры симуляции как аргументы пары "имя-значение". Смотрите Параметры модели для списка всех параметров симуляции.

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

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

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

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

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

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

(Только быстрый Режим Accelerator), Добавляет этот суффиксный вектор символов к имени файла модели (перед расширением файла) если:

  • Модель содержит блок To File.

  • Вы вызываете sim команда от parfor.

Пример: 'ConcurrencyResolvingToFileSuffix','model'

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

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

Используйте, когда вы включите LoggingToFile пара "имя-значение" для логгирования к персистентному устройству хранения данных. Задайте целевой MAT-файл для регистрации данных.

Совет

Не используйте имя файла от одной локали в различной локали.

Пример: 'LoggingFileName','out.mat'

Сохраните записанные данные, который использует Dataset формат к персистентному устройству хранения данных (MAT-файл).

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

Совет

Чтобы постараться не исчерпывать память, когда доступ хранил данные, можно использовать ссылку, чтобы получить доступ к объекту, хранившему в MAT-файле. Используйте Simulink.SimulationData.DatasetRef возразите, чтобы получить доступ к хранимым данным ссылкой. Используя этот объект загружает логгирование сигнала и данные о состояниях в рабочее пространство модели инкрементно (сигнал сигналом). Доступ к данным для других видов логгирования загрузок все данные целиком.

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

(Только быстрый Режим Accelerator), Возвращает структуру, которая содержит параметры периода выполнения для выполнения Быстрых симуляций Акселератора в parfor.

Пример: 'RapidAcceleratorParameterSets',parameterSet(idx)

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

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

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

Задает рабочую область, в которой можно выполнить выражения MATLAB, заданные в модели. Установка SrcWorkspace не оказывает влияния на модель, на которую ссылаются, которая выполняется в Режиме Accelerator. Установка SrcWorkspace к current в parfor цикл вызывает нарушение прозрачности.

Пример: 'SrcWorkspace','current'

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

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

Включает средства трассировки симуляции (задайте один или несколько как список, разделенный запятыми):

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

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

По умолчанию Simulink выпускает предупреждающее сообщение и продолжает симуляцию.

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

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

свернуть все

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

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

Примечание

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

Больше о

свернуть все

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

Начиная с 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, чтобы использовать значение по умолчанию в том аргументе.

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

Эта команда симулирует Уравнения Ван дер Поля, с помощью vdp модель. Команда использует все параметры по умолчанию.

[t,x,y] = sim('vdp')

Эта команда симулирует Уравнения Ван дер Поля, с помощью значений параметров, сопоставленных с vdp модель.

[t,x,y] = sim('vdp', [0 10]);

Советы

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

  • В случае модели с блоком model reference спецификации параметра применяются к топ-модели.

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

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

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

  • Чтобы регистрировать сигналы, или используйте блок, такой как блок To Workspace или блок Scope, или используйте менеджера по Средствам просмотра и Генераторам, чтобы регистрировать результаты непосредственно.

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

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

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

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