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

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

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

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

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

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

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

Создайте временные векторы, указывающие, когда события будут иметь место для вызова функции корневого уровня блоки 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. Повторно выполните симуляцию.

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

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

Блоки

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте