Когда упорядочивание вызова функции достаточно просто быть заданным как образцовый вход, симуляция с помощью входной матрицы является предпочтительным методом для тестирования модели экспорта функций.
Создайте временные векторы, которые задают времена вызова функции.
Создайте матрицу, которая добавляет входные данные во временные векторы.
Запустите симуляцию.
Чтобы создать модель в этом примере, смотрите, Создают Модель Экспорта функций.
Создайте временные векторы, указывающие, когда события будут иметь место для вызова функции корневого уровня блоки Inport и векторы данных для данных корневого уровня блоки Inport.
Для Inport 1 и блоков Inport 2, создайте вектор-столбцы с временными шагами 0.1
и 0.01
. В окне MATLAB Command войти
t1 = [0:0.1:10]' t2 = [0:0.01:10]'
Тип данных временного вектора должен быть двойным и монотонно увеличиться.
Если Шаг расчета для блока Inport вызова функции задан, временной вектор должен быть периодическим рядом, увеличивающимся с заданным значением.
Чтобы задать несколько вызовов функции в установленный срок продвигаются, повторяют временную стоимость соответственно. Например, чтобы задать три события в t = 0,1 и 2 события в t = 0.5, список 0.1 три раза и 0.5 дважды в вашем временном векторе, t = [0.1 0.1 0.1 0.5 0.5]'
.
Если вы хотите использовать апериодический временной вектор, установите блок Inport Sample time на -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
.
Тип шага расчета для внутреннего Триггерного набора Блокировки порта к: | Блок Function-Call Inport корневого уровня с наследованным шагом расчета (-1) | Блок Function-Call Inport корневого уровня с дискретным шагом расчета |
---|---|---|
| Неуменьшение вектор-столбца. Подсистема вызова функций выполняется во времена, заданные вектор-столбцом. Шаги расчета могут быть периодическими или апериодическими. Если вы задаете пустую матрицу ( | Неуменьшение вектор-столбца. Каждый элемент в вектор-столбце должен быть целочисленным кратным шаг расчета, заданный блоком Inport. Подсистема вызова функций выполняется во времена, заданные вектор-столбцом. Также задайте пустую матрицу ( |
| Настройка, не позволенная. | Пустая матрица ( Подсистема вызова функций выполняется во времена, заданные блоком Inport, вызывая его. |
Моделируйте модель экспорта функций, чтобы протестировать и наблюдать ее поведение прежде, чем сгенерировать код.
Импортируйте время и данные из рабочей области MATLAB®. В Configuration Parameters> панель 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
, заданный в блоке 1 Inport.
t1 = [0:0.5:10]'
Повторно выполните симуляцию.
После того, как вы протестируете свою модель, можно сгенерировать код для функций. Смотрите Генерируют Код для Модели Экспорта функций.