exponenta event banner

модель

Выполнение определенной фазы моделирования модели

Синтаксис

[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');

Описание

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около-2 матрица, содержащая информацию о времени выборки (периоде, смещении) непрерывных, дискретных, фиксированных на минорном шаге и контролируемых временах выборки в модели.

Дополнительные сведения о времени выборки в Simulink см. в разделе Типы времени выборки.

продукция

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

derivs

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

dstates

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

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

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

t

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

x

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

u

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

flag

Спецификация выполняемой фазы моделирования:

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

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

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

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

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

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

Примечание

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

Примеры

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

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

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

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

Примечание

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

См. также

Представлен в R2007a