model

Выполните конкретную фазу симуляции модели

Синтаксис

[sys,x0,str,ts] = model([],[],[],'sizes');
[sys,x0,str,ts] = model([],[],[],'compile');
outputs = model(t,x,u,'outputs');
derivs = model(t,x,u,'derivs');
dstates = model(t,x,u,'update');
model([],[],[],'term');

Описание

The model команда выполняет определенную фазу симуляции Simulink® модель, имя которой model. Последний аргумент команды (flag) определяет фазу выполняемой симуляции. Смотрите Фазы симуляции в Динамических Системах для описания шагов, которые программное обеспечение Simulink использует для симуляции модели.

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

  • Все состояния в модели должны быть встроенными типами данных без шины. Для обсуждения встроенных типов данных смотрите О типах данных в Simulink.

  • Если вы используете векторный формат, чтобы задать состояние, эта команда может получить доступ только к несложным состояниям double тип данных.

  • Существует минимальное количество логики состояний (Stateflow, условно выполняемые подсистемы и т.д.)

  • Модели не являются моделями смешанной области. То есть большинство блоков в модели являются встроенными блоками Simulink и не включают записанные пользователем S-функции или блоки из других продуктов Sim *.

Для моделей, которые не соответствуют этим требованиям, использование этой команды может заставить Simulink получить результаты, которые могут быть интерпретированы только путем дальнейшего анализа и упрощения модели.

Примечание

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

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

Аргументы

sys

Вектор данных о размере модели:

  • sys(1) = количество непрерывных состояний

  • sys(2) = количество дискретных состояний

  • sys(3) = количество выходов

  • sys(4) = количество входов

  • sys(5) = зарезервирован

  • sys(6) = прямой флаг (1 = да, 0 = нет)

  • sys(7) = количество непрерывных, дискретных, фиксированных в мелком шаге и управляемых шагов расчета (= количество строк в ts)

x0

Вектор, содержащий начальные условия состояний системы

str

Вектор имен блоков, сопоставленных с состояниями модели. Имена состояний и начальные условия появляются в том же порядке в str и x0, соответственно.

ts

Система координат m-by- 2 матрица, содержащая информацию шага расчета (период, смещение) Непрерывного, Дискретного, Фиксированного на мелком шаге и Управляемых шагов расчета в модели.

Для получения дополнительной информации о шагах расчета в Simulink, смотрите Типы шага расчета.

выходы

Выходы модели в временной шаг t.

derivs

Производные непрерывных состояний модели в то время t.

dstates

Состояния модели в то время t возвращается как структура или массив. Simulink возвращает структуру, когда модель имеет состояния и x либо пустой ([]) или в формате структуры. В противном случае Simulink возвращает массив.

  • Если тип возврата является вектором или массивом, Simulink возвращает только действительные двойные дискретные состояния.

  • Если тип возврата является структурой, Simulink возвращает структуру, которая содержит как непрерывные, так и дискретные состояния только встроенных типов. Не встроенные типы опускаются.

t

Временной шаг, заданный как реальный двойной в скалярном формате.

x

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

u

Входы, заданные как действительные двойные в векторном формате.

флаг

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

  • 'sizes' выполняет фазу расчета размера симуляции. Эта фаза определяет размеры входов модели, выходов, вектора состояния и т.д.

  • 'compile' выполняет фазу компиляции симуляции. Фаза компиляции распространяет атрибуты сигнала и шага расчета.

  • 'update' вычисляет следующие значения дискретных состояний модели.

  • 'outputs' вычисляет выходы блоков модели во время t.

  • 'derivs'вычисляет производные непрерывных состояний модели на временном шаге t.

  • 'term' заставляет программное обеспечение Simulink прекратить симуляцию модели.

Примечание

The output, update, и derivs флаги действительны только для однозадачных моделей. Для получения дополнительной информации о однозадачности и многозадачности смотрите Режимы задачи (Simulink Coder).

Примеры

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

vdp([], [], [], 'compile')

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

vdp([], [], [], 'term')

Примечание

Simulink не позволяет вам закрыть модель во время ее компиляции или симуляции. Для всех фаз, кроме 'sizes' фаза, перед закрытием модели, вы должны вызвать команду модели с 'term' аргумент.

См. также

Введенный в R2007a