Протестируйте симуляцию модели экспорта функций Используя входную матрицу

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

  • Создайте временные векторы, которые задают времена вызова функции.

  • Создайте матрицу, которая добавляет входные данные во временные векторы.

  • Запустите симуляцию.

Чтобы создать модель в этом примере, смотрите, Создают Модель Экспорта функций.

Создайте входные параметры вызова функции и вводы данных

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

  1. Для 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]

  2. Создайте матрицу с временными шагами и значениями данных для блока Inport 3.

    sine_data = sin(0:0.01:10)'
    d3 =[t2,sine_data]

    Ввод данных может использовать любой поддерживаемый формат как описано в Формах Входных данных.

Следующая таблица предоставляет дополнительную информацию для определения временного вектора t.

Тип шага расчета для внутреннего Триггерного набора Блокировки порта к:

Блок Function-Call Inport корневого уровня с наследованным шагом расчета (-1)

Блок Function-Call Inport корневого уровня с дискретным шагом расчета

Triggered

Неуменьшение вектор-столбца.

Подсистема вызова функций выполняется во времена, заданные вектор-столбцом. Шаги расчета могут быть периодическими или апериодическими.

Если вы задаете пустую матрицу ([]), подсистема вызова функций не выполняется.

Неуменьшение вектор-столбца. Каждый элемент в вектор-столбце должен быть целочисленным кратным шаг расчета, заданный блоком Inport.

Подсистема вызова функций выполняется во времена, заданные вектор-столбцом.

В качестве альтернативы задайте пустую матрицу ([]) и подсистема вызова функций выполняется в каждом шаге расчета, заданном блоком Inport.

Periodic

Настройка, не позволенная.

Пустая матрица ([]).

Подсистема вызова функций выполняется во времена, заданные блоком Inport, вызывая его.

Симулируйте модель экспорта функций

Симулируйте модель экспорта функций, чтобы протестировать и наблюдать ее поведение прежде, чем сгенерировать код.

  1. Импортируйте время и данные из рабочей области MATLAB®.

    На вкладке Modeling и от раздела Setup, выберите Model Settings . В диалоговом окне Configuration Parameters выберите панель Data Import/Export и установите параметр Input на t1, t2, d3.

    t1 и t2 вектор-столбцы, содержащие времена события для вызова функции, Inport блокирует 1 и 2. d3 таблица входных значений по сравнению со временем для блока Inport данных 3.

  2. Запустите симуляцию.

  3. Постройте результаты. В Окне Команды MATLAB войти.

    plot(yout.time, yout.signals(1).values)
    hold
    plot(yout.time, yout.signals(2).values)

  4. Измените t1 предоставлять событиям каждый 0.5 секунды. 0.5 целочисленное кратное 0.1 заданный в блоке 1 Inport.

    t1 = [0:0.5:10]'
  5. Повторно выполните симуляцию.

После того, как вы протестируете свою модель, можно сгенерировать код для функций. Смотрите Генерируют Код для Модели Экспорта функций.

Смотрите также

Блоки

Похожие темы