Векторы и матрицы в диаграммах Stateflow

Vectors и matrices объединяют скалярные данные в один, многомерный объект данных. Можно изменять отдельные элементы или выполнять арифметику на целых векторах и матрицах. Для получения дополнительной информации см. «Поддерживаемые операции для векторов и матриц».

Задайте векторные и матричные данные

  1. Добавьте объект данных к графику, как описано в Add Stateflow Data.

  2. Установите свойство Size для объекта данных как размерности вектора или матрицы. См. «Задание размера данных Stateflow». Для примера:

    • Чтобы задать вектор-столбец 4 на 1, введите 4.

    • Чтобы задать вектор-строку 1 на 4, введите [1 4].

    • Чтобы задать матрицу 3 на 3, введите [3 3].

  3. Установите свойство Initial value для объекта данных. См. «Начальное значение».

    • Чтобы задать значение нуля для всех элементов вектора или матрицы, оставьте Initial value пустым. Если вы не задаете начальное значение, все элементы инициализируются равными 0.

    • Чтобы задать одно и то же значение для всех элементов вектора или матрицы, введите скалярное значение. Все элементы инициализированы до заданного вами скалярного значения.

    • Чтобы задать другое значение для каждого элемента вектора или матрицы, введите массив вещественных значений. Для примера:

      • Чтобы инициализировать вектор-столбец 4 на 1, можно ввести [1; 2; 3; 4].

      • Чтобы инициализировать вектор-строку 1 на 4, можно ввести [1 2 3 4].

      • Чтобы инициализировать матрицу 3 на 3, можно ввести [1 2 3; 4 5 6; 7 8 9].

  4. Установите имя, возможности, базовый тип и другие свойства для объекта данных, как описано в Set Data Properties.

Размер и начальное значение вектора или матрицы можно задать с помощью выражения. Выражения могут содержать смесь числовых значений, констант, параметров, переменных, арифметических операций и вызовов функций MATLAB. Для получения дополнительной информации смотрите Задать свойства данных при помощи выражений MATLAB.

Где можно использовать векторы и матрицы

Можно задать векторы и матрицы на этих уровнях Stateflow® иерархия:

  • Чарты

  • Субдиаграммы

  • Государства

  • Функции

Можно использовать векторы и матрицы, чтобы задать:

  • Входные данные

  • Выходные данные

  • Локальные данные

  • Входные параметры функции

  • Выходы функции

Можно также использовать векторы и матрицы в качестве аргументов для:

  • Состояния активности

  • Переходные действия

  • MATLAB® функции

  • Функции таблицы истинности

  • Графические функции

  • Simulink® функции

  • Изменение операторов обнаружения

Правила для векторов и матриц в диаграммах Stateflow

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

Если вы выполняете поэлементные операции с векторами или матрицами с неравными размерностями, график генерирует ошибку несоответствия размера, когда вы моделируете модель. Для получения дополнительной информации см. «Поддерживаемые операции для векторов и матриц».

Не задайте векторы и матрицы с ml Базовый тип

The ml базовый тип поддерживает только скалярные данные. Если вы задаете вектор или матрицу с ml базовый тип, график генерирует ошибку, когда вы моделируете модель. Для получения дополнительной информации см. ml Data Type.

Не используйте комплексные числа, чтобы задать начальные значения векторов и матриц

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

Не используйте векторы и матрицы в операторах временной логики

Поскольку время является скалярной величиной, вы не можете использовать вектор или матрицу в качестве аргумента для временного логического оператора. Для получения дополнительной информации см. «Управление выполнением диаграммы при помощи временной логики».

Похожие темы