Когда секвенирование вызова функции достаточно просто, чтобы быть заданным как вход модели, симуляция с использованием входной матрицы является предпочтительным методом для проверки модели экспорта функций.
Создайте временные векторы, которые задают время вызова функции.
Создайте матрицу, которая добавляет входные данные в временные векторы.
Запустите симуляцию.
Чтобы создать модель в этом примере, см., Создают модель экспорта функций.
Создайте временные векторы, указывающие, когда происходят события для блоков function-call корневого уровня Inport и векторов данных для блоков Inport данных корневого уровня.
Для вызова функции Inport блоках 1
и 2
, создайте векторы-столбцы с временными шагами 0.1
и 0.01
. В MATLAB® Командное окно, введите
t1 = [0:0.1:10]'; t2 = [0:0.01:10]';
Этот временной вектор должен быть монотонно увеличен и иметь двойной тип данных.
Если задан шаг расчета для Inport блока вызова функции, значения в соответствующем временном векторе должны быть целочисленными, кратными заданному значению.
Чтобы задать несколько вызовов функций в установленный временной шаг, повторите значение времени соответственно. Для примера, чтобы задать три события в t = 0,1 и 2 события в t = 0,5, перечислите 0,1 три раза и 0,5 раза в вашем временном векторе, t1 = [0.1 0.1 0.1 0.5 0.5]'
.
Чтобы использовать непериодические шаги расчета, установите Sample time блока Inport равным -1
и обеспечивают неоднородный временной вектор, например t1 = [0, 0.1, 0.2, 0.4, 0.8]
.
Создайте матрицу с временными шагами и значениями данных для данных Inport блочных 3
.
sine_data = sin(0:0.01:10)'; d3 = [t2,sine_data];
В вход данных может использоваться любой поддерживаемый формат, как описано в Формах Входных Данных.
В следующей таблице приведены дополнительные сведения для определения временного вектора t
.
Шаг расчета для внутреннего набора блоков Trigger Port равный: | Function-Call корневого уровня Inport блок с унаследованным шагом расчета (-1) | Function-Call корневого уровня Inport блок с дискретным шагом расчета |
---|---|---|
| Недекретизация вектор-столбец. Выполнение подсистемы вызова функций выполняется в моменты времени, заданные вектором-столбцом. Шаги расчета могут быть периодическим или апериодическим. Если вы задаете пустую матрицу ( | Недекретизация вектор-столбец. Каждый элемент в векторе-столбце должен быть целым числом, кратным шагу расчета, заданному блоком Inport. Выполнение подсистемы вызова функций выполняется в моменты времени, заданные вектором-столбцом. Кроме того, задайте пустую матрицу ( |
| Строение не разрешено | Пустая матрица Подсистема вызова функций выполняется в моменты времени, заданные вызывающим его блоком Inport. |
Симулируйте модель экспорта функций, чтобы протестировать и наблюдать ее поведение перед генерацией кода.
Импортируйте время и данные из рабочего пространства MATLAB.
На вкладке Modeling выберите Model Settings.
В диалоговом окне Параметров конфигурации выберите панель Data Import/Export и установите параметр Input равным t1, t2, d3.
t1
и t2
Векторы-столбцы содержат время события для блоков Inport вызова функции 1
и 2
. d3
- таблица значений входа от времени для блока Inport данных 3
.
Запустите симуляцию.
Постройте график результатов. В Командном Окне MATLAB введите.
plot(yout.time, yout.signals(1).values) hold plot(yout.time, yout.signals(2).values)
Изменение t1
предоставлять события каждый 0.5
секунд (0.5
- целое число, кратное шагу расчета 0.1
задается в Inport блока 1
).
t1 = [0:0.5:10]';
Перезапустите симуляцию.
После тестирования модели можно сгенерировать код для функций. См. «Генерация кода для модели экспорта функций».