exponenta event banner

Векторы и матрицы в диаграммах потока состояний

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

Определение векторных и матричных данных

  1. Добавьте объект данных в диаграмму, как описано в разделе Добавление данных потока состояний.

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

    • Для задания вектора столбца 4 на 1 введите 4.

    • Для задания вектора строки 1 на 4 введите [1 4].

    • Для задания матрицы 3 на 3 введите [3 3].

  3. Задайте свойство Начальное значение для объекта данных. См. раздел Начальное значение.

    • Чтобы задать нулевое значение для всех элементов вектора или матрицы, оставьте начальное значение пустым. Если начальное значение не указано, все элементы инициализируются как 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. Задайте имя, область, базовый тип и другие свойства объекта данных, как описано в разделе Задать свойства данных.

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

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

Векторы и матрицы можно определить на следующих уровнях иерархии Stateflow ®:

  • Чарты

  • Поддиаграммы

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

  • Функции

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

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

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

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

  • Функциональные входы

  • Функциональные выходы

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

  • Действия состояния

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

  • Функции MATLAB ®

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

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

  • Функции Simulink ®

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

Правила для векторов и матриц в диаграммах потока состояний

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

При выполнении элементных операций с векторами или матрицами с неравными размерами при моделировании модели на диаграмме возникает ошибка несоответствия размеров. Дополнительные сведения см. в разделе Поддерживаемые операции для векторов и матриц.

Не определять векторы и матрицы с помощью ml Базовый тип

ml базовый тип поддерживает только скалярные данные. При определении вектора или матрицы с помощью ml базовый тип, диаграмма генерирует ошибку при моделировании модели. Дополнительные сведения см. в разделе Тип данных ml.

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

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

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

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

Связанные темы